Curso
¿Cuántas veces has montado una demo de RAG que va de lujo con un par de PDFs limpios, pero que no consigue responder nada cuando usas documentos reales de empresa?
Pasa lo de siempre: las tablas se "aplanan", las páginas escaneadas desaparecen, un deck de slides pierde sus encabezados y la lógica de chunking separa un título de sección de su contenido. Un sistema RAG en producción está muy lejos de ser solo un LLM con una base vectorial. Necesita análisis de documentos, una estrategia de troceado, recuperación híbrida, reranking, trazabilidad de citas, orquestación de agentes y media docena más de piezas que tienes que configurar tú.
RAGFlow es una plataforma open source que integra todo eso en una sola pila. Se encarga del análisis profundo de documentos, chunking basado en plantillas, recuperación híbrida, flujos de trabajo con agentes e integración MCP bajo una única interfaz y API, para que puedas centrarte en tu base de conocimiento y nada más.
En este artículo te explico cómo funciona RAGFlow por dentro, cómo es su arquitectura, en qué se diferencia de LangChain y LlamaIndex y cómo desplegarlo.
Si necesitas repasar cómo funciona RAG, apúntate a nuestro curso Retrieval Augmented Generation (RAG) with LangChain: en una tarde tendrás claros los fundamentos.
¿Qué es RAGFlow?
RAGFlow es un motor RAG de código abierto creado por InfiniFlow y publicado bajo licencia Apache 2.0 en abril de 2024.
Está pensado para aplicaciones de IA en producción donde la calidad de la recuperación marca la diferencia. El proyecto se centra en la comprensión profunda de documentos, tratando el parseo y el chunking como la base de todo lo demás. Si tus PDFs, hojas de cálculo y presentaciones están hechos un lío, ningún reranker ni un LLM más grande te salvarán: primero hay que trabajar la calidad del documento.
Lo que diferencia a RAGFlow de la mayoría de herramientas RAG es que es una pila completa. En un mismo sistema tienes parseo de documentos, chunking basado en plantillas, recuperación híbrida, reranking, trazabilidad de citas, un constructor de flujos de trabajo con agentes y soporte MCP. No tienes que elegir una base vectorial, configurar un parser, añadir un reranker y construir una UI encima: todo está ahí, tras una única interfaz web y API.
Eso acerca RAGFlow más a una plataforma que a un framework.
Cómo funciona RAGFlow
RAGFlow sigue el pipeline estándar de RAG, pero cada paso es un componente configurable en lugar de código que tengas que escribir.
Esto es lo que ocurre desde que subes un documento hasta que el LLM devuelve una respuesta:
- Ingesta de documentos: subes archivos o conectas una fuente de datos. RAGFlow acepta PDFs, archivos de Word, hojas de Excel, presentaciones de PowerPoint, Markdown, HTML, imágenes y escaneos. Desde la v0.25 también puedes sincronizar datos de Confluence, S3, Notion, Discord y Google Drive.
- Parsea y estructura el contenido: el motor DeepDoc lee cada archivo con OCR, reconocimiento de estructura de tablas y reconocimiento de layout. El resultado es contenido estructurado con metadatos sobre encabezados, tablas, figuras y orden de lectura.
- Genera embeddings: RAGFlow procesa cada chunk con el modelo de embeddings que elijas en la configuración. Puedes usar OpenAI, Cohere, Voyage, un modelo local u otros compatibles.
- Indexa el conocimiento: los chunks y sus vectores van al motor de documentos. Elasticsearch es el predeterminado, pero puedes cambiar a Infinity, la base de datos de InfiniFlow diseñada para búsqueda híbrida.
- Recupera contexto relevante: cuando entra una consulta, RAGFlow ejecuta búsqueda vectorial, búsqueda por palabras clave BM25 y reranking a la vez. Devuelve los mejores chunks con citas al documento fuente.
- Genera respuestas con un LLM: los chunks recuperados se incluyen en el prompt, el LLM redacta la respuesta y RAGFlow añade las citas para que el usuario pueda rastrear cada afirmación hasta el pasaje de origen.
El orden no tiene misterio. Lo importante es que cada paso es una pieza configurable de la plataforma y puedes inspeccionar la salida en cada etapa.
Arquitectura de RAGFlow
La arquitectura de RAGFlow tiene cuatro capas, y cada una resuelve un problema concreto del pipeline RAG. Aquí tienes un vistazo rápido:

