Note:

Cree un chatbot basado en RAG con Oracle Cloud Infrastructure Search con OpenSearch

Introducción

En este tutorial, te guiaremos a través del proceso de creación de un chatbot basado en generación aumentada de recuperación (RAG) utilizando OCI OpenSearch como base de datos vectorial y modelos de servicio OCI Generative AI (como Cohere y Llama). Al final de este tutorial, habrá creado una solución de chatbot capaz de procesar documentos, almacenarlos como incrustaciones de vectores en OpenSearch y recuperar información relevante durante las conversaciones.

Además, crearemos una interfaz de usuario intuitiva mediante Streamlit, lo que le permitirá cargar documentos, interactuar con el chatbot y acceder a la información relevante sin esfuerzo. Este tutorial cubre todo, desde la configuración de su entorno hasta la prueba del chatbot con sus propios archivos PDF.

Objetivos

Requisitos

Tarea 1: Configuración de un cluster OpenSearch con OCI con OpenSearch

  1. Crear un Cluster. Para obtener más información, consulte Creación de un cluster OpenSearch con OCI Search con OpenSearch

  2. Una vez creado el cluster, copie el punto final de API, junto con las credenciales de usuario para configurarlas en la aplicación.

    OpenSearch API de cluster EndPoint

    OpenSearch Usuario de cluster y pwd

Tarea 2: Configuración del entorno de Python

  1. Inicie una instancia con la imagen de Oracle Linux y la unidad básica en OCI. Para obtener más información, consulte Inicio de una instancia de Linux.

  2. Instale Python 3.11 en Oracle Linux. Para obtener más información, consulte Installing Python.

  3. Ejecute el siguiente comando para actualizar la versión de Python.

    sudo update-alternatives  --set python /usr/bin/python3.11
    
  4. Cree una carpeta de proyecto denominada opensearch_rag_chatbot.

  5. Vaya a la carpeta creada e instale dependencias mediante la creación de un archivo denominado requirements.txt en ella.

    python -m venv venv
    source ./venv/bin/activate
    pip install -r requirements.txt
    
  6. Ejecute el siguiente comando para probar la instalación de Streamlit.

    streamlit hello
    
  7. Si los puertos Streamlit y OpenSearch (8501/9200) no están abiertos en el firewall, agréguelos mediante el siguiente comando.

    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
    

Tarea 3: Configuración de la autenticación de OCI

  1. Cree una carpeta .oci en el directorio raíz y configure el archivo 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
    

    Nota: Para obtener más información, consulte Creación de un archivo de configuración para Oracle Date a Science.

Tarea 4: Escribir el código del motor de chatbot

Tarea 5: Carga de documentos y prueba del chatbot

  1. Ejecute el siguiente comando para ejecutar la aplicación.

    cd opensearch_rag_chatbot
    python -m venv venv
    source ./venv/bin/activate
    streamlit run app.py
    
  2. Copie la URL generada para acceder a la aplicación Streamlit. Comience a cargar archivos PDF y pruebe la funcionalidad del chatbot.

    cargar y probar

Solución de problemas y consejos

Nota: Los logs están disponibles en la salida de la consola de Streamlit, que proporciona información detallada sobre las operaciones y los errores.

Pasos Siguientes

Para los siguientes pasos, considere ampliar su chatbot agregando soporte para más formatos de documento, como archivos Word o HTML, y experimentando con diferentes modelos de incrustación para mejorar la precisión de respuesta del chatbot en dominios específicos. También puede mejorar la interfaz de usuario de Streamlit con funciones adicionales, como soporte para varias cargas de documentos, historial de consultas o comentarios en tiempo real sobre procesos largos.

Agradecimientos

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visita education.oracle.com/learning-explorer para convertirte en un Oracle Learning Explorer.

Para obtener documentación sobre el producto, visite Oracle Help Center.