Partager via


Intégrer Azure Database pour PostgreSQL à Azure Machine Learning Services

L’extension Azure AI permet d’appeler tous les modèles Machine Learning déployés sur des points de terminaison en ligne Azure Machine Learning à partir de SQL. Ces modèles peuvent provenir du catalogue Azure Machine Learning ou de modèles personnalisés entraînés et déployés.

Prérequis

Remarque

Vous pouvez explorer Azure Machine Learning avec des exemples.

Configurer le point de terminaison Azure Machine Learning

Dans Azure Machine Learning studio, sous points de terminaison>Choisir votre point de terminaison>Consommer, vous pouvez trouver l’URI et la clé du point de terminaison en ligne. Utilisez ces valeurs pour configurer l’extension azure_ai afin d’utiliser le point de terminaison d’inférence en ligne.

select azure_ai.set_setting('azure_ml.scoring_endpoint','<URI>');
select azure_ai.set_setting('azure_ml.endpoint_key', '<Key>');

azure_ml.invoke

Effectue le scoring des données d’entrée appelant un déploiement de modèle Azure Machine Learning sur un point de terminaison en ligne.

azure_ml.invoke(input_data jsonb, timeout_ms integer DEFAULT NULL, throw_on_error boolean DEFAULT true, deployment_name text DEFAULT NULL)

Arguments

input_data

jsonb json contenant la charge utile de requête pour le modèle.

deployment_name

text nom du déploiement correspondant au modèle déployé sur le point de terminaison d’inférence en ligne Azure Machine Learning

timeout_ms

Délai d’expiration de integer DEFAULT NULL en millisecondes après lequel l’opération est arrêtée. Le déploiement d’un modèle lui-même peut avoir un délai d’expiration spécifié dont la valeur est inférieure au paramètre de délai d’expiration dans la fonction définie par l’utilisateur. Si ce délai d’expiration est dépassé, l’opération de scoring échoue.

throw_on_error

boolean DEFAULT true sur l’erreur si la fonction doit lever une exception entraînant une restauration des transactions d’enveloppement.

max_attempts

Nombre integer DEFAULT 1 de tentatives d’appel de l’extension vers le point de terminaison Azure Machine Learning s’il échoue avec une erreur nouvelle tentative possible.

retry_delay_ms

integer DEFAULT 1000 Durée (en millisecondes) d’attente pour l’extension avant d’appeler le point de terminaison Azure Machine Learning, en cas d’échec causé par une quelconque erreur nouvelle tentative possible.

Type renvoyé

jsonb sortie de scoring pour le modèle appelé dans JSONB.

Exemples

Appeler le modèle Machine Learning

Cela appelle le modèle avec le input_data et retourne une charge utile jsonb.

-- Invoke model, input data depends on the model.
  SELECT * FROM azure_ml.invoke('
  {
    "input_data": [
      [1,2,3,4,5,6,7,8],
      [-1,-2,-3,-4,-5,-6,-7,-8]
    ],
    "params": {}
  }', deployment_name=>'Housingprediction' )

-- Get JSON elements from model output
SELECT jsonb_array_elements(invoke.invoke) as MedianHousePrediction
FROM azure_ml.invoke('
{
  "input_data": [
    [1,2,3,4,5,6,7,8],
    [-1,-2,-3,-4,-5,-6,-7,-8]
  ],
 "params": {}
}', deployment_name=>'Housingprediction' )