Planeje Sua Implantação

Você pode usar Agentes do Oracle Cloud Infrastructure Generative AI para criar um sistema de pesquisa inteligente que forneça respostas contextualmente relevantes pesquisando sua base de conhecimento empresarial.

As seguintes implementações são descritas nesta seção:

  • Traga os dados da sua empresa para uma base de conhecimento gerenciada pelo serviço para que os Agentes de IA Generativa ingiram.
  • Indexe seus dados em uma base de conhecimento gerenciada pelo cliente.
  • Crie e implante código para ingestão de dados e gere incorporações de vetores.

Agentes de IA generativa com base de conhecimento gerenciada por serviços

A implantação a seguir usa Agentes do OCI Generative AI para criar um sistema de pesquisa inteligente que usa uma base de conhecimento gerenciada pelo serviço e o Oracle Cloud Infrastructure Object Storage.

Essa implantação faz upload de arquivos TXT e PDF para o bucket do Oracle Cloud Infrastructure Object Storage no qual os Agentes de IA Generativa ingerem automaticamente os dados para criar vetores armazenados em um armazenamento de vetores integrado.

As vantagens dessa implantação são que ela é adequada para clientes que precisam de uma solução gerenciada para dados não estruturados, fornece ingestão de dados rápida e fácil e tem requisitos mínimos de codificação e manutenção. O modelo de incorporação gerenciado pelo serviço Cohere, no entanto, permite apenas até 1000 arquivos de texto e PDF por base de conhecimento.



genai-knowledge-base-oracle.zip

Use as seguintes etapas de alto nível para criar esta implantação:

  1. Provisione um bucket de armazenamento de objetos e faça upload de arquivos para o bucket.

    Os tipos de arquivo suportados são PDF e TXT e cada arquivo não deve ter mais de 100 MB. Os arquivos PDF podem incluir imagens, gráficos e tabelas de referência, mas cada um desses objetos não deve exceder 8 MB. O OCI Object Storage suporta upload em batch de arquivos usando a console, a API Rest ou o kit de desenvolvimento de software (SDK).

  2. Crie uma base de conhecimento e um job de ingestão.

    Crie uma base de conhecimento em Agentes do OCI Generative AI e especifique o bucket de armazenamento de objetos provisionado como origem de dados. Selecione a opção Iniciar job de ingestão automaticamente para que o serviço Agentes do OCI Generative AI gere um índice de vetor usando o modelo de incorporação gerenciado pelo serviço.

  3. Crie o agente e o ponto final.

    Crie um agente nos Agentes do OCI Generative AI e conecte-o à base de conhecimento provisionada na etapa anterior. Crie um ponto final para o agente que será usado posteriormente para iniciar um chat com o agente. O ponto final é usado para permitir a comunicação e a troca de dados entre um agente e sistemas externos. O ponto final será um parâmetro de entrada obrigatório se você quiser ativar a funcionalidade de chat usando Agentes AI usando a API ou o SDK.

  4. Opcionalmente, crie uma integração front-end.

    O serviço Agentes do OCI Generative AI fornece uma interface de usuário de chat que permite aos usuários fazer perguntas relacionadas aos dados aos quais o agente tem acesso. Você pode integrar o agente ao seu aplicativo usando o serviço Rest API ou SDK e, em seguida, personalizando a interface do chat bot. A Oracle oferece ferramentas de desenvolvimento de aplicações low-code e no-code, como Oracle APEX Application Development e Oracle Digital Assistant.

Agentes de IA generativa com OCI OpenSearch

A implantação a seguir usa a Pesquisa do Oracle Cloud Infrastructure com dados OpenSearch como uma base de conhecimento gerenciada pelo cliente para que os Agentes de IA Generativa sejam usados.

O Oracle Cloud Infrastructure Search with OpenSearch é um serviço gerenciado que pode pesquisar e analisar dados armazenados em armazenamentos de dados de grande volume. Nesta implantação, OpenSearch é o banco de dados vetorial usado para armazenar documentos empresariais, criar índices e pesquisar e recuperar dados usando a pesquisa híbrida. Os resultados da pesquisa são classificados pelos Agentes da OCI Generative AI usando um modelo de reclassificação gerenciado e, em seguida, enviados ao modelo de linguagem grande (LLM) da Cohere para gerar uma resposta contextual.

