Back to flin
flin

Análisis de documentos: PDF, DOCX, CSV, JSON, YAML

Cómo FLIN extrae texto de archivos PDF, DOCX, CSV, JSON y YAML para indexación y RAG -- analizadores integrados que convierten cualquier formato de documento en texto buscable e indexable.

Juste A. Gnimavo (Thales) & Claude | March 26, 2026 2 min flin
EN/ FR/ ES
flinrust

RAG es tan bueno como los datos que recupera. Si su base de conocimientos es una colección de archivos PDF, documentos Word y hojas de cálculo CSV, necesita extraer el texto antes de poder embebarlo y buscarlo. En un stack RAG típico, esto requiere bibliotecas de análisis separadas: pdfjs-dist para PDFs, mammoth para DOCX, csv-parse para CSV, cada una con su propia API y sus propios casos límite.

FLIN proporciona una sola función parse_document() que maneja todos los formatos de documento comunes. Dele un archivo, obtenga texto estructurado. Sin selección de biblioteca. Sin detección de formato. Sin adivinanza de codificación.

La función parse_document()

flin// Analizar cualquier formato soportado
result = parse_document("path/to/document.pdf")

// Estructura del resultado
result.text       // Texto completo extraído
result.metadata   // Metadatos del documento (título, autor, páginas, etc.)
result.format     // Formato detectado ("pdf", "docx", "csv", etc.)
result.pages      // Arreglo de textos de página (para PDF)
result.sections   // Arreglo de secciones con encabezados (para DOCX)
result.rows       // Arreglo de objetos de fila (para CSV)

Formatos soportados

FormatoExtensionesAnalizadorNotas
PDF.pdfRust personalizadoTexto, tablas, metadatos
DOCX.docxZIP + XMLEncabezados, párrafos, tablas
CSV.csv, .tsvPersonalizadoAuto-detección de delimitador
JSON.jsonserde_jsonAplanado a texto
YAML.yaml, .ymlserde_yamlAplanado a texto
Texto plano.txt, .mdDirectoSin análisis necesario
HTML.html, .htmEliminación de etiquetasContenido de texto extraído

El análisis de documentos es la base no glamurosa de cualquier sistema RAG. Sin extracción de texto limpia y estructurada, los embeddings son pobres y los resultados de búsqueda son irrelevantes. Los analizadores integrados de FLIN aseguran que el texto que entra al pipeline de embedding sea limpio, estructurado y fiel al documento original.


Esta es la Parte 121 de la serie "Cómo construimos FLIN", que documenta cómo un CEO en Abidjan y un CTO de IA diseñaron y construyeron un lenguaje de programación desde cero.

Navegación de la serie: - [120] RAG: recuperación, reranking y atribución de fuentes - [121] Análisis de documentos: PDF, DOCX, CSV, JSON, YAML (estás aquí) - [122] Chunking consciente del código para RAG - [123] Búsqueda híbrida de documentos: BM25 + semántica

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude deblo

El Step Zero no bastó: cómo validar un constructor pero no el runtime tumbó cada sesión de voz de Déblo la hora en que enviamos streaming de cámara en tiempo real

La Fase 14 envió Déblo Eyes — streaming de cámara en tiempo real por LiveKit hacia Gemini Live native audio. El primer despliegue tumbó cada sesión de voz en producción en noventa segundos porque nuestro Step 0 había validado el constructor sin ejercitar el runtime. El build log de cómo Déblo obtuvo ojos, lo que costó un pre-vuelo incompleto, y qué pulidos enviamos versus aplazamos.

33 min May 20, 2026
debloclaude-opus-4.7claude-codegemini-live +25
Thales & Claude deblo

La raya que mató producción: cómo un eslogan de marketing en un encabezado HTTP tumbó el chat de Déblo durante 24 horas

Dos días antes del envío a la App Store, todo el producto de chat de Déblo se rompió en silencio. Sin spinner, sin toast, sin error en la UI — solo aire muerto. La interrupción de 24 horas se reducía a una sola « é » en el valor de un encabezado HTTP que lanzaba UnicodeEncodeError antes de que cualquier petición a OpenRouter saliera del backend. El post-mortem de una falsa hipótesis, una traza de Sentry, y un fix de seis líneas que desbloqueó el lanzamiento.

29 min May 19, 2026
debloclaude-opus-4.7claude-codeincident +19
Thales & Claude deblo

Seis horas, de página en blanco a Apple Review — Cómo enviamos Déblo a la App Store, en vivo

Recorrido en vivo del envío de Déblo a la App Store iOS en seis horas: lo que rechazaron los validadores de Apple (un superíndice Unicode), lo que corregimos (un Promotional Text desperdiciado en marcas de terceros), y los mecanismos del ASO de iOS que casi todos se pierden.

30 min May 13, 2026
debloclaude-opus-4.7claude-codeapp-store +16