Este proyecto permite chatear con cualquier documento PDF de forma local utilizando técnicas de Retrieval-Augmented Generation (RAG).
- 100% Local: No requiere API Keys de OpenAI.
- Eficiente: Optimizado para correr en CPU.
- Arquitectura: Basado en LangChain-Classic y Hugging Face.
- Clona el repositorio.
- Crea un entorno virtual:
python -m venv venv. - Instala dependencias:
pip install -r requirements.txt. - Coloca tu PDF en la carpeta
/data. - Ejecuta
python ingest.pypara indexar. - Ejecuta
python chat.pypara hablar con tus documentos.
- Embeddings:
all-MiniLM-L6-v2 - LLM:
google/flan-t5-base
Este proyecto fue construido utilizando un stack de IA moderna optimizado para ejecución local:
- LangChain / LangChain-Classic: Framework principal utilizado para orquestar la lógica del RAG, gestionar los prompts y conectar el recuperador con el modelo de lenguaje.
- Hugging Face Transformers: Proporciona la infraestructura para cargar y ejecutar el modelo Flan-T5-Base (LLM) y el modelo de embeddings all-MiniLM-L6-v2.
- FAISS (Facebook AI Similarity Search): Biblioteca de alto rendimiento para la búsqueda de similitudes en espacios vectoriales, utilizada para almacenar e indexar los fragmentos del libro.
- PyTorch: Backend de computación tensorial necesario para ejecutar los modelos de Deep Learning en la CPU/GPU.
- PyPDF: Librería encargada de la extracción y procesamiento de texto desde los archivos PDF originales.
- Sentence-Transformers: Utilizada para generar representaciones vectoriales (embeddings) de alta calidad que permiten a la IA "entender" el contexto de las preguntas.