Arquitectura de RAGFlow visualizada
Ahora te guío por cada capa.
Ingesta de documentos
Este es el punto de entrada. RAGFlow acepta PDFs, documentos de Office como Word, Excel y PowerPoint, archivos Markdown y páginas web. También funcionan documentos escaneados e imágenes, ya que integra OCR.
Puedes subir archivos desde la UI, conectar una fuente en la nube o enviar documentos por la API. La capa de ingesta normaliza todo a un formato común antes de pasar a la siguiente etapa.
Procesamiento del conocimiento
Aquí entra en juego DeepDoc.
El parseo convierte archivos en bruto en contenido estructurado con encabezados, párrafos, tablas y figuras. El chunking divide ese contenido en unidades de recuperación según la plantilla que elijas (General, Paper, Book, Q&A, Manual, Table o Naive). La extracción de metadatos añade contexto a cada chunk, como número de página, título de sección y posición en la página.
Los chunks que salen de esta capa conservan su estructura. Una tabla sigue siendo una tabla, un encabezado permanece con su sección y el pie de figura se mantiene junto a su figura. No queda aleatorio como en muchas estrategias tradicionales de chunking para RAG.
Motor de recuperación
El motor de recuperación se apoya en Elasticsearch o Infinity, según el motor de documentos que configures.
Ejecuta tres tipos de búsqueda en paralelo:
- Búsqueda vectorial para similitud semántica
- Búsqueda por palabras clave BM25 para coincidencias exactas
- Reranking sobre los resultados combinados para empujar arriba los chunks más relevantes
Esta capa te da un conjunto pequeño de chunks de alta calidad que entran en el prompt del LLM.
Capa de LLM
La capa de LLM envía los chunks recuperados al modelo que hayas conectado: OpenAI, DeepSeek, Gemini, Claude, un modelo local con Ollama u otro compatible con RAGFlow.
La respuesta vuelve con citas. Cada afirmación de la respuesta apunta a un chunk concreto, y cada chunk apunta a una ubicación específica en el documento fuente. A esto RAGFlow lo llama respuestas fundamentadas: el usuario puede hacer clic en la cita y ver el pasaje exacto del que proviene, lo que facilita detectar alucinaciones.
Las cuatro capas funcionan como un pipeline. La ingesta alimenta el procesamiento del conocimiento, este alimenta el motor de recuperación y el motor de recuperación alimenta la capa de LLM.
Funciones clave de RAGFlow
Estas son las funciones que más importan cuando construyes un sistema RAG con documentos reales y desordenados.
Parseo avanzado de documentos
El parser de RAGFlow se llama DeepDoc y es la razón de ser de la plataforma.
DeepDoc ejecuta tres modelos de visión en cada documento: OCR para extraer texto, TSR para reconocer la estructura de tablas y DLR para reconocer el layout del documento. En lugar de tratar un PDF como un flujo de caracteres, lo "lee" como una persona: ve dónde están las tablas, dónde rompen las columnas, qué texto es un encabezado y cuál es una nota al pie.
Esa estructura fluye a los chunks. Las tablas se mantienen con sus cabeceras, los layouts multicolumna se leen en el orden correcto y las figuras conservan sus pies de foto.
Si has intentado hacer esto a mano, sabes lo difícil que es hacerlo bien en distintos tipos de documentos y a escala.
Recuperación híbrida
La búsqueda semántica falla a menudo cuando importa la palabra exacta. La búsqueda por palabras clave sola falla cuando importa el significado aunque cambie el texto.
RAGFlow ejecuta ambas a la vez:
- Búsqueda vectorial para capturar coincidencias semánticas: "revenue" encuentra "sales" e "income"
- Búsqueda por palabras clave para coincidencias exactas: aparece un código de producto o un término legal aunque el modelo de embeddings no lo "entienda"
- Reranking reordena los resultados combinados con un modelo específico, de modo que los primeros chunks sean realmente los más relevantes
Constructor de flujos
El constructor de flujos es un lienzo visual donde configuras el pipeline sin escribir código.
Arrastras componentes al lienzo (recuperación, rerank, LLM, ejecución de código, llamadas HTTP, iteraciones, bifurcaciones) y los conectas en un flujo. RAGFlow incluye plantillas para patrones comunes como Retrieve - Rerank - Answer, Deep Research y Data Analytics.
Para equipos con poca ingeniería, esto les permite crear un prototipo funcional en una semana.
Soporte de agentes
Desde la v0.20, RAGFlow soporta flujos agentic completos en el mismo lienzo que los flujos normales.
Un componente agente puede planificar, reflexionar, llamar a herramientas y delegar en subagentes. Configuras un prompt y una lista de herramientas, y el agente decide en tiempo de ejecución qué herramienta usar y en qué orden. Las herramientas pueden ser componentes integrados, servidores MCP conectados u otros agentes.
El valor está en razonar sobre el conocimiento recuperado.
Un agente de soporte puede consultar una base de conocimiento, llamar a una API externa para ver el estado de un ticket y decidir si escalar. Todo en un único flujo, con citas adjuntas a las partes que vienen de documentos.
Parseo de documentos y extracción de conocimiento
La calidad de la recuperación empieza por la calidad del parseo. Si fallas aquí, no te salva ni el mejor reranker ni un LLM más grande.
La mayoría de fallos de RAG ocurren a nivel de documento: un PDF lleno de tablas se extrae como valores separados por comas o una presentación pierde su jerarquía visual. Cuando esos chunks llegan a la base vectorial, ya no aportan nada.
RAGFlow afronta el parseo como un problema de primera clase.
Tablas
Las tablas son lo más difícil del parseo. Un parser PDF estándar lee una tabla fila a fila y la convierte en un flujo de números sin cabeceras. Pierdes la estructura.
DeepDoc ejecuta Table Structure Recognition (TSR) antes del chunking. Identifica los límites de la tabla, la fila de cabecera, las columnas y las relaciones entre celdas. Cuando el chunker divide el documento, las tablas se mantienen íntegras con sus cabeceras y cada fila conserva su contexto.
Imágenes y escaneos
DeepDoc usa OCR para extraer texto de páginas escaneadas y, desde la v0.19, puede usar un modelo vision-language para interpretar imágenes dentro de PDFs y archivos DOCX.
Esto significa que un diagrama, un gráfico o la foto de un recibo puede convertirse en contenido recuperable.
Layouts multicolumna
Los artículos académicos y los informes financieros usan diseños multicolumna. Un parser ingenuo los lee de izquierda a derecha, línea a línea, mezclando columnas y generando texto sin sentido.
DeepDoc usa Document Layout Recognition (DLR) para determinar primero el orden de lectura. Sabe que la columna 1 va antes que la 2 y que un encabezado puede abarcar ambas columnas.
Metadatos
Cada chunk incluye metadatos como número de página, título de sección, posición en la página y el archivo fuente del que proviene.
Esto hace posibles las citas. Cuando el LLM cita un pasaje, RAGFlow puede apuntar a la página y ubicación exactas del documento fuente. También permite filtrar a nivel de chunk: puedes buscar dentro de una sección o de un documento concretos.
Calidad de los chunks
El último eslabón es el propio chunking. RAGFlow usa chunking basado en plantillas: eliges la que mejor encaje con tu tipo de documento (General, Paper, Book, Q&A, Manual, Table o Naive).
Cada plantilla aplica reglas distintas para cortar. La plantilla Paper mantiene abstract, métodos y resultados como unidades separadas. La de Q&A mantiene cada pregunta con su respuesta. La de Manual respeta encabezados y procedimientos. Ya te haces una idea.
El resultado son chunks que se sostienen por sí solos. Al incluirlos en la ventana de contexto del LLM, tienen suficiente significado para responder a la pregunta.
Recuperación en RAGFlow
Una vez que tus documentos están parseados y troceados, la recuperación decidirá si el LLM ve el contexto adecuado. El motor de recuperación de RAGFlow combina tres piezas.
Recuperación vectorial
La búsqueda vectorial capta la similitud semántica. Embebes la consulta y cada chunk con el mismo modelo y el motor devuelve los chunks cuyos vectores están más próximos al vector de la consulta.
Esto permite que una búsqueda de "revenue growth" encuentre un chunk sobre "sales increase" aunque los términos no coincidan. RAGFlow te deja elegir el modelo de embeddings (OpenAI, Cohere, Voyage, BGE o uno local) y cambiarlo más adelante sin reconstruir todo el sistema.
Búsqueda híbrida
La búsqueda vectorial no es la mejor para términos exactos. Cosas como un código de producto o una referencia legal quizá no tengan una señal semántica fuerte, pero coincidir exactamente importa mucho.
RAGFlow ejecuta búsqueda por palabras clave BM25 junto a la vectorial y combina los resultados. En una misma consulta obtienes el recall semántico de los embeddings y la precisión del matching por palabra clave.
Reranking
La primera ronda de recuperación te da un conjunto candidato, normalmente los 30 o 50 mejores chunks. Son demasiados para la ventana de contexto del LLM y la parte alta suele traer ruido.
El reranking toma esos candidatos y los reordena con un modelo dedicado que lee la consulta y cada chunk juntos. El reranker entiende qué es relevante para la consulta, no solo qué es similar. Los 5 o 10 primeros tras el reranking son los que van al prompt.
Selección de contexto
El paso final es decidir qué entra en el contexto del LLM. RAGFlow te permite fijar el número de chunks, el umbral de similitud y la puntuación mínima del reranker.
También puedes usar opciones avanzadas como RAPTOR (resumen jerárquico para preguntas multi-hop) o long-context RAG (índices de contenido a nivel de documento generados automáticamente que dan al LLM un mapa del material fuente). Son útiles cuando la recuperación plana por chunks no basta.
El objetivo del motor de recuperación es darle al LLM exactamente el contexto que necesita y nada más.
RAGFlow vs. pipelines RAG tradicionales
Los pipelines RAG tradicionales se construyen con herramientas independientes. Eliges un parser (Unstructured, LlamaParse, PyMuPDF), un chunker (text splitters de LangChain, código propio), un modelo de embeddings, una base vectorial (Pinecone, Weaviate, Chroma, Qdrant), un reranker (Cohere, BGE), un cliente de LLM y una UI. Luego escribes el código que lo une todo.
Este enfoque da máximo control, pero exige mucha ingeniería.
Cada punto de integración es código que planificar, escribir, probar y mantener. Si quieres añadir trazabilidad de citas, tienes que construirla. Si un componente cambia su API, arreglas el pipeline.
RAGFlow adopta el enfoque contrario.
Es una plataforma integrada donde parseo, chunking, recuperación, reranking, citas, orquestación de flujos y una interfaz web vienen listos para usar. Configuras desde la interfaz en lugar de con código, y las piezas ya están conectadas.
Lo que cedes es flexibilidad. Si quieres cambiar a un algoritmo novedoso de chunking o a un reranker experimental, trabajas dentro del modelo de plugins de RAGFlow en vez de escribir Python. Para la mayoría de casos de producción, esto está bien; para uso experimental puede sentirse restrictivo.
Resumen de diferencias:
| RAG tradicional | RAGFlow | |
|---|---|---|
| Configuración | Ensamblar múltiples herramientas | Una plataforma, un despliegue |
| Orquestación | Código a medida | Constructor visual de flujos |
| Esfuerzo de ingeniería | Alto | Bajo a medio |
| Flexibilidad | Control total | Limitada por la plataforma |
| Tiempo hasta el primer resultado | Días a semanas | Horas |
| Ideal para | Pipelines a medida o experimentales | Sistemas en producción con documentos desordenados |
Ningún enfoque es universalmente mejor. Si tienes tiempo de ingeniería y necesitas control total, un pipeline tradicional es lo adecuado. Si quieres centrarte en la base de conocimiento, con RAGFlow irás más rápido.
RAGFlow vs LangChain y LlamaIndex
Si estás considerando RAGFlow, seguramente conozcas LangChain y LlamaIndex. Veamos cómo se comparan.
LangChain
LangChain es un framework de aplicaciones para LLMs. Su foco principal es la orquestación: encadenar prompts, herramientas, memoria y modelos en flujos. LangChain no se preocupa demasiado por cómo parseas documentos o configuras la recuperación; le importa lo que pasa después de recuperar.
Si tu proyecto es intensivo en agentes (llamadas a herramientas, razonamiento multi-paso, lógica con bifurcaciones, humano en el bucle), LangChain (y su capa de máquina de estados, LangGraph) es lo que la mayoría de equipos usa.
LlamaIndex
LlamaIndex es un framework de datos para LLMs. Se centra en ingerir datos, construir índices sobre ellos y consultarlos bien. Tiene más de 160 conectores de datos, varios tipos de índice (vectorial, por palabras clave, árbol, grafo de conocimiento) y valores por defecto razonables para chunking y recuperación.
Si tu proyecto es intensivo en recuperación, con muchos documentos, requisitos de búsqueda profundos y diversas fuentes, LlamaIndex es la mejor opción code-first.
RAGFlow
RAGFlow es una plataforma RAG integrada. No es una librería que importes en Python: es un sistema que despliegas. Trae parseo, chunking, recuperación, reranking, citas, flujos, agentes y una interfaz web.
Si tu prioridad es poner en marcha un RAG en producción con documentos desordenados sin escribir el pipeline desde cero, RAGFlow es el camino más rápido.
También pueden combinarse. Un patrón común es LlamaIndex para la ingesta, LangChain o LangGraph para la orquestación de agentes y RAGFlow cuando quieres una pila completa self-hosted en lugar de código hecho a mano.
Aquí tienes un resumen:
| LangChain | LlamaIndex | RAGFlow | |
|---|---|---|---|
| Tipo | Framework de aplicaciones | Framework de datos | Plataforma integrada |
| Enfoque principal | Orquestación, agentes | Ingesta, indexación, recuperación | Pila RAG end-to-end |
| Interfaz | Librería de Python / JavaScript | Librería de Python | Interfaz web + API |
| Parseo de documentos | Básico (con integraciones) | Bueno | El mejor (DeepDoc) |
| Soporte de agentes | Fuerte (LangGraph) | Básico (workflows) | Fuerte (v0.20+) |
| Ideal para | Apps centradas en agentes | Apps centradas en recuperación | RAG en producción con documentos desordenados |
| Lenguaje | Code-first | Code-first | Config-first (con API) |
Crear una aplicación RAG con RAGFlow
Una vez en marcha, construir una aplicación RAG con RAGFlow sigue cinco pasos. De nuevo, no escribes el pipeline: configuras cada paso desde la UI o la API.
Ingiere documentos
Empieza subiendo tus documentos. Puedes añadir archivos desde la interfaz web, conectar una fuente como Google Drive, S3, Notion, Confluence o Discord, o añadir archivos por API.

