Examinar o esquema do Microsoft Azure Machine Learning
O esquema azure_ml
da extensão azure_ai
permite que seu banco de dados interaja com os recursos de modelos de machine-learning personalizados. Ao utilizar o esquema azure_ml
, você pode integrar seu banco de dados PostgreSQL aos serviços do Azure Machine Learning com tranquilidade. 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
Azure Machine Learning é uma plataforma baseada em nuvem que simplifica os fluxos de trabalho de machine learning de ponta a ponta. No Azure Machine Learning, os modelos são desenvolvidos usando estruturas populares como o PyTorch e o TensorFlow. Depois de treinados, esses modelos são implantados como pontos de extremidade, URLs estáveis nas quais as previsões podem ser solicitadas.
Com os pontos de extremidade online fornecendo inferência em tempo real, o Azure Machine Learning integrado à extensão azure_ai
deixa você equipado para fazer previsões corretas diretamente do seu 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 |
---|---|---|---|
input_data | jsonb |
Um objeto JSON que contém o objeto input_data necessário para interagir com modelos do Azure Machine Learning. |
|
deployment_name | text |
NULL::text |
(Opcional) Nome da implantação de um modelo destinada a um ponto de extremidade específico do Azure Machine Learning. |
timeout_ms | integer |
NULL::integer |
O tempo limite... |
throw_on_error | boolean |
true |
desc... |
max_attempts | integer |
1 |
Número de novas tentativas de chamar o serviço Azure OpenAI em caso de falha. |
retry_delay_ms | integer |
1000 |
Tempo, em milissegundos, para aguardar antes de tentar chamar novamente o ponto de extremidade de serviço do Azure OpenAI. |
Os pontos de extremidade de inferência do Azure Machine Learning esperam um objeto JavaScript Object Notation (JSON) como entrada de dados. 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 temporada na área de Seattle, Washington, levando em conta informações específicas como o bairro, o CEP, número de quartos, número de banheiros e muito mais, teria o seguinte formato:
{
"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 esperada para o objeto da entrada pode ser recuperada examinando-se 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 de azure_ml.scoring_endpoint
é o ponto de extremidade REST do modelo implantado. O valor de 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}');