Gerenciar Perfis de IA

Você pode criar e gerenciar seus perfis de IA por meio do pacote DBMS_CLOUD_AI.

Usar DBMS_CLOUD_AI para Configurar Perfis do AI

O Autonomous Database usa perfis de IA para facilitar e configurar o acesso a um LLM e para configurar a geração, a execução e a explicação de SQL com base em prompts de linguagem natural. Ele também facilita a geração aumentada de recuperação usando modelos de incorporação e índices vetoriais e permite conversar com o LLM.

Os perfis de IA incluem objetos de banco de dados que são o alvo para consultas em linguagem natural. Os metadados usados nesses destinos podem incluir nomes de tabelas de bancos de dados, nomes de colunas, tipos de dados de colunas e comentários. Crie e configure perfis do AI usando os procedimentos DBMS_CLOUD_AI.CREATE_PROFILE e DBMS_CLOUD_AI.SET_PROFILE.

Além de especificar tabelas e views no perfil do AI, você também pode especificar tabelas mapeadas com tabelas externas, incluindo as descritas em Consultar Dados Externos com o Serviço Data Catalog. Isso permite que você consulte dados não apenas dentro do banco de dados, mas também dados armazenados no armazenamento de objetos de um data lake.

Executar Pré-requisitos para Selecionar IA

Antes de usar o Select AI, aqui estão as etapas para ativar o DBMS_CLOUD_AI.

As seguintes exigências são necessárias para usar DBMS_CLOUD_AI:

  • Acesso a uma conta na nuvem do Oracle Cloud Infrastructure e a uma instância do Autonomous Database.
  • Uma conta de API paga de um provedor de IA suportado, uma das seguintes:
    Provedor de IA Chaves de API

    OpenAI

    Consulte Usar OpenAI para obter suas chaves de API.

    Provedores compatíveis com OpenAI

    Consulte Usar Provedores Compatíveis com OpenAI para obter suas chaves de API e provider_endpoint.

    Cohere

    Consulte Usar Cohere para obter suas chaves de API secretas.

    Serviço Azure OpenAI

    Consulte Usar o Azure OpenAI Service para obter mais informações sobre como configurar o Azure OpenAI Service.

    IA Generativa do OCI

    Consulte Usar a OCI Generative AI.

    Google

    Consulte Usar o Google para obter suas chaves de API.

    Antrópico

    Consulte Usar Antrópico para obter suas chaves de API.

    Hugging Face

    Consulte Usar o Hugging Face para obter suas chaves de API.

    AWS

    Consulte Usar AWS para obter suas chaves de API e o ID do modelo.

  • Privilégios de ACL de rede para acessar seu provedor de IA externo.
    Observação

    Os privilégios de ACL de rede não são necessários para o OCI Generative AI.
  • Uma credencial que fornece acesso ao provedor de IA.

Conceder Privilégios para Selecionar IA

Para usar Selecionar AI, o administrador deve conceder o privilégio EXECUTE no pacote DBMS_CLOUD_AI. Saiba mais sobre os privilégios adicionais necessários para o Select AI e seus recursos.

Para configurar DBMS_CLOUD_AI:
  1. Conceda o privilégio EXECUTE no pacote DBMS_CLOUD_AI ao usuário que deseja usar o Select AI.

    Por padrão, somente o administrador do sistema tem o privilégio EXECUTE. O administrador pode conceder o privilégio EXECUTE a outros usuários.

  2. Conceda o privilégio EXECUTE no DBMS_CLOUD_PIPELINE ao usuário que deseja usar o Select AI com RAG.

    Observação

    Se o usuário já tiver a atribuição DWROLE, esse privilégio será incluído e a concessão adicional não será necessária.
  3. Conceda acesso de ACL de rede ao usuário que deseja usar o Select AI e ao ponto final do provedor de IA.

    O administrador do sistema pode conceder acesso à ACL de rede. Consulte APPEND_HOST_ACE Procedures para obter mais informações.

  4. Crie uma credencial para permitir o acesso ao seu provedor de IA.

    Consulte CREATE_CREDENTIAL Procedures para obter mais informações.

  5. Conceda cotas no tablespace para gerenciar a quantidade de espaço em um tablespace específico ao usuário que deseja usar o Select AI com RAG.

Exemplos de Privilégios para Executar o Select AI

Revise exemplos de privilégios necessários para usar o Select AI e seus recursos.

O exemplo a seguir concede o privilégio EXECUTE a ADB_USER:
GRANT execute on DBMS_CLOUD_AI to ADB_USER;

