Compartilhar via


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 pgvectorextensã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;

Próximas etapas