Invocar modelos do Azure Machine Learning

Concluído

O esquema azure_ml capacita seu banco de dados a interagir com os recursos de modelos de machine learning personalizados. Ao utilizar o esquema azure_ml, você pode integrar perfeitamente seu banco de dados PostgreSQL aos serviços do Azure Machine Learning. Essa integração permite que você implante e distribua modelos de machine learning diretamente do seu banco de dados, tornando a inferência em tempo real eficiente e ampliável.

Inferência em tempo real com o esquema azure_ml

Quando você usa a extensão azure_ai, o esquema azure_ml fornece uma função para executar inferência em tempo real diretamente do banco de dados. A função inference dentro desse esquema foi projetada para facilitar a criação de previsões ou geração de saídas usando um modelo treinado do Azure Machine Learning. Quando você implanta um modelo, a função de inferência permite que você invoque o modelo e obtenha previsões sobre os novos dados.

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

A função inference() espera os seguintes parâmetros de entrada:

Parâmetro Tipo Padrão Descrição
entrada jsonb Um objeto JSON que contém o objeto input_data necessário para interagir com modelos do Azure Machine Learning.
tempo_de_espera_ms integer NULL::integer O tempo limite...
throw_on_error boolean true decr...
deployment_name text NULL::text (Opcional) Nome da implantação do modelo a ser direcionada no ponto de extremidade do Azure Machine Learning especificado.

Os pontos de extremidade de inferência do Azure Machine Learning esperam um objeto JSON (JavaScript Object Notation) como entrada. No entanto, a estrutura desse objeto depende do modelo subjacente. Por exemplo, um modelo de regressão treinado para prever os preços diários de aluguel de imóveis de curto prazo na área de Seattle, considerando entradas específicas como o bairro, o CEP, o número de quartos e o número de banheiros, tem a seguinte 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]]
  }
}

A estrutura de objeto de entrada esperada pode ser recuperada examinando a definição do Swagger associada ao ponto de extremidade implantado. Essa definição especifica as estruturas ServiceInput e ServiceOutput, que você pode usar para determinar suas entradas e saídas.

Configurar uma conexão com o Azure Machine Learning

Antes de usar a função azure_ml.inference() para executar a inferência em tempo real, você precisa configurar a extensão com seu ponto de extremidade e chave da pontuação do Azure Machine Learning. O valor para azure_ml.scoring_endpoint é o ponto de extremidade REST do modelo implantado. O valor para azure_ml.endpoint_key pode ser a chave primária ou secundária para esse ponto de extremidade.

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