Sistema de Conocimiento RAG
Sistema de generación aumentada por recuperación con búsqueda semántica, atribución de fuentes y una API REST para Q&A basado en documentos.
Búsqueda semántica con atribución de fuentes
Inferencia LLM local vía Ollama
API REST con soporte de conversación multi-turno
Base para implementaciones RAG en producción
Un sistema de generación aumentada por recuperación (RAG) que permite responder preguntas semánticas sobre colecciones de documentos con atribución completa de fuentes. Construido como proyecto de aprendizaje que evolucionó hacia una arquitectura reutilizable que he aplicado desde entonces en sistemas de producción.
El sistema ingiere documentos PDF, los fragmenta inteligentemente, genera embeddings usando transformers de frases de HuggingFace (BAAI/bge-small-en-v1.5) y los almacena en ChromaDB para búsqueda eficiente por similitud vectorial. Cuando un usuario hace una pregunta a través de la API REST, el sistema recupera los fragmentos de documento más relevantes, aumenta el prompt del LLM con este contexto y genera una respuesta que cita sus fuentes.
La API está construida con Flask y soporta gestión de conversaciones, permitiendo interacciones multi-turno donde el contexto se acumula entre preguntas.
La inferencia del LLM se ejecuta localmente a través de Ollama, manteniendo todo privado y sin coste. El sistema soporta múltiples idiomas tanto en documentos como en consultas.
Este proyecto fue fundamental para entender patrones RAG que después implementé a escala de producción en la plataforma B2B — incluyendo estrategias de fragmentación, selección de modelos de embedding, ajuste de recuperación y el desafío crítico de reducir alucinaciones en la generación fundamentada.