Ejemplo de ingesta de documentos
RAGFlow acepta la mayoría de formatos comunes, así que no tienes que convertir nada de antemano.
Configura la base de conocimiento
Una base de conocimiento en RAGFlow es un contenedor para tus documentos, chunks y ajustes. Eliges la plantilla de chunk que encaja con tu tipo de documento (General para contenido mixto, Paper para investigación, Manual para documentación técnica, Q&A para soporte, etc.), eliges el modelo de embeddings y el parser.

Configuración de la base de conocimiento
Ten en cuenta que esta elección es importante: una buena plantilla evita muchos dolores de cabeza después.
Elige una estrategia de recuperación
Decide cómo debe funcionar la recuperación. Fijas el número de chunks a devolver, el umbral de similitud y si usar búsqueda híbrida o solo vectorial. También puedes activar el reranking y elegir el modelo.
Para casos avanzados, RAGFlow soporta RAPTOR para resumen jerárquico y grafos de conocimiento para recuperación basada en entidades. Puedes activarlo en la configuración de la base de conocimiento.
Conecta un LLM
RAGFlow no incluye un LLM. Traes el tuyo: OpenAI, DeepSeek, Gemini, Claude, un modelo local vía Ollama u otro compatible con RAGFlow.

Opciones de modelo
Añades tu clave de API en ajustes, eliges el modelo y estableces el prompt del sistema.
Prueba las respuestas
El último paso es probar. RAGFlow tiene una interfaz de chat donde puedes consultar la base de conocimiento y ver la respuesta con citas adjuntas.
Haz clic en cualquier cita y llegarás al chunk exacto con su posición resaltada en el documento fuente.
La mayoría de equipos repiten este ciclo varias veces antes de que las respuestas sean útiles. Es normal en cualquier sistema RAG, pero con RAGFlow cambias ajustes en la UI en lugar de reescribir código Python.

