Acerca de
Este repositorio contiene una aplicación de chatbot creada con Streamlit, Langchain y ChromAdB, diseñada para proporcionar información importante sobre CoVID-19 en función del contenido de los archivos PDF. El chatbot utiliza un enfoque de generación de generación de recuperación (RAG), donde la información relevante se recupera de una base de datos vectorial y luego se procesa por un modelo de idioma para generar una respuesta final.
Tabla de contenido
- Características
- Arquitectura
- Instalación
- Uso
- Despliegue
- Contribución
- Trabajo futuro
Características
- Ingestión de PDF: el chatbot puede ingerir archivos PDF que contienen información relacionada con COVID-19 y crear una base de datos vectorial utilizando ChromAdB.
- Respuesta de preguntas: los usuarios pueden hacer preguntas relacionadas con CoVID-19, y el chatbot recuperará la información relevante de la base de datos de vector y generará una respuesta utilizando un modelo de idioma.
- Interfaz Streamlit: el chatbot tiene una interfaz fácil de usar construida con Strewlit, lo que permite a los usuarios interactuar con la aplicación a través de una interfaz basada en la web.
Arquitectura
El chatbot sigue un enfoque de generación de generación de recuperación (RAG), que combina técnicas de recuperación y generación para proporcionar respuestas precisas y relevantes. La arquitectura consta de los siguientes componentes:
- Cargador de documentos: carga archivos PDF de la carpeta de libros y los divide en trozos de texto más pequeños.
- Base de datos vectorial: los fragmentos de texto se convierten en embebidos vectoriales utilizando los incrustaciones de OpenAI y se almacenan en una base de datos de vectores ChromAdB.
- Búsqueda de similitud: cuando un usuario hace una pregunta, los fragmentos de texto relevantes se recuperan de la base de datos Vector en función de su similitud con la pregunta.
- Modelo de idioma: los fragmentos de texto recuperados se pasan a un modelo de idioma (GPT-3.5-TURBO) junto con la pregunta del usuario. El modelo genera una respuesta final basada en el contexto proporcionado.
- Interfaz Streamlit: la interfaz de usuario se crea utilizando Streamlit, lo que permite a los usuarios interactuar con el chatbot a través de una interfaz basada en la web.
Instalación
- Clon the Repositry:
git clone https://github.com/saral7293/COVID-19-CHATBOT-Retrieval-Augmented-Generation-
- Navegue al directorio del proyecto:
cd COVID-19-CHATBOT-Retrieval-Augmented-Generation
- Instale las dependencias requeridas:
pip install -r requirements.txt
- Establezca su tecla API OpenAI como una variable de entorno:
export OPENAI_API_KEY=your_openai_api_key
Uso
Para ejecutar el chatbot localmente usando Streamlit, ejecute el siguiente comando:
Esto iniciará la aplicación Streamlit y puede interactuar con el chatbot a través de la interfaz web.
Despliegue
Este chatbot se ha implementado en una instancia de EC2 en una VM.
Contribución
¡Las contribuciones son bienvenidas! Si encuentra algún problema o desea agregar nuevas funciones, abra un problema o envíe una solicitud de extracción.
Trabajo futuro
Atraiga el chatbot y aplique técnicas avanzadas de trapo.