Partilhar via


Integrar o Banco de Dados do Azure para PostgreSQL com os Serviços de Aprendizado de Máquina do Azure

A extensão de IA do Azure oferece a capacidade de invocar quaisquer modelos de aprendizado de máquina implantados em pontos de extremidade online do Azure Machine Learning a partir do SQL. Esses modelos podem ser do catálogo do Azure Machine Learning ou modelos personalizados treinados e implantados.

Pré-requisitos

  • Habilite e configure a azure_ai extensão.
  • Crie um espaço de trabalho de aprendizado de máquina e implante um modelo com um ponto de extremidade online usando CLI, Python ou o estúdio Azure Machine Learning ou implante um modelo mlflow em um ponto de extremidade online.
  • Certifique-se de que o status da implantação para garantir que o modelo foi implantado com êxito e teste o modelo invocando o ponto de extremidade para garantir que o modelo seja executado com êxito.
  • Obtenha o URI e a Chave, que são necessários para configurar a extensão para se comunicar com o Azure Machine Learning.

Nota

Você pode explorar exemplos do Azure Machine Learning.

Configurar o ponto de extremidade do Azure Machine Learning

No estúdio do Azure Machine Learning, em Pontos de Extremidade>: Escolha seu ponto de extremidade Consumir, você pode encontrar o URI do ponto de extremidade>e a Chave para o ponto de extremidade online. Use esses valores para configurar a azure_ai extensão para usar o ponto de extremidade de inferência online.

select azure_ai.set_setting('azure_ml.scoring_endpoint','<URI>');
select azure_ai.set_setting('azure_ml.endpoint_key', '<Key>');

azure_ml.invoke

Pontua os dados de entrada invocando uma implantação de modelo do Azure Machine Learning em um ponto de extremidade online.

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 contendo a carga útil da solicitação para o modelo.

deployment_name

text nome da implantação correspondente ao modelo implantado no ponto de extremidade de inferência online do Azure Machine Learning

timeout_ms

integer DEFAULT NULL tempo limite em milissegundos após o qual a operação é interrompida. A implantação de um modelo em si pode ter um tempo limite especificado que é um valor menor do que o parâmetro de tempo limite na função definida pelo usuário. Se esse tempo limite for excedido, a operação de pontuação falhará.

throw_on_error

boolean DEFAULT true em erro, se a função lançar uma exceção, resultando em uma reversão de transações de encapsulamento.

max_attempts

integer DEFAULT 1 número de vezes que a extensão tenta chamar novamente o ponto de extremidade do Azure Machine Learning se ele falhar com qualquer erro tentável.

retry_delay_ms

integer DEFAULT 1000 quantidade de tempo (milissegundos) que a extensão aguarda, antes de chamar o ponto de extremidade do Azure Machine Learning, quando ele falha com qualquer erro tentável.

Tipo de retorno

jsonb saída de pontuação para o modelo que foi invocado em JSONB.

Exemplos

Invoque o modelo de aprendizado de máquina

Isso chama o modelo com o input_data e retorna uma 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' )