Extensão de IA do Azure no Banco de Dados do Azure para PostgreSQL – Servidor Flexível
APLICA-SE A: Banco de dados do Azure para PostgreSQL – Servidor Flexível
A extensão de servidor flexível do Banco de Dados do Azure para PostgreSQL para IA do Azure permite usar os LLMS (modelos de linguagem grandes) e criar aplicativos avançados de IA gerador dentro do banco de dados. A extensão de IA do Azure permite que o banco de dados chame vários serviços de IA do Azure, incluindo o Azure OpenAI e os Serviços Cognitivos do Azure, simplificando o processo de desenvolvimento, permitindo integração perfeita a esses serviços.
Habilitar a extensão azure_ai
Antes de habilitar azure_ai
na instância do servidor flexível do Banco de Dados do Azure para PostgreSQL, você precisa adicioná-la à lista de permitidos, conforme descrito em como usar extensões do PostgreSQL e verificar se foi ela adicionada corretamente executando SHOW azure.extensions;
.
Dica
Talvez você também queira habilitar a pgvector
extensão, pois ela é comumente usada com azure_ai
.
Em seguida, instale a extensão conectando-se ao banco de dados de destino e executando o comando CREATE EXTENSION. Você precisará repetir o comando separadamente para cada banco de dados no qual deseja que a extensão fique disponível.
CREATE EXTENSION azure_ai;
Observação
Para remover a extensão do banco de dados conectado no momento, use DROP EXTENSION azure_ai;
.
A instalação da extensão azure_ai
cria os três esquemas a seguir:
azure_ai
: esquema principal, em que reside a tabela de configuração e funciona para interagir com ela.azure_openai
: funções e tipos de composição relacionados ao OpenAI.azure_cognitive
: funções e tipos de composição relacionados aos Serviços Cognitivos.
A extensão também permite chamar o Azure OpenAI e os Serviços Cognitivos do Azure.
Configurar a extensão azure_ai
Configurar a extensão exige que você forneça os pontos de extremidade para se conectar aos serviços de IA do Azure e às chaves de API necessárias para autenticação. As configurações de serviço são armazenadas usando as seguintes funções:
Permissões
Suas chaves de acesso à IA do Azure são semelhantes a uma senha raiz para sua conta. Sempre tenha cuidado para proteger as suas chaves de acesso. Utilize o Azure Key Vault para gerenciar e girar suas chaves com segurança.
Para gerenciar as chaves de serviço usadas pela extensão, os usuários exigem a função azure_ai_settings_manager
concedida a eles. As seguintes funções exigem a função:
- azure_ai.set_setting
- azure_ai.get_setting
Por padrão, a função azure_ai_settings_manager
é concedida à função azure_pg_admin
.
azure_ai.set_setting
Usado para definir as opções de configuração.
azure_ai.set_setting(key TEXT, value TEXT)
Argumentos
key
Nome de uma opção de configuração. Os valores válidos para key
são:
azure_openai.endpoint
: ponto de extremidade OpenAI com suporte (por exemplo,https://example.openai.azure.com
).azure_openai.subscription_key
: uma chave de assinatura para um recurso OpenAI.azure_cognitive.endpoint
: ponto de extremidade dos Serviços Cognitivos com suporte (por exemplo,https://example.cognitiveservices.azure.com
).azure_cognitive.subscription_key
: uma chave de assinatura para um recurso dos Serviços Cognitivos.
value
TEXT
representando o valor desejado da configuração selecionada.
azure_ai.get_setting
Usado para obter valores atuais de opções de configuração.
azure_ai.get_setting(key TEXT)
Argumentos
Chave
Nome de uma opção de configuração. Os valores válidos para key
são:
azure_openai.endpoint
: ponto de extremidade OpenAI com suporte (por exemplo,https://example.openai.azure.com
).azure_openai.subscription_key
: uma chave de assinatura para um recurso OpenAI.azure_cognitive.endpoint
: ponto de extremidade dos Serviços Cognitivos com suporte (por exemplo,https://example.cognitiveservices.azure.com
).azure_cognitive.subscription_key
: uma chave de assinatura para um recurso dos Serviços Cognitivos.
Tipo de retorno
TEXT
representando o valor atual da configuração selecionada.
azure_ai.version
azure_ai.version()
Tipo de retorno
TEXT
representando a versão atual da extensão de IA do Azure.
Exemplos
Definir o ponto de extremidade e uma chave de API do OpenAI do Azure
select azure_ai.set_setting('azure_openai.endpoint','https://<endpoint>.openai.azure.com');
select azure_ai.set_setting('azure_openai.subscription_key', '<API Key>');
Obter o ponto de extremidade e a chave de API do OpenAI do Azure
select azure_ai.get_setting('azure_openai.endpoint');
select azure_ai.get_setting('azure_openai.subscription_key');
Verificar a versão da extensão de IA do Azure
select azure_ai.version();
Permissões
A extensão azure_ai
define uma função denominada azure_ai_settings_manager
, que permite a leitura e gravação de configurações relacionadas à extensão. Somente os superusuários e membros da função azure_ai_settings_manager
podem invocar as funções azure_ai.get_settings
e azure_ai.set_settings
. No servidor flexível do Banco de Dados do Azure para PostgreSQL, a função azure_ai_settings_manager
é atribuída a todos os usuários administradores.
Atualizar a extensão de IA do Azure
As versões mais recentes da extensão podem introduzir novas funcionalidades e são permitidas atualizações no local da extensão. Você pode comparar a versão instalada atualmente com a versão mais recente permitida usando o comando SQL:
SELECT * FROM pg_available_extensions
WHERE name = 'azure_ai'
Para atualizar uma extensão instalada para a versão mais recente disponível com suporte pelo Azure, use o seguinte comando SQL:
ALTER EXTENSION azure_ai UPDATE;