As vantagens dessa implantação são que ela suporta uma ampla gama de tipos de arquivos, como JSON, XML e Blogs, é compatível com uma ampla gama de modelos de incorporação de código aberto e pode usar o truncamento automático para resultados de pesquisa mais específicos. Esta implantação requer que você crie e gerencie os pipelines de ingestão e indexação de dados e exige que os arquivos sejam divididos em menos de 512 tokens cada e ingeridos e indexados em OpenSearch.



genai-opensearch-oracle.zip

Use as seguintes etapas de alto nível para criar esta implantação:

  1. Provisione a pilha de Pesquisa do Oracle Cloud Infrastructure e ingira dados.

    Provisione redes virtuais na nuvem (VCN), um cluster do Oracle Cloud Infrastructure Search e uma instância de máquina virtual (VM).

    Consulte a seção Explorar Mais para obter um link para um tutorial que mostra como criar a pilha.

  2. Criar um segredo do OCI Vault.

    Os Agentes do OCI Generative AI exigem que você crie um segredo para que o Oracle Cloud Infrastructure Search possa armazenar nomes de usuário e senhas no OCI Vault.

  3. Configure a base de conhecimento e o agente do OCI Generative AI Agents.

    Crie uma base de conhecimento escolhendo o cluster de Pesquisa do Oracle Cloud Infrastructure como origem de dados e especificando quais índices usar. Crie um agente RAG do OCI Generative AI usando essa base de conhecimento.

Agentes da OCI Generative AI com o Oracle Database 23ai

Essa implantação usa o Oracle Autonomous Database 23ai com Vector Search para gerenciar dados estruturados e não estruturados.

Quando os usuários consultam dados empresariais, a pesquisa vetorial de IA executa pesquisas de similaridade para encontrar os fatos mais relevantes a serem transmitidos aos Agentes do OCI Generative AI. Esses agentes executam modelos de reclassificação e usam o modelo de linguagem grande (LLM) da Cohere para gerar respostas contextuais.

As vantagens dessa implantação são que ela suporta dados estruturados e não estruturados, incluindo dados de mídia, imagens e vídeos, e que é compatível com modelos de incorporação de terceiros para fornecer resultados de pesquisa direcionados. Essa implantação requer que você crie e implante código para ingestão de dados, gere incorporações de vetores e crie índices de vetores.



genai-vetor-pesquisa-oracle.zip

