Compartilhar via


Integrar o Banco de Dados do Azure para PostgreSQL aos Serviços de Machine Learning do Azure

A extensão de IA do Azure oferece a capacidade de invocar todos os modelos de machine learning implantados em pontos de extremidade do Azure Machine Learning de dentro do SQL. Esses modelos podem ser do catálogo do Azure Machine Learning ou modelos personalizados treinados e implantados.

Pré-requisitos

Observação

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>Escolher seu ponto de extremidade>Consumir você pode encontrar o URI e a chave do ponto de extremidade para o ponto de extremidade. Use esses valores para configurar a extensão azure_ai 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.

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 contém o conteúdo 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 tem 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 caso de erro, a função gerar uma exceção resultando em uma reversão das 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 falhar com qualquer erro passível de nova tentativa.

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 falhar com qualquer erro passível de nova tentativa.

Tipo de retorno

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

Exemplos

Invocar o modelo de machine learning

Isso chama o modelo com o input_data e retorna um conteúdo 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' )