O exemplo a seguir concede o privilégio EXECUTE para o pacote DBMS_CLOUD_PIPELINE necessário para RAG:

GRANT EXECUTE on DBMS_CLOUD_PIPELINE to ADB_USER;

Para verificar os privilégios concedidos a um usuário para os pacotes DBMS_CLOUD_AI e DBMS_CLOUD_PIPELINE, um administrador pode executar o seguinte:

SELECT table_name AS package_name, privilege 
 FROM DBA_TAB_PRIVS 
 WHERE grantee = '<username>'
 AND   (table_name = 'DBMS_CLOUD_PIPELINE'
        OR table_name = 'DBMS_CLOUD_AI');
O exemplo a seguir concede ao ADB_USER o privilégio de usar o ponto final api.openai.com.
Observação

Este procedimento não é aplicável à OCI Generative AI.
BEGIN  
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
         host => 'api.openai.com',
         ace  => xs$ace_type(privilege_list => xs$name_list('http'),
                             principal_name => 'ADB_USER',
                             principal_type => xs_acl.ptype_db)
   );
END;
/

Os parâmetros são:

  • host: O host, que pode ser o nome ou o endereço IP do host. Você pode usar um curinga para especificar um domínio ou uma sub-rede IP. O nome do host ou do domínio não faz distinção entre maiúsculas e minúsculas.

    Provedor de IA Host

    OpenAI

    api.openai.com

    Provedores compatíveis com OpenAI

    Por exemplo, para o Fireworks AI, use api.fireworks.ai

    Cohere

    api.cohere.ai

    Serviço Azure OpenAI

    <azure_resource_name>.openai.azure.com

    Consulte Atributos de Perfil para saber mais sobre azure_resource_name.

    Google

    generativelanguage.googleapis.com

    Antrópico

    api.anthropic.com

    Hugging Face

    api-inference.huggingface.co

    AWS

    bedrock-runtime.us-east-1.amazonaws.com

  • ace: As entradas de controle de acesso (ACE). O tipo XS$ACE_TYPE é fornecido para construir cada entrada ACE para a ACL. Para obter mais detalhes, consulte Criando ACLs e ACEs.

O exemplo a seguir cria uma credencial para permitir o acesso ao OpenAI.


EXEC 
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name   => 'OPENAI_CRED', 
username          =>  'OPENAI', 
password          =>  '<your_api_token>');

Os parâmetros são:

  • credential_name: O nome da credencial a ser armazenada. O parâmetro credential_name deve estar de acordo com as convenções de nomeação de objetos da Oracle.

  • username: Os argumentos username e password juntos especificam as credenciais do provedor de IA.

    username é um nome de usuário especificado pelo usuário.

  • password: Os argumentos username e password juntos especificam as credenciais do provedor de IA.

    O password é a chave de API secreta do provedor de IA e depende do provedor:

    Provedor de IA Chaves de API

    OpenAI

    Consulte Usar OpenAI para obter suas chaves de API.

    Provedores compatíveis com OpenAI

    Consulte Usar Provedores Compatíveis com OpenAI para obter suas chaves de API e provider_endpoint.

    Cohere

    Consulte Use o Cohere para obter suas chaves de API.

    Serviço Azure OpenAI

    Consulte Usar o Azure OpenAI Service para obter suas chaves de API e configurar o serviço.

    Observação

    Se você estiver usando o controlador do Serviço OpenAI do Azure para autenticação, poderá ignorar o procedimento DBMS_CLOUD.CREATE_CREDENTIAL. Consulte Exemplos de Uso do Select AI para obter um exemplo de autenticação usando o controlador do Serviço OpenAI do Azure.

    IA Generativa do OCI

    Consulte Usar o OCI Generative AI para gerar chaves de assinatura de API.

    Google

    Consulte Usar o Google para gerar suas chaves de API.

    Antrópico

    Consulte Usar Antrópico para gerar suas chaves de API.

    Hugging Face

    Consulte Usar Face de Abraço para gerar suas chaves de API.

    AWS

    Consulte Usar AWS para obter suas chaves de API e o ID do modelo.

O exemplo a seguir concede cotas no tablespace ao ADB_USER para usar Selecionar AI com RAG:

ALTER USER ADB_USER QUOTA 1T ON <tablespace_name>;

Para verificar a cota de tablespace concedida a um usuário, execute o seguinte:

SELECT TABLESPACE_NAME, BYTES, MAX_BYTES 
FROM DBA_TS_QUOTAS 
WHERE USERNAME = '<username>' AND
      TABLESPACE_NAME LIKE 'DATA%';

