Integración de Azure Database for PostgreSQL con Azure Machine Learning Services
La extensión de Azure AI ofrece la capacidad de invocar cualquier modelo de Machine Learning implementado en puntos de conexión en línea de Azure Machine Learning desde SQL. Estos modelos pueden ser del catálogo de Azure Machine Learning o de modelos personalizados que se entrenan e implementan.
Requisitos previos
- Habilitar y configurar la extensión
azure_ai
. - Cree un área de trabajo de aprendizaje automático e implemente un modelo con un punto de conexión en línea mediante la CLI, Python o Estudio de Azure Machine Learning o implemente un modelo de MLflow en un punto de conexión en línea.
- Asegúrese del estado de la implementación para asegurarse de que el modelo se implementó correctamente y pruebe el modelo invocando el punto de conexión para asegurarse de que el modelo se ejecuta correctamente.
- Obtenga el URI y la clave, que son necesarios para configurar la extensión para comunicarse con Azure Machine Learning.
Nota:
Puede explorar ejemplos de Azure Machine Learning.
Configurar un punto de conexión de Azure Machine Learning
En Estudio de Azure Machine Learning, en Puntos de conexión>Elegir el punto de conexión>Consumir, puede encontrar el URI y la clave del punto de conexión en línea. Use estos valores para configurar la extensión azure_ai
para usar el punto de conexión de inferencia en línea.
select azure_ai.set_setting('azure_ml.scoring_endpoint','<URI>');
select azure_ai.set_setting('azure_ml.endpoint_key', '<Key>');
azure_ml.invoke
Puntúa los datos de entrada invocando una implementación de modelo de Azure Machine Learning en un punto de conexión en línea.
azure_ml.invoke(input_data jsonb, timeout_ms integer DEFAULT NULL, throw_on_error boolean DEFAULT true, deployment_name text DEFAULT NULL)
Argumentos
input_data
jsonb
json que contiene la carga de solicitud para el modelo.
deployment_name
text
nombre de la implementación correspondiente al modelo implementado en el punto de conexión de inferencia en línea de Azure Machine Learning
timeout_ms
integer DEFAULT NULL
tiempo de espera en milisegundos después del cual se detiene la operación. La implementación de un modelo en sí puede tener un tiempo de espera especificado que es un valor inferior al parámetro de tiempo de espera de la función definida por el usuario. Si se supera este tiempo de espera, se producirá un error en la operación de puntuación.
throw_on_error
boolean DEFAULT true
en caso de error, la función debe producir una excepción, lo que da lugar a una reversión de las transacciones de ajuste.
max_attempts
integer DEFAULT 1
número de veces que la extensión vuelve a intentar llamar al punto de conexión de Azure Machine Learning si se produce un error reintentos.
retry_delay_ms
integer DEFAULT 1000
cantidad de tiempo (milisegundos) que espera la extensión, antes de llamar al punto de conexión de Azure Machine Learning, cuando se produce un error reintentos.
Tipo de valor devuelto
jsonb
salida de puntuación para el modelo que se invocó en JSONB.
Ejemplos
Invocar el modelo de Machine Learning
Esto llama al modelo con el input_data y devuelve una carga 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' )