Arquitectura de un asistente RAG, explicada sin misterio
Un asistente RAG tiene cuatro piezas. Ingesta: se leen tus documentos, se limpian y se dividen en fragmentos de tamaño manejable, conservando metadatos como el título, la sección y la fecha. Índice: cada fragmento se convierte en un vector (embedding) que representa su significado y se guarda junto a un índice de palabras clave; combinar ambas búsquedas suele recuperar mejor que una sola. Recuperación: ante una pregunta se buscan los fragmentos más relevantes, filtrando por los permisos del usuario. Generación: el modelo recibe la pregunta y esos fragmentos y redacta una respuesta limitada a ese contexto, con citas.
Evaluar antes de confiar
La parte más descuidada de los asistentes es la evaluación. Preparo con tu equipo un conjunto de preguntas representativas con la respuesta y el documento esperados, y mido dos cosas por separado: si la recuperación encuentra el pasaje correcto y si la respuesta final es fiel a él. Así, cuando algo falla sabemos si hay que mejorar la preparación de documentos, la búsqueda o las instrucciones al modelo.
Privacidad y seguridad
Defino contigo qué documentos entran, quién puede consultar qué y dónde se almacenan los datos y los registros de uso. Los permisos se aplican en la recuperación, no al final, para que un fragmento no autorizado nunca llegue al modelo. Registro las consultas para detectar preguntas sin respuesta, pero puedes decidir qué se guarda y durante cuánto tiempo.
Qué he construido en este ámbito
Como proyecto personal he desarrollado un asistente con memoria a largo plazo que combina recuperación semántica y por palabras clave sobre un almacén basado en grafos (Neo4j). Es un proyecto de experimentación, no un despliegue para un cliente, y en su ficha explico decisiones y límites.