PDF Preguntas y respuestas con Gaia y Qdrant
Gaia PDF RAG es una aplicación de generación mejorada de recuperación (RAG) que permite a los usuarios hacer preguntas sobre documentos PDF utilizando un nodo local de Gaia y una base de datos vectorial Qdrant. Combina la potencia de los LLM locales con una búsqueda vectorial eficiente para ofrecer respuestas precisas y adaptadas al contexto.
El código fuente completo y las instrucciones detalladas para configurar y ejecutar este ejemplo se pueden encontrar en el repositorio Gaia Cookbook.
Lo que puedes aprender y construir:
Explorando y adaptando este ejemplo, puedes aprender a:
- Procesar y trocear documentos PDF: Comprenda los pasos necesarios para dividir archivos PDF en segmentos manejables para una recuperación eficaz.
- Implemente la búsqueda semántica con Qdrant: Descubra cómo aprovechar una base de datos vectorial para realizar búsquedas eficientes y contextualizadas de sus documentos.
- Integración de LLM locales a través de Gaia: Aprenda a conectarse a su nodo local de Gaia para utilizar la potencia de los modelos lingüísticos alojados localmente para la respuesta a preguntas.
- Mejore la relevancia con la reordenación de codificadores cruzados: Descubra técnicas para refinar los resultados de búsqueda y mejorar la precisión de la información recuperada.
- Proporcione una experiencia de usuario fluida con respuestas en tiempo real: Implemente respuestas en tiempo real para los usuarios a medida que se genera la respuesta.
- Garantice la fiabilidad con citas inteligentes de las fuentes: Aprenda a proporcionar referencias claras a los documentos fuente de cada respuesta.
- Mitigar las alucinaciones con el filtrado de relevancia: Explore estrategias para filtrar la información irrelevante y reducir la probabilidad de respuestas inexactas.
- Cree un robot de preguntas y respuestas personalizable para PDF: Este ejemplo proporciona una base sólida para que pueda adaptar e implementar su propio sistema de respuesta a preguntas para documentos o colecciones PDF específicos.
Características clave demostradas:
- Procesamiento y fragmentación de documentos PDF: Maneja eficientemente la extracción y segmentación de contenido de archivos PDF.
- 🔍 Búsqueda semántica con Qdrant: Leverages vector embeddings for intelligent retrieval of relevant document parts.
- 🤖 Integración LLM local a través del nodo Gaia: Se conecta a su LLM localmente en ejecución para generar respuestas basadas en el contexto recuperado.
- Reordenación de codificadores cruzados para mejorar la relevancia: Optimiza los resultados de búsqueda aplicando un modelo de clasificación más sofisticado.
- 💨 Respuestas en streaming para una mejor UX: Proporciona una experiencia de usuario más interactiva y receptiva.
- 🎯 Cita inteligente de las fuentes: Indica claramente los documentos fuente utilizados para generar cada respuesta.
- ⚡ Filtrado de relevancia para evitar alucinaciones: Aumenta la fiabilidad de las respuestas filtrando la información menos relevante.
Cómo empezar:
Requisitos previos
Antes de ejecutar Gaia RAG, asegúrese de tener:
- Un nodo Gaia local en ejecución (Consulta este enlace para aprender a ejecutar tu propio LLM local: https://docs.gaianet.ai/node-guide/quick-start)
- Servidor Qdrant en funcionamiento
- Python 3.8+
- Bibliotecas de sistema necesarias para el procesamiento de PDF
Instalación
- Clonar el repositorio:
git clone https://github.com/harishkotra/gaia-pdf-rag.git
cd gaia-pdf-rag
- Crear un entorno virtual:
python -m venv venv
source venv/bin/activate # En Windows use: venv\Scripts\activate
- Instalar dependencias:
pip install -r requisitos.txt
Configuración de componentes
1. Nodo Gaia
Inicie su nodo Gaia local:
gaianet init
inicio de gaianet
2. Servidor Qdrant
Inicie Qdrant usando Docker:
docker run -d -p 6333:6333 -p 6334:6334 \
-v $(pwd)/qdrant_storage:/qdrant/storage \
qdrant/qdrant
Ejecutar la aplicación
-
Asegúrate de que tanto el nodo Gaia como Qdrant están funcionando
-
Inicia la aplicación Streamlit:
streamlit run app.py
- Abra su navegador en
http://localhost:8501
Utilización
- Cargar un documento PDF mediante la barra lateral
- Haga clic en "Procesar documento" para indexarlo
- Haga preguntas en el campo de entrada principal
- Ver las respuestas y los documentos fuente pertinentes
Configuración
Puede modificar los siguientes parámetros en app.py
:
GAIA_NODE_URL
: URL de su nodo Gaia localQDRANT_HOST
: Servidor host QdrantPUERTO_QDRANT
: Puerto del servidor QdrantVECTOR_SIZE
: Tamaño de la dimensión de incrustaciónNOMBRE_COLECCIÓN
: Nombre de la colección de bases de datos vectoriales
Estructura del proyecto
gaia-pdf-rag/
├── app.py # Aplicación principal Streamlit.
├── requirements.txt # Dependencias de Python.
├── .gitignore # Archivo gitignore
├── README.md
El código fuente completo y las instrucciones detalladas para configurar y ejecutar este ejemplo se pueden encontrar en el repositorio Gaia Cookbook.