Compartir a través de


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

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