Invocar modelos do Azure Machine Learning

Concluído

O esquema azure_ml permite que seu banco de dados interaja com os recursos de modelos de aprendizado de máquina personalizados. Ao utilizar o esquema azure_ml, você pode integrar perfeitamente seu banco de dados PostgreSQL com os serviços do Azure Machine Learning. Essa integração permite que você implante e forneça modelos de aprendizado de máquina diretamente do seu banco de dados, tornando a inferência em tempo real eficiente e escalá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 fazer previsões ou gerar 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 novos dados.

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

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

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

Os pontos de extremidade de inferência do Aprendizado de Máquina do Azure esperam um objeto JSON (JavaScript Object Notation) como entrada. No entanto, a estrutura deste objeto depende do modelo subjacente. Por exemplo, um modelo de regressão treinado para prever preços diários de aluguel de imóveis de curto prazo na área de Seattle, dados dados informações específicas como o bairro, CEP, número de quartos e 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 de Swagger associada ao seu ponto de extremidade implantado. Esta 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 inferência em tempo real, você deve configurar a extensão com seu ponto de extremidade e chave de pontuação do Azure Machine Learning. O valor para azure_ml.scoring_endpoint é o ponto de extremidade REST para seu modelo implantado. O valor para azure_ml.endpoint_key pode ser a chave primária ou secundária para este ponto de extremidade.

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