Invocación de modelos de Azure Machine Learning

Completado

El esquema azure_ml permite que la base de datos interactúe con las funcionalidades de los modelos de Machine Learning creados de forma personalizada. Mediante el uso del esquema azure_ml, puede integrar sin problemas la base de datos PostgreSQL con Azure Machine Learning Services. Esta integración le permite implementar y entregar modelos de Machine Learning directamente desde la base de datos, lo que hace que la inferencia en tiempo real sea eficaz y escalable.

Inferencia en tiempo real con el esquema azure_ml

Cuando se usa la extensión azure_ai, el esquema azure_ml proporciona una función para realizar la inferencia en tiempo real directamente desde la base de datos. La función inference de este esquema está diseñada para facilitar la realización de predicciones o la generación de salidas mediante un modelo entrenado de Azure Machine Learning. Al implementar un modelo, la función de inferencia permite invocar el modelo y obtener predicciones sobre nuevos datos.

azure_ml.inference(jsonb,integer,boolean,text)

La función inference() espera los siguientes parámetros de entrada:

Parámetro Tipo Valor predeterminado Descripción
input jsonb Objeto JSON que contiene el objeto input_data necesario para interactuar con los modelos de Azure Machine Learning.
timeout_ms integer NULL::integer Tiempo de espera...
throw_on_error boolean true desc...
deployment_name text NULL::text (Opcional) Nombre de la implementación de modelo que se va a establecer como destino en el punto de conexión de Azure Machine Learning especificado.

Los puntos de conexión de inferencia de Azure Machine Learning esperan un objeto en notación de objetos JavaScript (JSON) como entrada. Sin embargo, la estructura de este objeto depende del modelo subyacente. Por ejemplo, un modelo de regresión entrenado para predecir los precios diarios de alquiler para alquileres de viviendas a corto plazo en el área de Seattle, dadas entradas específicas como el vecindario, el código postal, el número de dormitorios y el número de baños, tiene la siguiente forma:

{
  "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 estructura esperada de los objetos de entrada se puede recuperar examinando la definición de Swagger asociada al punto de conexión implementado. Esta definición especifica las estructuras ServiceInput y ServiceOutput, que puede usar para determinar las entradas y salidas.

Configuración de una conexión a Azure Machine Learning

Antes de usar la función azure_ml.inference() para realizar la inferencia en tiempo real, debe configurar la extensión con la clave y el punto de conexión de puntuación de Azure Machine Learning. El valor de azure_ml.scoring_endpoint es el punto de conexión REST del modelo implementado. El valor de azure_ml.endpoint_key puede ser la clave principal o secundaria de este punto de conexión.

SELECT azure_ai.set_setting('azure_ml.scoring_endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_ml.endpoint_key','{api-key}');