Examiner le schéma Azure Machine Learning
Le schéma azure_ml
de l’extension azure_ai
permet à votre base de données d’interagir avec les fonctionnalités des modèles Machine Learning personnalisés. En utilisant le schéma azure_ml
, vous pouvez intégrer en toute transparence votre base de données PostgreSQL aux services Azure Machine Learning. Cette intégration vous permet de déployer et de servir des modèles Machine Learning directement à partir de votre base de données, ce qui rend l’inférence en temps réel efficace et évolutif.
Inférence en temps réel avec le schéma azure_ml
Azure Machine Learning est une plateforme cloud qui simplifie les flux de travail Machine Learning de bout en bout. Dans Azure Machine Learning, les modèles sont développés à l’aide de frameworks populaires comme PyTorch et TensorFlow. Une fois formés, ces modèles sont déployés en tant que points de terminaison, URL stables où les prédictions peuvent être demandées.
Avec les points de terminaison en ligne fournissant une inférence en temps réel, Azure Machine Learning intégré à l’extension azure_ai
vous permet d’effectuer des prédictions précises directement à partir de votre base de données. La fonction inference
au sein de ce schéma est conçue pour faciliter la création de prédictions ou la génération de sorties à l’aide d’un modèle entraîné à partir d’Azure Machine Learning. Lorsque vous déployez un modèle, la fonction d’inférence vous permet d’appeler le modèle et d’obtenir des prédictions sur de nouvelles données.
azure_ml.inference(jsonb,integer,boolean,text)
La fonction inference()
attend les paramètres d’entrée suivants :
Paramètre | Type | Faire défaut | Description |
---|---|---|---|
input_data | jsonb |
Objet JSON contenant l’objet input_data requis pour interagir avec les modèles Azure Machine Learning. |
|
deployment_name | text |
NULL::text |
(Facultatif) Nom du déploiement du modèle à cibler sur le point de terminaison Azure Machine Learning spécifié. |
timeout_ms | integer |
NULL::integer |
Définit la durée maximale (en millisecondes) d’attente d’une opération d’inférence avant d’expirer. |
throw_on_error | boolean |
true |
Détermine s’il faut lever une erreur si l’opération d’inférence rencontre un problème. |
max_attempts | integer |
1 |
Nombre de fois où réessayer l’appel au service Azure OpenAI en cas de défaillance. |
retry_delay_ms | integer |
1000 |
Durée, en millisecondes, d’attente avant de tenter de réessayer d’appeler le point de terminaison de service Azure OpenAI. |
Les points de terminaison d’inférence Azure Machine Learning s’attendent à ce qu’un objet JSON (JavaScript Object Notation) soit entré. Toutefois, la structure de cet objet dépend du modèle sous-jacent. Par exemple, un modèle de régression formé pour prédire les prix de location quotidiens de logements à court terme dans la région de Seattle, Washington, en fonction d’entrées spécifiques comme le quartier, le code postal, le nombre de chambres, le nombre de salles de bains, etc. a la forme suivante :
{
"input_data": {
"columns": [
"host_is_superhost",
"host_has_profile_pic",
"host_identity_verified",
"neighbourhood_group_cleansed",
"zipcode",
"property_type",
"room_type",
"accommodates",
"bathrooms",
"bedrooms",
"beds"
],
"index": [0],
"data": [["False", "False", "False", "Central Area", "98122", "House", "Entire home/apt", 4, 1.5, 3, 3]]
}
}
La structure d’objet d’entrée attendue peut être récupérée en examinant la définition Swagger associée à votre point de terminaison déployé. Cette définition spécifie les structures ServiceInput
et ServiceOutput
, que vous pouvez utiliser pour déterminer vos entrées et sorties.
Configurer une connexion à Azure Machine Learning
Avant d’utiliser la fonction azure_ml.inference()
pour effectuer une inférence en temps réel, vous devez configurer l’extension avec votre point de terminaison et votre clé de scoring Azure Machine Learning. La valeur de azure_ml.scoring_endpoint
est le point de terminaison REST de votre modèle déployé. La valeur de azure_ml.endpoint_key
peut être la clé primaire ou secondaire de ce point de terminaison.
SELECT azure_ai.set_setting('azure_ml.scoring_endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_ml.endpoint_key', '{api-key}');