Os parâmetros são:

  • TABLESPACE_NAME: O tablespace para o qual a cota está designada. No Autonomous Database, os tablespaces são gerenciados automaticamente e têm DATA como prefixo.
  • BYTES: O volume de espaço usado no momento pelo usuário no tablespace.
  • MAX_BYTES: A cota máxima designada (em bytes). Se MAX_BYTES for -1, isso significa que o usuário tem cota ilimitada no tablespace. O usuário do banco de dados que está criando o índice do vetor deve ter MAX_BYTES suficientemente maior que bytes para acomodar o índice do vetor ou MAX_BYTES deve ser -1 para cota ilimitada.

Configurar Selecionar IA para Usar Provedores de IA Suportados

Explore como permitir que seus provedores de IA usem com o Select AI.

Usar Antrópico

Para permitir que o Anthropic Developer Console gere respostas SQL e de texto para seus prompts de linguagem natural, obtenha chaves de API da sua conta paga do Anthropic Developer Console.

  1. Vá para Anthropic Developer Console.
  2. Cadastre-se para uma conta se você ainda não tem uma.
  3. Depois de fazer log-in, navegue até a seção da API ou o painel de controle.
  4. Procure uma opção para gerar ou exibir chaves de API.
  5. Clique para criar uma nova chave de API.
  6. Copie a chave de API gerada e salve-a.
    A API Claude é um serviço pago. Você precisará adicionar créditos à sua conta para poder usar a chave da API.

Usar AWS

Para habilitar a AWS, obtenha a chave da API e o ID do modelo.

Obtenha sua chave de API e use-a para criar credenciais por meio do DBMS_CLOUD.CREATE_CREDENTIAL.

Siga este processo para obter a chave de API e o nome do modelo:

  1. Inscreva-se em uma conta da AWS se você ainda não tiver uma.
  2. Crie suas chaves de acesso e chaves secretas no Console do AWS Bedrock.
  3. Copie as chaves geradas e salve-as.
  4. Solicitar acesso aos seus modelos de base. Consulte Acessar modelos básicos do Amazon Bedrock.
  5. Obtenha o ID do modelo. Você precisa do ID do modelo no procedimento DBMS_CLOUD_AI.CREATE_PROFILE. O ID do Modelo depende dos recursos que você usa. Se você usar:
    Observação

    O modelo importado não é suportado com a API de Conversas do Bedrock.
Para usar a AWS como seu provedor, consulte Exemplo: Selecionar IA com a AWS.

Usar Serviço OpenAI do Azure

Para permitir que o Azure OpenAI Service gere respostas SQL e de texto para seus prompts de linguagem natural, configure e forneça acesso ao provedor de IA.

Para usar o Azure OpenAI Service, execute as seguintes etapas:
  1. Obtenha suas chaves secretas de API. Você pode encontrar suas chaves de API na seção Resource Management do portal do Azure. Na página Recurso de Serviço do Azure OpenAI, clique em Chaves e Ponto Final. Você pode copiar KEY1 ou KEY2.
  2. Crie um recurso do Azure OpenAI Service e implante um modelo: Crie e implante um recurso do Azure OpenAI Service.

    Dica:

    • Anote o nome do recurso e o nome da implantação, pois esses parâmetros são usados para fornecer permissão de acesso à rede e criar seu perfil de Serviço OpenAI do Azure usando o procedimento DBMS_CLOUD_AI.CREATE_PROFILE.
    • Para saber sobre limites de taxa para token por minuto em um modelo, consulte Cotas e limites do Azure OpenAI Service.
  3. Permitir acesso ao Azure OpenAI Service:

Usando o Cohere

Para permitir que a Cohere gere respostas SQL e de texto aos seus prompts de linguagem natural, obtenha chaves de API da sua conta paga da Cohere.

  1. Faça login no site da Cohere com suas credenciais. O Painel Cohere é exibido por padrão.

  2. Como alternativa, clique em Painel.

  3. Clique em Chaves de API na navegação à esquerda. Copie a chave de API padrão ou crie outra chave. Consulte API-Keys para obter mais informações.

Usar o Google

Para permitir que o Google AI Studio gere respostas SQL e de texto aos seus prompts de linguagem natural, obtenha chaves de API da sua conta paga do Google AI Studio.

  1. Vá para o Google AI Studio.
  2. Clique em Entrar no Google AI Studio.
  3. Clique em Obter chave de API na tela de prompt.
  4. Selecione todas as opções aplicáveis na próxima página.
  5. Clique em Criar chave de API.
  6. Clique em Create API key in new project.
    A tela exibe o andamento e gera uma chave de API. Copie a chave e salve-a.

