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
- Activez et configurez l’extension
azure_ai
. - Créez un espace de travail Machine Learning et déployez un modèle avec un point de terminaison en ligne à l’aide de l’interface CLI, de Python ou d’Azure Machine Learning studio ou déployez un modèle mlflow sur un point de terminaison en ligne.
- Assurez-vous de l’état du déploiement pour vous assurer que le modèle a été déployé correctement et testez le modèle appelant le point de terminaison pour vous assurer que le modèle s’exécute correctement.
- Obtenez l’URI et la clé, qui sont nécessaires pour configurer l’extension afin de communiquer avec Azure Machine Learning.
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' )