Preparar documentos para RAG: corrige la fuente antes de cambiar el prompt
Recopila documentos de una base de conocimientos conectada o de un sitio público de ayuda. Antes de indexarlos para RAG, revisa el texto extraído, las versiones y dónde empieza y termina cada fragmento.
¿Tu asistente sigue citando una política antigua de la base de conocimientos o deja fuera parte de una tabla? Beeuni puede leer los documentos originales, detectar copias desactualizadas y errores de extracción, y preparar el texto corregido para tu índice de búsqueda. Usaremos una guía de envíos para mostrar qué revisar y qué archivos exportar.
La generación aumentada por recuperación, o RAG, busca fragmentos pertinentes en tus documentos y se los proporciona al modelo cuando responde a una pregunta. Estos fragmentos, a menudo llamados «chunks», son secciones más pequeñas preparadas para la búsqueda. Un agente de Beeuni puede recopilar documentos de tu base de conocimientos conectada o de un sitio público de ayuda, extraer su texto y ejecutar scripts para preparar esos fragmentos. Tu aplicación los indexa y realiza las búsquedas con las herramientas que elijas.
Recopila la base de conocimientos donde se encuentre
Para un sitio público de ayuda, proporciona al agente una URL inicial y las secciones que debe incluir. Pídele que siga los enlaces pertinentes, guarde el texto de los artículos e informe de las páginas que no haya podido abrir. Para documentación privada, conecta el servicio y concede acceso a la colección prevista. Una URL privada, por sí sola, no permite leer la página.
Mantén un manifiesto de la colección con la referencia de cada página o documento, el título, la fecha de recuperación y la información de versión que proporciona la fuente. Un commit del repositorio puede identificar una instantánea de la documentación; una página de ayuda actualizada en directo quizá necesite su propia copia guardada. Antes de preparar otra exportación, el agente puede comparar este inventario con la importación anterior para identificar las páginas modificadas, eliminadas y recién encontradas.
Empieza por una pregunta que la aplicación responda mal
Busca en el documento original el fragmento que debería responderla. Compara esa página con el texto extraído y con el fragmento devuelto por la recuperación. Así podrás distinguir un problema de extracción de uno de recuperación. Si el fragmento correcto llegó al modelo, revisa cómo lo utilizó para formular la respuesta.
| Qué observas | Qué revisar | Qué cambiar |
|---|---|---|
| Un valor sin su unidad | Los encabezados de la tabla y las celdas adyacentes | Mantén los encabezados y las unidades junto a las filas correspondientes |
| Una respuesta basada en una regla antigua | Las versiones de los documentos y las fechas de vigencia | Elimina el texto reemplazado o especifica claramente el filtrado por versión |
| Una oración cortada a la mitad | Los límites de los fragmentos en el texto exportado | Cuando sea posible, divide el texto en los límites de las secciones o los párrafos |
| Resultados con elementos de navegación repetidos | Encabezados, pies de página y menús de página | Elimina el texto repetitivo sin borrar notas sustantivas |
| No hay ningún fragmento coincidente | La cobertura de la extracción y los resultados de recuperación | Recupera el texto que falta y vuelve a probar la indexación y la recuperación |
El encabezado de una tabla puede cambiar la respuesta
Imagina una guía de envíos con una tabla titulada «Plazo de entrega, días laborables desde el despacho». La fila del servicio estándar contiene el valor «3–5». Una extracción que solo conserva «Estándar: 3–5» ha perdido tanto la unidad como el punto de partida. Ahora el modelo debe adivinar si el número se refiere a días, un precio u otra cosa.
Example of a passage with its context preserved:
Document: Shipping guide
Section: Delivery estimates
Service: Standard
Delivery time: 3–5 business days after dispatch
Source: sample-shipping-guide.pdf, page 2Ese fragmento permite responder «¿Cuánto tarda la entrega estándar desde el despacho?». No permite responder «¿Llegará mi pedido antes del viernes?» sin la fecha de despacho y el calendario pertinente. Incluye ambas preguntas en la revisión: la primera permite comprobar si la tabla sobrevivió a la extracción; la segunda, si la aplicación reconoce que falta información.
¿Qué datos deben acompañar cada fragmento?
Conserva un ID de documento estable, el título, la sección, la referencia de página cuando esté disponible y la versión o fecha de vigencia. En páginas públicas, conserva la URL de origen. Estos campos permiten que la aplicación muestre una cita y distinga dos versiones con una redacción similar.
No existe un tamaño de fragmento que sirva para todas las colecciones. Una respuesta breve de preguntas frecuentes puede mantenerse intacta. Un procedimiento largo quizá deba dividirse en varios fragmentos, cada uno con el encabezado de su sección. Pide al agente que exporte una muestra y luego lee los fragmentos sin abrir la fuente. Comprueba que los términos, las unidades y las excepciones sigan teniendo sentido.
¿Puede el agente redactar también preguntas de evaluación?
Puede proponer preguntas a partir de los documentos. Revisa las respuestas esperadas y los fragmentos de origen antes de usarlas para evaluar la aplicación. Incluye preguntas cuyas respuestas abarquen varias secciones, preguntas sobre reglas desactualizadas y preguntas que la colección no pueda responder. Mantén este conjunto de evaluación separado de los ejemplos utilizados para ajustar el sistema.
Sigue un fallo a través de los resultados de recuperación
Volvamos a la guía de envíos ficticia. Supongamos que la guía actual indica que la entrega estándar tarda entre 3 y 5 días laborables desde el despacho, mientras que una guía antigua indica entre 2 y 3. La aplicación responde «2–3 días». Guarda la pregunta, los fragmentos recuperados en el orden en que se devolvieron, sus metadatos y la respuesta. Así podrás investigar cómo se incorporó la regla desactualizada a la respuesta.
Si solo aparece la guía antigua, comprueba si se importó la nueva y si algún filtro de versiones la excluyó. Si aparecen ambas versiones, revisa cómo decide la aplicación cuál usar. Si llega el fragmento correcto sin su encabezado, corrige la extracción o el límite del fragmento. Si el fragmento completo y vigente llega al modelo y, aun así, la respuesta omite «días laborables desde el despacho», investiga la generación de respuestas. Volver a extraer la colección no resolvería este último fallo.
Guarda este registro junto con el caso de evaluación. Después de hacer un cambio, compara los fragmentos además de la respuesta. Una respuesta verosímil puede ocultar un fallo de recuperación si el modelo ya conoce un dato parecido. Puede fallar en la siguiente pregunta sobre una regla específica de tus documentos.
Prueba el tamaño de los fragmentos con tus preguntas de evaluación
Los fragmentos más grandes pueden conservar un procedimiento y sus excepciones, pero también incluyen texto irrelevante en el prompt. Los más pequeños pueden facilitar la recuperación de un dato, pero separarlo de la condición que lo hace válido. La superposición puede ayudar en los límites, pero también puede ocupar varios puestos de resultados con fragmentos casi idénticos. Revisa los conjuntos de resultados devueltos antes de cambiar estos ajustes en toda la colección.
Para cada pregunta revisada, marca qué fragmentos bastan para respaldar una respuesta. Comprueba si aparecen entre los resultados que la aplicación envía al modelo. Anota también los resultados irrelevantes y duplicados. Evalúa por separado las respuestas finales en cuanto al respaldo factual, las citas y el reconocimiento de la información faltante. Una única puntuación general dificulta identificar qué parte cambió.
Conserva las preguntas de prueba y los ajustes de recuperación junto con cada exportación. Al probar un texto fuente más limpio, empieza con la misma configuración de recuperación. Al probar el tamaño de los fragmentos o la clasificación, mantén fija la versión de la fuente. Si cambias ambas cosas a la vez, la respuesta puede mejorar, pero no podrás saber cuál de los cambios ayudó.
¿Qué deberías exportar de Beeuni?
Pide el texto depurado, los registros de fragmentos con metadatos, un manifiesto de fuentes y una lista de fallos de extracción. Importa esos archivos en tu canalización de indexación.
La guía de preparación de conjuntos de datos explica los registros de revisión y las divisiones de datos. Si necesitas activar la preparación desde tu aplicación, consulta cómo usar Beeuni como backend de agente.
Más artículos
Infraestructura para la investigación sobre RSI: ejecutar y evaluar agentes que se mejoran a sí mismos
Cómo ayuda Beeuni a repetir experimentos de mejora de agentes: editar código e instrucciones, ejecutar pruebas, investigar fallos y comparar versiones.
Usa Beeuni para ejecutar y evaluar un experimento de ajuste fino de un modelo
Pide a un agente que prepare los datos de entrenamiento, ejecute un trabajo de ajuste fino en el ordenador de entrenamiento conectado, investigue los fallos y compare las salidas del modelo.