Ejemplo de configuración de chat
RAGFlow en producción
Verás RAGFlow en producción en un conjunto concreto de casos, sobre todo donde la calidad del documento y la trazabilidad de citas son clave.
Bases de conocimiento corporativas
Las grandes empresas tienen miles de documentos repartidos por unidades compartidas, Confluence, SharePoint y PDFs en adjuntos de email. La gente rara vez encuentra lo que necesita, y preguntar al LLM sin RAG produce alucinaciones.
Aquí RAGFlow funciona bien.
PDFs antiguos, políticas escaneadas, hojas de Excel con tablas dinámicas, presentaciones de hace años: todo se parsea. Y con citas, legal y compliance pueden confiar en las respuestas, y la interfaz web permite que perfiles no técnicos mantengan la base de conocimiento.
Asistentes de soporte al cliente
Los equipos de soporte acumulan años de tickets, FAQs, manuales de producto y runbooks internos. Un asistente debe buscar en todo eso, encontrar el pasaje adecuado y saber cuándo escalar.
La plantilla de chunks Q&A está pensada justo para esto. Le das tu histórico de tickets y trata cada par pregunta-respuesta como una unidad de recuperación. Si añades una capa de agente encima y conectas una API para consultar pedidos, tendrás un asistente que resuelve lo rutinario y entrega los casos peliagudos con todo el contexto.
Búsqueda en documentación interna
Los equipos de ingeniería tienen runbooks, documentación de arquitectura, postmortems de incidentes y referencias de API repartidas por Notion, Confluence y GitHub. Grep sirve para palabras clave, pero no para "¿cómo resolvimos la última vez que saltó esta alerta?"
RAGFlow te da búsqueda semántica sobre todo el corpus con citas a la fuente. Los ingenieros obtienen el pasaje y el enlace a la página original en un clic.
Asistentes de investigación
Los equipos de investigación trabajan con papers, patentes, informes y experimentos internos. La plantilla Deep Research de RAGFlow está diseñada para esto: recuperación multi-turn con razonamiento en cadena, donde el agente descompone la pregunta, busca piezas de la respuesta y las sintetiza.
En finanzas, legal y farma, poder rastrear cada afirmación hasta su fuente es lo que hace usable al asistente.
El patrón común en estos casos es que los documentos son lo difícil. Si tu material fuente es limpio y simple, casi cualquier herramienta RAG sirve. Si es desordenado y estructurado, la capa de parseo de RAGFlow probablemente te lleve más lejos que construir el pipeline desde cero.
Despliegue de RAGFlow
RAGFlow te ofrece tres vías de despliegue. Te las cuento.
Despliegue con Docker
Docker Compose es la vía principal. Clonas el repo, entras en la carpeta docker y ejecutas docker compose up -d. Eso levanta el servidor de RAGFlow junto con Elasticsearch, MinIO, MySQL y Redis.
Los requisitos mínimos son 4 cores de CPU, 16 GB de RAM y 50 GB de disco. En la práctica, querrás más RAM si manejas colecciones grandes, ya que Elasticsearch e Infinity consumen bastante memoria.
Las imágenes Docker apuntan a x86. Si usas Apple Silicon u otra ARM64, la capa de traducción te permitirá arrancar, pero para mejor rendimiento conviene construir la imagen tú siguiendo la guía ARM64 de la documentación de RAGFlow.
Desarrollo local
Si quieres modificar el código fuente de RAGFlow, puedes ejecutar backend y frontend desde el código. Usas uv para dependencias de Python, ejecutas docker compose -f docker/docker-compose-base.yml up -d para levantar solo los servicios de apoyo (MinIO, Elasticsearch, MySQL, Redis), luego inicias el backend con un script y el frontend con npm run dev.
Esta vía solo compensa si contribuyes al proyecto o estás depurando. Para la mayoría, Docker Compose es más rápido.
Despliegue en la nube
InfiniFlow ofrece una versión alojada en cloud.ragflow.io. Tiene un plan gratis con 5 apps y 500 créditos al mes, y planes de pago a 29 $, 129 $ y enterprise.
La versión cloud está bien para prototipos y equipos pequeños. Para producción seria con datos sensibles, la mayoría se autoalojan en su infraestructura, ya sea en una VM para despliegues pequeños o en Kubernetes con el chart de Helm para mayores.
Escalado
El despliegue por defecto ejecuta todo en una máquina. Vale hasta cierto punto, pero luego chocarás con límites por número de documentos, carga de consultas o tamaño del equipo.
Las piezas que escalan por separado son el motor de documentos (Elasticsearch o Infinity), el almacenamiento de objetos (MinIO) y la propia app de RAGFlow. Para despliegues grandes, separas esos servicios, usas Elasticsearch gestionado o un store S3-compatible y ejecutas múltiples instancias de RAGFlow tras un balanceador.
La aceleración por GPU para DeepDoc es otra palanca. El parseo consume CPU por defecto, pero puedes activar modo GPU en la configuración, lo que acelera ingestas grandes.
El resto es trabajo estándar de infraestructura, y RAGFlow no estorba.
Ventajas y limitaciones de RAGFlow
Toda herramienta tiene trade-offs, y RAGFlow no es diferente. Esto es lo que debes saber antes de usarlo.
Ventajas
- Es una plataforma integrada: no tienes que elegir parser, base vectorial, reranker, chunker y framework de UI y luego escribir el código. RAGFlow lo incluye todo.
- El procesamiento de documentos es su punto fuerte: DeepDoc maneja PDFs, escaneos, tablas y layouts complejos mejor que la mayoría. Si tus documentos son desordenados, esto por sí solo puede justificar usar RAGFlow.
- Orientado a producción desde el primer día: citas fundamentadas, visualización de chunks, flujos con agentes, soporte MCP y una UI de gestión real incluidos.
- Es open source bajo Apache 2.0: puedes autoalojarlo, modificar el código y ejecutarlo en tu infraestructura. El repo de GitHub supera las 80k estrellas y tiene desarrollo activo, así que el proyecto tiene recorrido.
Limitaciones
- El despliegue no es tan simple como parece: Docker Compose ayuda, pero sigues ejecutando Elasticsearch o Infinity, MinIO, MySQL y Redis junto a la app. Algo se romperá en algún momento y necesitarás saber lo suficiente de Docker para arreglarlo.
- Requisitos de infraestructura: el mínimo son 16 GB de RAM y 4 cores, pero eso es para cargas pequeñas. En despliegues reales se necesitan 32 GB o más, especialmente si usas Infinity o haces ingestas grandes. Un VPS de 5 $ no va a servir.
- Curva de aprendizaje: el constructor de flujos es potente, pero tiene muchas piezas, y encontrar la plantilla de chunk y los ajustes de recuperación adecuados lleva tiempo. Te pasarás unos días hasta sentirte cómodo.
Nada de esto es un stopper si RAGFlow encaja con tu caso. Piénsalo como el coste de tener una plataforma en lugar de una librería.
¿Quién debería usar RAGFlow?
RAGFlow no es ideal para todos los proyectos. Aquí a quién le encaja y quién debería optar por algo más ligero.
Mejor encaje
Ingenieros de IA que construyen sistemas RAG en producción. Si tu trabajo es crear una app RAG que funcione y no escribir otra librería de chunking, RAGFlow te quita la mayor parte de la fontanería.
Equipos de IA en grandes empresas. Legal, compliance, finanzas y soporte necesitan citas y trazabilidad. Una UI que perfiles no técnicos puedan usar también suma.
Desarrolladores que trabajan con documentos desordenados. PDFs llenos de tablas, escaneos, layouts multicolumna y formatos mixtos son donde DeepDoc destaca frente a la competencia. Si tu material fuente no es texto limpio, la calidad de parseo de RAGFlow es difícil de igualar.
Organizaciones con grandes colecciones de documentos. Al superar unos miles de documentos, necesitas un sistema que ingiera, indexe y busque a escala. RAGFlow es la herramienta adecuada.
Menos ideal
Prototipos de chatbot sencillos. Si solo necesitas responder preguntas a partir de un par de archivos Markdown, RAGFlow es excesivo. Un script con LlamaIndex o un pipeline simple en LangChain te llevará antes.
Proyectos muy pequeños. Para hacer Q&A personal sobre unos pocos PDFs, el coste de infraestructura es excesivo. Perderás más tiempo con comandos de Docker que en el proyecto en sí.
Equipos que quieren cero configuración. Si quieres darte de alta y tener un RAG funcionando en cinco minutos, mejor un servicio alojado o una librería ligera. RAGFlow tiene versión cloud, pero el valor del self-hosted requiere algo de setup.
La regla es sencilla: si la recuperación de calidad sobre documentos desordenados es el reto de tu proyecto, RAGFlow compensa el esfuerzo de puesta en marcha. Si no, usa algo más ligero.
Conclusión
RAGFlow es una plataforma full stack para crear aplicaciones RAG en producción sobre documentos reales.
Su mayor fortaleza es que el procesamiento de documentos, la recuperación, el reranking y la generación viven en un mismo flujo en lugar de combinarse desde herramientas separadas. Obtienes parseo con DeepDoc, recuperación híbrida, citas fundamentadas y flujos con agentes en una sola UI y API.
Si tus documentos están desordenados y la calidad de la recuperación importa, RAGFlow merece la pena.
Empieza con el plan cloud gratuito o con un despliegue local en Docker, sube algunos de tus peores documentos y mira cómo llegan las respuestas. Es la forma más rápida de saber si encaja con tu caso.
La arquitectura RAG es simple por diseño, pero eso no significa que no sirva para casos complejos. Lee nuestro artículo Advanced RAG Techniques para aprender sobre recuperación densa, reranking y razonamiento multi-paso.
Ragflow
¿Para qué se usa RAGFlow?
RAGFlow se usa para crear aplicaciones de Retrieval Augmented Generation sobre tus propios documentos. Las empresas lo aplican en bases de conocimiento corporativas, asistentes de soporte, búsqueda de documentación interna y asistentes de investigación que deben responder preguntas a partir de PDFs, hojas de cálculo, presentaciones y otras fuentes desordenadas. Te ofrece parseo de documentos, recuperación, reranking, citas y flujos con agentes en una sola plataforma en lugar de cinco herramientas separadas.
¿RAGFlow es gratis?
Sí, RAGFlow es open source bajo la licencia Apache 2.0 y puedes autoalojarlo en tu infraestructura sin coste. InfiniFlow también ofrece una versión alojada con plan gratuito para proyectos pequeños y planes de pago desde 29 $ al mes para equipos más grandes. La mayoría de usuarios en producción se autoalojan, especialmente con datos sensibles.
¿En qué se diferencia RAGFlow de LangChain o LlamaIndex?
LangChain es un framework de aplicaciones para encadenar llamadas a LLMs, herramientas y agentes. LlamaIndex es un framework de datos para ingesta, indexación y recuperación. RAGFlow es una plataforma completa: la despliegas, la configuras mediante una interfaz web y obtienes parseo, recuperación, citas y flujos listos para usar sin escribir el pipeline. También puedes combinarlos: LlamaIndex para ingesta, LangChain para orquestación y RAGFlow cuando quieres toda la pila en un único lugar.
¿Qué formatos de documento soporta RAGFlow?
RAGFlow soporta PDFs, archivos de Word, hojas de cálculo de Excel, presentaciones de PowerPoint, Markdown, HTML, texto plano, imágenes y documentos escaneados. El motor DeepDoc usa OCR, reconocimiento de estructura de tablas y reconocimiento de layout para parsear cada formato correctamente, de modo que las tablas se mantengan íntegras, las páginas multicolumna se lean en el orden adecuado y los escaneos se vuelvan buscables. Desde la v0.25 también puedes sincronizar directamente desde Confluence, S3, Notion, Discord y Google Drive.
¿Cuáles son los requisitos mínimos de hardware para ejecutar RAGFlow?
El mínimo oficial es 4 cores de CPU, 16 GB de RAM, 50 GB de disco y Docker 24.0 o superior. En la práctica, querrás 32 GB de RAM o más cuando indexes volúmenes reales, ya que Elasticsearch (o Infinity), MinIO, MySQL y Redis se ejecutan junto con la app de RAGFlow. La aceleración por GPU para DeepDoc es opcional pero acelera la ingesta.