Use o rosto abraçando

Para permitir que o Hugging Face como seu provedor de IA gere respostas SQL e de texto para seus prompts de linguagem natural, obtenha chaves de API da sua conta paga do Hugging Face.

  1. Vá para Hugging Face.
  2. Cadastre-se para uma conta se você ainda não tem uma.
  3. Navegue até as configurações da sua conta.
  4. No menu de navegação, localize os Tokens de Acesso.
  5. Clique para criar uma nova chave de API.
  6. Copie a chave de API gerada e salve-a.

Use a OCI Generative AI

Para permitir que a OCI Generative AI gere respostas SQL e de texto para seus prompts de linguagem natural, gere uma chave de assinatura de API.

Use a Console ou a linha de comando para gerar uma chave de assinatura de API para qualquer instância do Oracle Database. Consulte Como Gerar a Chave de Assinatura de API.

Usar OpenAI

Para ativar o OpenAI para gerar respostas SQL e de texto para seus prompts de linguagem natural, obtenha chaves de API da sua conta paga OpenAI.

Você pode encontrar sua chave de API secreta no seu painel de perfil em Chaves de API.

Usar provedores compatíveis com OpenAI

Para ativar provedores compatíveis com o OpenAI, obtenha sua chave de API.

Os provedores compatíveis com o OpenAI usam autenticação do portador. Obtenha sua chave de API e use-a para criar credenciais por meio do DBMS_CLOUD.CREATE_CREDENTIAL. Por exemplo, o Fireworks AI é um provedor compatível com OpenAI.

Siga o processo para obter a chave da API do Fireworks AI, o URL do caminho base do modelo e o nome do modelo:

  1. Inscreva-se em uma conta do Fireworks AI se você ainda não tiver uma.
  2. Crie uma chave de API na console do Fireworks AI.
  3. Copie a chave de API gerada e salve-a.
  4. Obtenha o ponto final do provedor necessário no procedimento DBMS_CLOUD_AI.CREATE_PROFILE:
    1. Selecione um dos modelos disponíveis clicando nos modelos disponíveis.
    2. Role até o Exemplo de API e obtenha o caminho do URL base compatível com OpenAI.
      Para o modelo Llama 3.2 3B Instruct, o URL do caminho base é: https://api.fireworks.ai/inference/v1/chat/completions. Para o parâmetro provider_endpoint, exclua /v1/chat/completions. O provider_endpoint do modelo mencionado é https://api.fireworks.ai/inference.
      Observação

      Alguns provedores podem exigir um prefixo para o nome do modelo. Consulte a documentação do provedor de IA para obter o formato correto.
  5. No mesmo Exemplo de API, copie o nome do modelo. Você precisa do nome do modelo no procedimento DBMS_CLOUD_AI.CREATE_PROFILE. Por exemplo, accounts/fireworks/models/llama-v3p2-3b-instruct.
Para usar o Firework AI como seu provedor compatível com OpenAI, consulte Exemplo: Selecionar AI com Provedores Compatíveis com OpenAI.

Criar e Definir um Perfil do AI

Descreve as etapas para criar e ativar um perfil do AI.

Use DBMS_CLOUD_AI.CREATE_PROFILE para criar um perfil do AI. Execute DBMS_CLOUD_AI.SET_PROFILE para ativar o perfil do AI para que você possa usar SELECT AI com um prompt de linguagem natural.

Observação

Execute DBMS_CLOUD_AI.SET_PROFILE em cada nova sessão (conexão) de banco de dados com monitoramento de estado antes de usar SELECT AI. Se você estiver usando uma conexão sem monitoramento de estado, deverá usar a função DBMS_CLOUD_AI.GENERATE que permite especificar o nome do perfil em cada chamada.

O exemplo a seguir com o provedor OpenAI cria um perfil AI chamado OPENAI e define o perfil OPENAI para a sessão do usuário atual.

-- Create AI profile
--BEGIN
  DBMS_CLOUD_AI.CREATE_PROFILE(
  profile_name   => 'OPENAI',
  attributes     =>'{"provider": "openai",
			"credential_name": "OPENAI_CRED",
			"object_list": [{"owner": "SH", "name": "customers"},
					  {"owner": "SH", "name": "sales"},
					  {"owner": "SH", "name": "products"},
					  {"owner": "SH", "name": "countries"}]
       }');
END;
/
 
PL/SQL procedure successfully completed.
 
--
-- Enable AI profile in current session
--
EXEC DBMS_CLOUD_AI.set_profile('OPENAI');
 
PL/SQL procedure successfully completed.