El ciclo
- Ingesta: recoge documentos, límpialos y divídelos en fragmentos.
- Indexación: calcula un embedding para cada fragmento y guárdalo con metadatos (URL de origen, título, fecha, grupo de acceso).
- Recuperación: para cada pregunta, encuentra los fragmentos más relevantes.
- Generación: da al modelo la pregunta y esos fragmentos y pídele que responda solo a partir de ellos, con citas.
Fragmentación
- Divide primero por estructura (encabezados, párrafos) y luego por tamaño. Unos cientos de tokens por fragmento con un pequeño solapamiento es un punto de partida habitual; ajústalo con evaluación, no por intuición.
- Conserva la ruta de encabezados en cada fragmento ("Facturación > Reembolsos > Planes anuales") para que se entienda por sí solo.
- Guarda el texto original y un ID estable para actualizar o borrar fragmentos cuando cambie la fuente.
Recuperación
- La búsqueda semántica con embeddings encuentra paráfrasis. La búsqueda por palabras clave (BM25) encuentra códigos exactos, nombres y mensajes de error. La búsqueda híbrida que combina ambas suele ser más robusta que cualquiera por separado.
- Un reranker que puntúa los 20 a 50 mejores candidatos frente a la pregunta suele mejorar mucho la precisión.
- Filtra por metadatos antes de ordenar: idioma, versión del producto y, sobre todo, lo que la persona que pregunta puede ver.
Prompt con contexto
Responde usando solo las fuentes de abajo. Cítalas como [1], [2].
Si las fuentes no contienen la respuesta, di que no lo sabes y sugiere contactar con soporte.
<sources>
[1] (Política de reembolsos, actualizada 2026-03-01) ...
[2] (FAQ de planes) ...
</sources>
Envuelve el texto recuperado en delimitadores e indica al modelo que son datos. Los documentos pueden contener instrucciones escritas por otra persona; consulta defensa contra inyección de prompts. Crea y prueba prompts con el constructor de prompts y mide tamaños con el estimador de tokens.
Permisos y actualización
- Nunca indexes contenido en un espacio compartido confiando en que el prompt lo oculte. Aplica el control de acceso en la consulta de recuperación.
- Vuelve a ingerir al cambiar (webhooks del CMS o una tarea programada) y muestra la fecha de la fuente en las respuestas.
- Elimina pronto del índice los documentos borrados, sobre todo los datos personales.
Evaluación
Crea un conjunto de preguntas reales con los documentos fuente esperados y respuestas de referencia. Mide:
- Recall de recuperación: ¿está el fragmento correcto entre los k primeros?
- Fundamentación: ¿cada afirmación está respaldada por la fuente citada?
- Calidad y negativas: ¿dice "no lo sé" cuando debe?
Repite la evaluación cada vez que cambies la fragmentación, el modelo de embeddings, el prompt o el LLM. Consulta pruebas de bots.
Fallos habituales
- Respuestas de la memoria del modelo en lugar de las fuentes: endurece la instrucción y baja la temperatura.
- Documento correcto, fragmento equivocado: mejora los cortes o añade un reranker.
- Respuestas desactualizadas: el índice está obsoleto o no se borraron versiones antiguas.