Appeler des modèles Azure Machine Learning
Le schéma azure_ml
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 évolutive.
Inférence en temps réel avec le schéma azure_ml
Lorsque vous utilisez l’extension azure_ai
, le schéma azure_ml
fournit une fonction permettant d’effectuer une inférence en temps réel directement à partir de la 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 | Default | Description |
---|---|---|---|
input | jsonb |
Objet JSON contenant l’objet input_data requis pour interagir avec les modèles Azure Machine Learning. |
|
timeout_ms | integer |
NULL::integer |
Délai d’expiration... |
throw_on_error | boolean |
true |
desc... |
deployment_name | text |
NULL::text |
(Facultatif) Nom du modèle de déploiement à cibler sur le point de terminaison Azure Machine Learning spécifié. |
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 des logements loués à court terme dans la région de Seattle, en fonction d'entrées spécifiques telles que le quartier, le code postal, le nombre de chambres et le nombre de salles de bain, 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}');