Observação:

Crie Chatbot baseado em RAG usando o Oracle Cloud Infrastructure Search com OpenSearch

Introdução

Neste tutorial, orientaremos você pelo processo de criação de um chatbot baseado em geração aumentada de recuperação (RAG) usando o OCI OpenSearch como banco de dados vetorial e modelos de serviço OCI Generative AI (como Cohere e Llama). No final deste tutorial, você terá construído uma solução de chatbot capaz de processar documentos, armazená-los como incorporações vetoriais em OpenSearch e recuperar informações relevantes durante as conversas.

Além disso, criaremos uma interface de usuário intuitiva usando o Streamlit, permitindo que você faça upload de documentos, interaja com o chatbot e acesse informações relevantes sem esforço. Este tutorial abrange tudo, desde a configuração de seu ambiente até o teste do chatbot com seus próprios arquivos PDF.

Objetivos

Pré-requisitos

Tarefa 1: Configurar um Cluster OpenSearch com o OCI com OpenSearch

  1. Criar um cluster. Para obter mais informações, consulte Criar um cluster OpenSearch com o OCI Search com OpenSearch

  2. Depois que o cluster for criado, copie o ponto final da API, juntamente com as credenciais do usuário para configurá-las no aplicativo.

    OpenSearch API de Cluster EndPoint

    OpenSearch Usuário e pwd do cluster

Tarefa 2: Configurar o Ambiente Python

  1. Inicie uma instância com a imagem e a forma básica do Oracle Linux no OCI. Para obter mais informações, consulte Ativando uma Instância do Linux.

  2. Instale o Python 3.11 no Oracle Linux. Para obter mais informações, consulte Instalando o Python.

  3. Execute o comando a seguir para atualizar a versão do Python.

    sudo update-alternatives  --set python /usr/bin/python3.11
    
  4. Crie uma pasta de projeto chamada opensearch_rag_chatbot.

  5. Vá para a pasta criada e instale as dependências criando um arquivo chamado requirements.txt nela.

    python -m venv venv
    source ./venv/bin/activate
    pip install -r requirements.txt
    
  6. Execute o comando a seguir para testar a instalação do Streamlit.

    streamlit hello
    
  7. Se as portas Streamlit e OpenSearch (8501/9200) não estiverem abertas no firewall, adicione-as usando o comando a seguir.

    sudo firewall-cmd --list-all
    sudo firewall-cmd --permanent --add-port=8501/tcp
    sudo firewall-cmd --permanent --add-port=9200/tcp
    sudo firewall-cmd --reload
    

Tarefa 3: Configurar Autenticação do OCI

  1. Crie uma pasta .oci no diretório home e configure o arquivo config.

    [DEFAULT]
    user=ocid1.user.oc1..
    fingerprint=40:02:56:
    key_file=/path/to/oci_api_key.pem
    tenancy=ocid1.tenancy.oc1..
    region=us-region-1
    

    Observação: Para obter mais informações, consulte Criar um Arquivo de Configuração para o Oracle Date a Science.

Tarefa 4: Escrever o Código do Mecanismo do Chatbot

Tarefa 5: Fazer Upload de Documentos e Testar o Chatbot

  1. Execute o comando a seguir para executar o aplicativo.

    cd opensearch_rag_chatbot
    python -m venv venv
    source ./venv/bin/activate
    streamlit run app.py
    
  2. Copie o URL gerado para acessar o aplicativo Streamlit. Inicie o upload de PDFs e teste a funcionalidade do chatbot.

    upload e teste

Solução de problemas e dicas

Observação: Os logs estão disponíveis na saída da console Streamlit, que fornece informações detalhadas sobre operações e erros.

Próximas Etapas

Para as próximas etapas, considere expandir seu chatbot adicionando suporte a mais formatos de documento, como arquivos Word ou HTML, e experimentando diferentes modelos de incorporação para melhorar a precisão de resposta do chatbot em domínios específicos. Você também pode aprimorar a IU do Streamlit com recursos adicionais, como suporte para vários uploads de documentos, histórico de consultas ou feedback em tempo real sobre processos longos.

Agradecimentos

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.