Gerenciar Perfis de IA

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

Use 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 destino para consultas de linguagem natural. Os metadados usados nesses destinos podem incluir nomes de tabelas de banco de dados, nomes de colunas, tipos de dados de coluna e comentários. Você cria e configura 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 AI, você também pode especificar tabelas mapeadas com tabelas externas, incluindo aquelas descritas em Consultar Dados Externos com o Serviço Data Catalog. Isso permite consultar dados não apenas dentro do banco de dados, mas também armazenados no armazenamento de objetos de um data lake.

Executar Pré-requisitos para Selecionar AI

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

É necessário 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 AI Chaves de API

    OpenAI

    Consulte Usar OpenAI para obter suas chaves de API.

    Cohere

    Consulte Usar a Cohere para obter suas chaves de API secretas.

    Serviço OpenAI do Azure

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

    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.

    Abraçando o rosto

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

  • 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.

Ativar DBMS_CLOUD_AI

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 em DBMS_CLOUD_PIPELINE ao usuário que deseja usar Selecionar 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 Select AI e para o ponto final do provedor de AI.

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

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

    Consulte Procedimento CREATE_CREDENTIAL 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 Selecionar AI com RAG.

Exemplos de Privilégios para Executar o AI Selecionado

O exemplo a seguir concede o privilégio EXECUTE para 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 a ADB_USER o privilégio para 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 diferencia maiúsculas de minúsculas.

    Provedor de AI Host

    OpenAI

    api.openai.com

    Cohere

    api.cohere.ai

    Serviço OpenAI do Azure

    <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

    Abraçando o rosto

    api-inference.huggingface.co

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

O exemplo a seguir cria uma credencial para ativar o acesso a 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 em conformidade com as convenções de nomenclatura do objeto Oracle.

  • username: Os argumentos username e password juntos especificam suas credenciais de provedor de AI.

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

  • password: Os argumentos username e password juntos especificam suas credenciais de provedor de AI.

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

    Provedor de AI Chaves de API

    OpenAI

    Consulte Usar OpenAI para obter suas chaves de API.

    Cohere

    Consulte Usar a Cohere para obter suas chaves de API.

    Serviço OpenAI do Azure

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

    Observação

    Se você estiver usando o controlador de Serviços 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 de Serviços 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.

    Abraçando o rosto

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

O exemplo a seguir concede cotas no tablespace para 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: A quantidade de espaço atualmente usada 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 cria 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.

Tópicos

Use OpenAI

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

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

Usar Cohere

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

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

  2. Como alternativa, clique em Painel de Controle.

  3. Clique em Chave 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 Serviço OpenAI do Azure

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

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

    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 para 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 Quotas e limites do Serviço OpenAI do Azure.
  3. Permitir acesso ao Serviço OpenAI do Azure:

Usar a OCI Generative AI

Para permitir que a OCI Generative AI gere respostas SQL e de texto aos 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 da API.

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 Google AI Studio.
  2. Clique em Iniciar sessão 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 Create API key.
  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.

Usar Antrópico

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

  1. Vá para Console do Desenvolvedor Antrópico.
  2. Cadastre-se para uma conta se você ainda não tiver uma.
  3. Depois de fazer log-in, navegue até a seção 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 de API.

Use o rosto abraçando

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

  1. Vá para Abraçando o Rosto.
  2. Cadastre-se para uma conta se você ainda não tiver uma.
  3. Navegue até suas configurações de 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.

Criar e Definir um Perfil de IA

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 de banco de dados com monitoramento de estado (conexão) 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.