Appeler des modèles Azure Machine Learning

Effectué

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}');