"Extensão "azure_ai" no Banco de Dados do Azure para PostgreSQL"

A extensão azure_ai no Banco de Dados do Azure para PostgreSQL permite o uso no banco de dados de LLMs (grandes modelos de linguagem) para criar aplicativos de IA generativos. Ele permite que o banco de dados chame OpenAI do Azure em modelos do Microsoft Foundry, Serviço OpenAI do Azure, Serviços Cognitivos do Azure (Linguagem do Azure no Foundry Tools) e Serviços do Azure Machine Learning, simplificando o desenvolvimento via integração perfeita com esses serviços.

Habilite a extensão azure_ai

Antes de usar a extensão azure_ai, você precisa adicioná-la à lista de permissões e depois instalá-la em sua instância de Banco de Dados do Azure para PostgreSQL. Siga as etapas abaixo para começar.

Lista de extensões permitidas

Adicione azure_ai à lista de permitidos do servidor flexível do Banco de Dados do Azure para PostgreSQL, conforme descrito em como usar extensões do PostgreSQL. Verifique se ele foi adicionado corretamente executando a SHOW azure.extensions; consulta.

Instalar a extensão

Conecte-se ao banco de dados e execute o CREATE EXTENSION comando:

CREATE EXTENSION IF NOT EXISTS azure_ai;

Repita esse comando para cada banco de dados em que a extensão é necessária.

Quando você instala azure_ai, ele cria os seguintes esquemas:

  • azure_ai: esquema principal para configuração e funções relacionadas
  • azure_openai: funções e tipos para o OpenAI do Azure em Modelos do Foundry e modelos OpenAI no Microsoft Foundry
  • azure_cognitive: funções e tipos para Serviços Cognitivos do Azure (Linguagem do Azure no Foundry Tools)
  • azure_ml: funções e tipos para serviços de Azure Machine Learning

Dica

Talvez você também queira habilitar o Habilitar e usar o pgvector em Banco de Dados do Azure para PostgreSQL, já que é comumente utilizado com azure_ai.

Observação

Para remover a extensão do banco de dados atual, execute DROP EXTENSION azure_ai;.

Configure a extensão azure_ai

Para configurar a extensão, forneça pontos de extremidade e detalhes de autenticação (chave de API ou Identidade Gerenciada) para os serviços de IA e machine learning Azure que você deseja usar. Use a azure_ai.set_setting função de configuração com várias chaves de configuração para armazenar esses valores.

Permissions

A extensão define um papel azure_ai_settings_manager que concede permissão para ler e gravar configurações usando as funções azure_ai.set_getting e azure_ai.set_setting. Apenas superusuários e membros dessa função podem chamar essas funções. No servidor flexível do Banco de Dados do Azure para PostgreSQL, a função azure_pg_admin concede essa função por padrão.

Funções de configuração

azure_ai_set_setting

Define a configuração de IA + machine learning.

Uso:

-- Syntax
azure_ai.set_setting(key TEXT, value TEXT)

-- Usage example: Set the Endpoint and an API Key for Azure OpenAI
select azure_ai.set_setting('azure_openai.endpoint','https://<endpoint>.openai.azure.com');
select azure_ai.set_setting('azure_openai.subscription_key', '<API Key>');

Lista de valores e chaves de configuração com suporte:

key value
azure_openai.endpoint Endpoint OpenAI com suporte (por exemplo, https://example.openai.azure.com).
azure_openai.auth_type subscription-key ou managed-identity
azure_openai.subscription_key Uma chave de assinatura para um recurso openai.
azure_cognitive.endpoint Ponto de extremidade de Serviços Cognitivos com suporte (por exemplo, https://example.cognitiveservices.azure.com)
azure_cognitive.auth_type subscription-key ou managed-identity
azure_cognitive.subscription_key Uma chave de assinatura para um recurso dos Serviços Cognitivos.
azure_ml.scoring_endpoint URI do ponto de extremidade online do Machine Learning com suporte.
azure_ml.auth_type subscription-key ou managed-identity
azure_ml.endpoint_key Uma chave de endpoint para um endpoint do Azure ML.

azure_ai.get_setting

Obtém valores de configuração atuais para um determinado key (consulte as chaves com suporte na lista acima). Retorna TEXT representando o valor atual da configuração selecionada.

Uso:

-- Syntax
azure_ai.get_setting(key TEXT)

-- Usage example: Get the Endpoint and API Key for Azure OpenAI
select azure_ai.get_setting('azure_openai.endpoint');
select azure_ai.get_setting('azure_openai.subscription_key');

azure_ai.version

Retorna TEXT representando a versão atual da azure_ai extensão.

Uso:

SELECT azure_ai.version()

Habilitar a autenticação de identidade gerenciada

A extensão azure_ai para Banco de Dados do Azure para PostgreSQL dá suporte à SAMI (identidade gerenciada) atribuída pelo sistema, que oferece benefícios de segurança aprimorados. Usando Microsoft Entra ID, você pode autenticar sem chaves de acesso, reduzindo o risco de acesso não autorizado e simplificando o gerenciamento de credenciais.

Para habilitar a autenticação de identidade gerenciada, consulte este guia de instruções.

Funcionalidades da azure_ai extensão

Funções de IA

A extensão azure_ai permite chamadas no banco de dados para modelos hospedados no Foundry e Azure OpenAI por meio das seguintes funções AI (versão prévia):

Recursos adicionais

A extensão também dá suporte à invocação

Atualizar a extensão de Inteligência Artificial e aprendizado de máquina

Para verificar a versão instalada e as atualizações disponíveis, execute:

SELECT * FROM pg_available_extensions
WHERE name = 'azure_ai'

Para atualizar a extensão para a versão mais recente com suporte, execute:

ALTER EXTENSION azure_ai UPDATE;