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
- Habilitar e configurar a extensão
azure_ai
. - Crie um workspace de aprendizado de máquina e implante um modelo com um ponto de extremidade online usando CLI, Python ou Estúdio do Azure Machine Learning ou implante um modelo do mlflow em um ponto de extremidade online.
- Verifique 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.
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' )