Use as seguintes etapas de alto nível para criar esta implantação:

  1. Crie uma instância do Oracle Database 23ai:
    1. No menu de navegação da console de serviços do OCI, clique em Oracle Database e selecione Autonomous Data Warehouse.
    2. Clique em Criar Autonomous Database.
    3. Nomeie o banco de dados e selecione 23ai como a versão do banco de dados. Forneça outros parâmetros ou aceite os padrões e clique em Criar Autonomous Database.
  2. Crie um vault para armazenar credenciais do banco de dados e, em seguida, crie uma chave:
    1. No menu de navegação da console de serviços do OCI, clique em Identity and Security e selecione Vault.
    2. Clique em Criar Vault.
    3. Nomeie o vault. Forneça outros parâmetros ou aceite os padrões e clique em Criar Vault.
    4. No vault recém-criado, clique em Criar Chave.
    5. Nomeie a chave. Forneça outros parâmetros ou aceite os padrões e clique em Criar Chave.
  3. Crie uma conexão do serviço Database Tools:
    1. No menu de navegação da console de serviço do OCI, clique em Developer Services e selecione Connections.
    2. Clique em Criar Conexão.
    3. Nomeie a conexão, selecione Oracle Autonomous Database como o serviço de nuvem de banco de dados, selecione o compartimento e especifique um nome de usuário. Forneça outros parâmetros ou aceite os padrões e clique em Criar Segredo de Senha.
    4. Nomeie o segredo da senha, selecione o compartimento, o compartimento do vault, o compartimento da chave de criptografia e especifique uma senha. Clique em Criar.
    5. Selecione Wallet SSO como formato de wallet e clique em Criar segredo de conteúdo da wallet, nomeie o segredo de conteúdo da wallet, selecione o vault e os compartimentos de chaves de criptografia e certifique-se de que a opção Recuperar wallet regional do Autonomous Database esteja selecionada. Clique em Criar.
    6. Clique em Criar na janela Criar Conexão. A conexão recém-criada é listada na guia Conexão da página de detalhes do banco de dados associado.
  4. Crie vetores usando modelos de incorporação usando PL/SQL:
    1. Configure credenciais para permitir o acesso aos recursos do OCI, como o serviço OCI Gen AI e as credenciais para DBMS_CLOUD. Você precisará de um arquivo de configuração do OCI com api_keys privado e público, uma impressão digital, um usuário, uma tenancy e um ocid de compartimento.
      begin
        DBMS_CLOUD.CREATE_CREDENTIAL (
          credential_name => '<credential_name>',
          user_ocid       => '<user_ocid>',
          tenancy_ocid    => '<tenancy_ocid>',
          private_key     => '<private_key>',
          fingerprint     => '<fingerprint>'
        );
      end;
      /
    2. Use a funcionalidade de banco de dados integrada com arquivos pdf armazenados 23ai para separar arquivos e executar a extração de texto.
      CREATE TABLE ai_extracted_data AS
      SELECT
        j.chunk_id,
        j.chunk_offset,
        j.chunk_length,
        j.chunk_data
      FROM
        -- divide a blob into chunks (utl_to_chunks):
        (select * from dbms_vector_chain.utl_to_chunks(
                  dbms_vector_chain.utl_to_text(
                      to_blob(
                          DBMS_CLOUD.GET_OBJECT('OCI_CRED_BUCKET', '<path-to-object-pdf>')
                      )
                  ), json('{"max":"75", "normalize":"all", "overlap":"15"}')
              )),
        JSON_TABLE(column_value, '$'
          COLUMNS (
            chunk_id NUMBER PATH '$.chunk_id',
            chunk_offset NUMBER PATH '$.chunk_offset',
            chunk_length NUMBER PATH '$.chunk_length',
            chunk_data CLOB PATH '$.chunk_data'
          )
        ) j;
    3. Crie incorporações de vetores usando uma ampla gama de opções de incorporação, como o modelo cohere.embed-multilingual-v3.0 por meio da OCI Generative AI.
      create table ai_extracted_data_vector as (
          select chunk_id as docid, to_char(chunk_data) as body, dbms_vector.utl_to_embedding(
                  chunk_data,
                  json('{
                      "provider": "OCIGenAI",
                      "credential_name": "<credential_name>",
                      "url": "https://example.com/<path>",
                      "model": "cohere.embed-multilingual-v3.0"
                  }')
              ) as text_vec
          from ai_extracted_data
          where chuck_id <= 400
      );
      
    4. Crie uma função para consultar as tabelas de vetores e executar as operações do AI Search no runtime.
      create or replace FUNCTION retrieval_func_ai (
          p_query IN VARCHAR2,
          top_k IN NUMBER
      ) RETURN SYS_REFCURSOR IS
          v_results SYS_REFCURSOR;
          query_vec VECTOR;
      BEGIN
          query_vec := dbms_vector.utl_to_embedding(
              p_query,
              json('{
                  "provider": "OCIGenAI",
                  "credential_name": "<credential_name>",
                  "url": "https://example.com/<path>",
                  "model": "cohere.embed-multilingual-v3.0"
              }')
          );
       
          OPEN v_results FOR
              SELECT DOCID, BODY, VECTOR_DISTANCE(text_vec, query_vec) as SCORE
              FROM ai_extracted_data_vector
              ORDER BY SCORE
              FETCH FIRST top_k ROWS ONLY;
       
          RETURN v_results;
      END;
  5. Crie a base de conhecimento usando o Oracle Database 23ai:
    1. No menu de navegação da console de serviços do OCI, clique em Análise e IA e selecione Agentes de IA Generativa.
    2. Clique em Bases de Conhecimento e em Criar base de conhecimento.
    3. Nomeie a base de conhecimento, selecione Oracle AI Vector Search como o tipo de armazenamento de dados e forneça a conexão da ferramenta de banco de dados e a função de pesquisa. Em seguida, clique em Criar Base de Conhecimento.
  6. Crie um Agente de IA Generativa com a Base de Conhecimento do Oracle Database 23 AI:
    1. No menu de navegação da console de serviços do OCI, clique em Analytics & AI e selecione Agents.
    2. Clique em Criar agente.
    3. Nomeie o agente, selecione a base de conhecimento criada e clique em Criar Agente.

    Depois que o agente for criado, você verá que ele está ativo e pronto para conversar.