Preparar documentos para la IA es la parte que nadie enseña en una demo de RAG. No es tan llamativa como conversar con un asistente que responde en segundos, pero determina si esa respuesta será fiable cuando el sistema llegue a producción.
La mayoría de proyectos RAG corporativos empiezan con una PoC impresionante y acaban con una producción decepcionante. La conversación con Dirección, cuatro meses después, es siempre parecida: “funcionaba en la demo”, “el modelo es bueno”, “el ingeniero dice que ha probado tres prompts y ninguno mejora las respuestas”. El proyecto se atasca. Y, en nueve de cada diez casos, el problema no está donde el equipo lo está buscando. No es el modelo, no es el prompt y no es el coste de tokens. Está en algo mucho menos glamuroso: cómo se preparan los documentos para la IA antes de la primera pregunta.
El 80% de la calidad de un sistema RAG se decide en el pre-procesado. Preparar documentos para la IA es un trabajo invisible, paciente, casi artesanal —y precisamente por eso, infravalorado. Este artículo recorre los pasos concretos de ese pre-procesado: extracción de texto multi-motor, conversión a Markdown, limpieza OCR, reconocimiento de entidades nombradas, enriquecimiento con metadatos y modos de chunking. Cada uno aporta un porcentaje a la calidad final del sistema. Saltarse alguno explica buena parte de los proyectos que fracasan.
Por qué preparar documentos para la IA es más importante que el modelo
Hay una intuición errónea muy extendida: la calidad de un sistema RAG depende del LLM elegido. La intuición es errónea porque los LLM modernos son razonablemente buenos en condiciones razonables. Si el contexto que reciben es claro, completo y bien estructurado, la respuesta será buena. Si el contexto está roto, no hay LLM que lo arregle.
El principio es el mismo que en cualquier sistema de aprendizaje automático: garbage in, garbage out. Pero en RAG, el “garbage” no son etiquetas mal puestas; son chunks de texto mal extraídos, sin contexto, contaminados con cabeceras y pies de página, con errores de OCR y sin metadatos del documento al que pertenecen. La IA no sabe que está leyendo el pie de página número 7 del informe trimestral en lugar de la conclusión —solo ve un fragmento de texto.
Tres consecuencias prácticas se derivan de esto:
- La inversión correcta no es cambiar el modelo. Es invertir tiempo de ingeniería en el pre-procesado. Cambiar de GPT-4o a GPT-4.1 raramente da el salto que sí da limpiar el OCR del corpus.
- El pre-procesado se hace una vez, el modelo se cambia muchas veces. Es esfuerzo amortizable. Cualquier mejora aplicada al pipeline de preparación se beneficia indefinidamente.
- El pre-procesado es donde se diferencian las plataformas serias. Comprar embeddings y montar FAISS lo hace cualquiera. Lo que separa un sistema RAG decente de uno excelente es la maquinaria de preparación que vive entre el documento y el vector.
Cómo preparar documentos para la IA en un sistema RAG
Preparar un corpus para RAG no consiste únicamente en extraer el texto y dividirlo en fragmentos. Requiere de una secuencia de operaciones que preserve la estructura del documento, elimine el ruido y añada el contexto necesario para que el sistema recupere la información correcta. Estos son los cinco pasos fundamentales:
Paso 1: extracción de texto con el motor adecuado
No todos los documentos son iguales y no todos los motores de extracción de texto son iguales. Un PDF nativo —generado a partir de un Word o de una plantilla— tiene texto extraíble directamente con librerías como pypdf o pymupdf. Un PDF escaneado requiere OCR. Un PDF con tablas complejas, sellos y firmas necesita motores especializados (Azure Vision, Google OCR, ABBYY). Un Word, un Excel o un HTML tienen extractores propios.
Preparar documentos para la IA correctamente exige seleccionar el motor adecuado por tipo de documento. Una plataforma documental seria ofrece varios motores conectables y permite seleccionar por contexto: motor local para datos sensibles, motor cloud para volumen alto, motor especializado para casos complejos.
En Athento, el pipeline de extracción de texto soporta múltiples engines —textract, pypdf, pymupdf, Tesseract, Azure Vision, Google OCR y otros— y permite configurarlos por tipo documental o por base de conocimiento. La elección no es académica: un OCR pobre sobre un documento sensible degrada la calidad del RAG mucho más que cualquier elección posterior.
Paso 2: conversión a Markdown para preservar la estructura
La extracción de texto plana —donde el resultado es una cadena lineal sin estructura— pierde una información crítica para la IA: la jerarquía del documento. Un encabezado de sección no es lo mismo que el texto del cuerpo. Un pie de página no es lo mismo que un punto clave del informe. Cuando el chunker corta el documento en fragmentos, esta diferencia desaparece y los chunks salen mezclados.
La conversión a Markdown resuelve este problema. Markdown preserva la jerarquía con marcadores simples (#, ##, ###) que el modelo entiende. La operación de conversión recorre el documento original, detecta encabezados por tamaño de fuente o por convenciones tipográficas, los marca como Markdown y elimina elementos ruidosos como cabeceras y pies de página repetidos.
Tres detalles importantes:
- Detección de encabezados por tamaño de fuente. Funciona razonablemente bien en PDFs nativos. En documentos escaneados, requiere heurísticas adicionales basadas en la posición y el formato.
- Eliminación de elementos repetidos. Cabeceras corporativas, pies de página con número de página, marcas de agua. Si estos aparecen en cada chunk, el modelo se confunde porque cree que la información está duplicada en el corpus.
- Configuración por expresiones regulares. Casos específicos —un determinado encabezado normativo, una numeración particular— se manejan con RegEx configurables. Esto permite mantener la conversión a Markdown gobernada por usuarios funcionales, sin código.
Un documento mal convertido a Markdown produce chunks que parecen sensatos individualmente pero no responden bien en agregado. Un documento bien convertido parece muy similar al ojo, pero el RAG funciona.
Paso 3: limpieza de OCR al nivel de chunk
Si el documento ha pasado por OCR, hay errores. Es inevitable. Las letras se confunden (l por 1, O por 0), las palabras se parten en medio (“infor mación”), aparece ruido (puntos perdidos, símbolos extraños). En texto plano, estos errores son ruido tolerable. En un sistema RAG, donde el vector se calcula a partir del texto, los errores degradan la calidad del embedding y, por tanto, la calidad de la recuperación.
La limpieza de OCR es un paso de pre-procesado dedicado. Las técnicas que mejor funcionan combinan tres elementos:
- Distancia de edición contra diccionarios. Para cada palabra del texto, se calcula la distancia de edición a las palabras del diccionario del idioma. Si la distancia es 1 o 2 y existe una palabra del diccionario cercana, se reemplaza.
- Configuración por idioma. Diccionarios distintos por idioma (es_ES, en_US) y detección automática del idioma del documento antes de aplicar la limpieza.
- Umbral configurable. Limpiar demasiado introduce errores; limpiar poco no resuelve el problema. El umbral óptimo depende del tipo de documento.
Sobrelimpiar es un error frecuente. Cuando el diccionario reemplaza nombres propios o términos técnicos por palabras comunes parecidas, el chunk pierde precisión. La limpieza debe ser conservadora: solo lo que estamos seguros de que es OCR mal hecho.
Paso 4: NER y enriquecimiento con metadatos antes del embedding
Aquí está uno de los pasos menos visibles y más impactantes para preparar documentos para la IA: enriquecer el texto que se va a embeber con información estructurada del documento.
La técnica funciona así. Antes de generar el embedding de un chunk, se concatena al texto del chunk una lista de entidades nombradas reconocidas (personas, organizaciones, lugares) y los metadatos relevantes del documento al que pertenece (tipo documental, fecha, estado del ciclo de vida, campos clave). El embedding resultante incorpora esa información en el vector. Cuando la consulta del usuario busca “contratos firmados con Acme Corp”, el chunk relevante tiene “Acme Corp” enriquecido como entidad y el match es directo.
Dos vías para reconocer entidades:
- Basada en diccionarios existentes. Si la organización ya mantiene maestros de clientes, productos o equipos, esos términos se detectan exactamente. Coste cero, precisión perfecta.
- Basada en NER con modelos. Para entidades genéricas (personas, organizaciones, lugares) que no están en diccionarios, modelos como spaCy con xx_ent_wiki_sm multilingüe detectan automáticamente. La precisión depende del idioma y del dominio.
El enriquecimiento con metadatos es complementario: el tipo documental, el estado, los campos clave se concatenan al texto antes del embedding. Esto permite que una consulta tipo “facturas pendientes de pago superiores a 10.000 euros” recupere chunks correctos sin necesidad de filtrar primero por metadatos —el embedding ya lleva la información dentro.
Paso 5: estrategia de chunking adecuada al corpus
Chunking es cómo dividimos el documento en fragmentos para indexar. Si el chunk es demasiado pequeño, perdemos contexto. Si es demasiado grande, mezclamos temas en un mismo embedding y el resultado se diluye. La elección del modo correcto depende del tipo de corpus.
Hay dos modos principales:
- Por documento. Un embedding por documento completo. Ideal para documentos cortos (correos, notas, fichas, certificados de una página). El embedding captura el contenido general y el RAG funciona con buena precisión.
- Por chunk. El documento se divide en fragmentos de tamaño configurable, con solapamiento entre fragmentos. Ideal para documentos largos (contratos, manuales, informes). Cada chunk se indexa independientemente y la búsqueda recupera los fragmentos más relevantes.
La regla práctica: documentos cortos al modo por documento; documentos largos al modo por chunk con tamaño 500-1000 tokens y solapamiento de 100-200 tokens. Pero la verdad es que esto requiere ajuste empírico sobre el corpus concreto. Una plataforma seria permite configurar el modo y el tamaño por base de conocimiento, no por instalación, porque un repositorio puede contener bases con documentos muy distintos.
El resultado: benchmarks medidos sobre un corpus real
Cuando todos estos pasos se aplican correctamente, el resultado es medible. Athento ha evaluado su funcionalidad de Bases de Conocimiento sobre la documentación oficial del producto —un corpus real de 1.761 artículos en español e inglés— con un conjunto de 73 preguntas que combinan consultas reales procedentes de RFPs con preguntas generadas por IA, incluyendo 20 variaciones diseñadas para evaluar robustez (paráfrasis, errores tipográficos, formulaciones ambiguas y combinaciones de idiomas).
Los resultados son:
- Recall: 94,5%. El sistema recupera el documento relevante en 69 de cada 73 preguntas.
- Precisión: 86,3% estricta, 91,8% incluyendo respuestas parciales. La respuesta es correcta en 63 de cada 73 preguntas.
- Robustez: 85% estricta, 87,5% con respuestas parciales. El sistema mantiene la calidad ante paráfrasis, errores tipográficos y formulaciones ambiguas.
Estos números no son particularmente excepcionales en abstracto —hay sistemas con cifras parecidas. Lo relevante es que se sostienen sobre un corpus heterogéneo, multilingüe y de tamaño no trivial, y son consecuencia directa del pre-procesado descrito. Sin los pasos anteriores, la precisión típica sobre el mismo corpus cae al rango 60-70%.
Cómo empezar a preparar documentos para la IA en tu organización
Si estás diseñando un sistema RAG para tu organización, te dejamos una secuencia que ha demostrado funcionar:
- Empieza por un corpus acotado. No intentes indexar todo el repositorio el primer día. Selecciona un dominio (una base de conocimiento, un tipo documental, un equipo) y trabaja sobre él.
- Construye un conjunto de prueba antes que el sistema. Define 50-100 preguntas reales con sus respuestas esperadas. Sin esto, no podrás medir si tu pre-procesado mejora o empeora el sistema.
- Aplica los pasos en orden. Extracción, Markdown, limpieza OCR, NER, metadatos, chunking. Cambia un paso a la vez y mide. Vas a descubrir que algunos pasos aportan mucho menos en tu corpus que en otros.
- Itera el pre-procesado, no el modelo. Si la métrica no mejora, antes de cambiar de modelo o de prompt, revisa qué documentos están fallando. El 80% de las veces el problema está en el chunk, no en la respuesta.
¿Quieres ver en directo cómo funciona? No te pierdas este vídeo, en el que mostramos cómo convertir la documentación de una organización en conocimiento accesible mediante IA y RAG.
Un buen sistema RAG se construye antes del prompt
Preparar documentos para la IA es un trabajo poco glamuroso, paciente y muy bien recompensado. No produce slides bonitas para enseñar al comité de Dirección, pero produce sistemas RAG que funcionan en producción y que sostienen mil preguntas al día sin degradarse. Es, con diferencia, la inversión más rentable que puede hacer un equipo de IA documental en 2026.
En Athento, este pre-procesado está integrado en el mismo gestor documental que aloja el repositorio: extracción multi-motor, conversión a Markdown configurable, limpieza OCR por idioma, NER con diccionarios y modelos, enriquecimiento automático con metadatos y dos modos de chunking. Los benchmarks compartidos en este artículo se han obtenido con este pipeline aplicado a un corpus real, no a un dataset de laboratorio. Si te interesa replicar un ejercicio similar sobre tu propia documentación, una prueba de tres a cuatro semanas suele ser suficiente para tener números medidos.
Solicita una prueba con tu propia documentación.