Curso
Quantas vezes você já construiu um demo de RAG que funciona muito bem com dois PDFs limpinhos, mas não consegue responder nada quando entram documentos reais da empresa?
O que acontece é que as tabelas viram texto corrido, páginas digitalizadas somem, um slide perde seus títulos e a lógica de chunking separa o cabeçalho da seção do seu conteúdo. Um sistema RAG de produção está longe de ser só um LLM com um banco vetorial. Ele precisa de parsing de documentos, estratégia de chunking, recuperação híbrida, reranking, rastreamento de citações, orquestração de agentes e mais meia dúzia de peças que você teria que configurar à mão.
O RAGFlow é uma plataforma open source que junta tudo isso em uma única stack. Ele cuida de parsing profundo de documentos, chunking baseado em templates, recuperação híbrida, fluxos de agentes e integração com MCP em uma única UI e API — assim você pode focar no seu acervo de conhecimento e no que realmente importa.
Neste artigo, vou mostrar como o RAGFlow funciona por baixo dos panos, sua arquitetura, como ele se compara ao LangChain e ao LlamaIndex e como fazer o deploy.
Se você precisa relembrar como o RAG funciona, inscreva-se no nosso curso Retrieval Augmented Generation (RAG) with LangChain — você entende os fundamentos em uma tarde.
O que é o RAGFlow?
RAGFlow é um mecanismo RAG open source criado pela InfiniFlow e lançado sob a licença Apache 2.0 em abril de 2024.
Ele foi projetado para aplicações de IA em produção, onde a qualidade da recuperação define o sucesso do app. O foco do projeto é entendimento profundo de documentos — ou seja, parsing e chunking são a base para todo o resto. Se seus PDFs, planilhas e slides estão bagunçados, não há reranker nem LLM maior que resolva — primeiro é preciso trabalhar a qualidade do documento.
O que diferencia o RAGFlow da maioria das ferramentas RAG é que ele é uma plataforma completa. Você tem parsing de documentos, chunking por template, recuperação híbrida, reranking, rastreamento de citações, um construtor de fluxos de agentes e suporte a MCP em um único sistema. Você não precisa escolher um banco vetorial, configurar um parser, adicionar um reranker e construir uma UI por cima — está tudo lá, por trás de uma interface web e API únicas.
Isso faz do RAGFlow algo mais próximo de uma plataforma do que de um framework.
Como o RAGFlow funciona
O RAGFlow segue o pipeline padrão de RAG, mas cada etapa é um componente configurável — em vez de código que você precisa escrever.
Veja o que acontece do momento em que você envia um documento até a resposta do LLM voltar:
- Ingerir documentos: você faz upload de arquivos ou conecta uma fonte de dados. O RAGFlow aceita PDFs, arquivos do Word, planilhas do Excel, apresentações do PowerPoint, Markdown, HTML, imagens e cópias digitalizadas. A partir da v0.25, também dá para sincronizar dados do Confluence, S3, Notion, Discord e Google Drive.
- Fazer parsing e estruturar o conteúdo: o mecanismo DeepDoc lê cada arquivo com OCR, reconhecimento de estrutura de tabelas e de layout. A saída é um conteúdo estruturado com metadados sobre títulos, tabelas, figuras e ordem de leitura.
- Gerar embeddings: o RAGFlow processa cada chunk em um modelo de embedding escolhido na configuração. Você pode usar OpenAI, Cohere, Voyage, um modelo local ou qualquer outro compatível.
- Indexar o conhecimento: os chunks e vetores entram no mecanismo de documentos. O padrão é Elasticsearch, mas você pode alternar para Infinity, o banco da InfiniFlow pensado para busca híbrida.
- Recuperar o contexto relevante: quando chega uma consulta, o RAGFlow roda busca vetorial, busca por palavras‑chave (BM25) e reranking em conjunto. Você recebe os principais chunks com citações para o documento de origem.
- Gerar respostas com um LLM: os chunks recuperados entram no prompt, o LLM escreve a resposta e o RAGFlow anexa as citações para que o usuário rastreie cada afirmação até o trecho original.
A ordem não é novidade. O que importa é que cada etapa é uma peça configurável da plataforma — e você pode inspecionar a saída em cada fase.
Arquitetura do RAGFlow
A arquitetura do RAGFlow tem quatro camadas, e cada uma resolve um problema específico do pipeline de RAG. Aqui vai um resumo visual:

Arquitetura do RAGFlow visualizada
Agora vamos camada por camada.
Ingestão de documentos
Este é o ponto de entrada. O RAGFlow aceita PDFs, documentos do Office como Word, Excel e PowerPoint, arquivos Markdown e páginas web. Documentos escaneados e imagens também funcionam, já que o OCR é nativo.
Você pode enviar arquivos pela UI, conectar uma fonte na nuvem ou enviar documentos pela API. A camada de ingestão normaliza tudo em um formato comum antes da próxima etapa.
Processamento do conhecimento
É aqui que entra o DeepDoc.
O parsing transforma arquivos brutos em conteúdo estruturado com títulos, parágrafos, tabelas e figuras. O chunking divide esse conteúdo em unidades de recuperação com base em um template (General, Paper, Book, Q&A, Manual, Table ou Naive). A extração de metadados anexa contexto a cada chunk, como número da página, título da seção e posição na página.
Os chunks que saem desta camada mantêm sua estrutura. Isso significa que a tabela continua sendo tabela, o título permanece com sua seção e a legenda da figura fica junto da figura. Não fica aleatório, como nas estratégias tradicionais de chunking em RAG.
Mecanismo de recuperação
O mecanismo de recuperação roda sobre Elasticsearch ou Infinity, dependendo do engine de documentos que você configurar.
Ele executa três tipos de busca em paralelo:
- Busca vetorial para similaridade semântica
- Busca por palavras‑chave (BM25) para correspondências exatas
- Reranking sobre os resultados combinados para empurrar os chunks mais relevantes ao topo
Essa camada entrega um conjunto pequeno de chunks de alta qualidade que entram no prompt do LLM.
Camada de LLM
A camada de LLM envia os chunks recuperados para o modelo que você conectou — OpenAI, DeepSeek, Gemini, Claude, um modelo local via Ollama ou outro compatível com o RAGFlow.
A resposta volta com citações. Cada afirmação aponta para um chunk específico, e cada chunk aponta para uma localização exata no documento fonte. É o que o RAGFlow chama de respostas fundamentadas — o usuário clica na citação e vê o trecho original, o que facilita identificar alucinações.
As quatro camadas funcionam como um pipeline. A ingestão alimenta o processamento do conhecimento, que alimenta o mecanismo de recuperação, que por sua vez alimenta a camada de LLM.
Principais recursos do RAGFlow
Estes são os recursos que mais importam quando você está construindo um sistema RAG com documentos reais e bagunçados.
Parsing avançado de documentos
O parser do RAGFlow se chama DeepDoc — é o motivo pelo qual a plataforma existe.
O DeepDoc roda três modelos de visão em cada documento: OCR para extrair texto, TSR para reconhecer a estrutura de tabelas e DLR para reconhecer o layout. Em vez de tratar um PDF como um fluxo de caracteres, ele lê como um humano: enxerga onde estão as tabelas, onde quebram as colunas, o que é título e o que é rodapé.
Essa estrutura vai para os chunks. Tabelas ficam com seus cabeçalhos, layouts em múltiplas colunas são lidos na ordem correta e figuras mantêm suas legendas.
Se você já tentou fazer isso manualmente, sabe como é difícil acertar bem essa parte em diferentes tipos de documento e em escala.
Recuperação híbrida
A busca semântica costuma falhar quando a palavra exata importa. Já a busca por palavras‑chave perde consultas em que o sentido importa mais do que a redação.
O RAGFlow roda as duas ao mesmo tempo:
- Busca vetorial captura equivalências semânticas — "revenue" encontra "sales" e "income"
- Busca por palavras‑chave pega correspondências exatas — um código de produto ou termo jurídico aparece mesmo se o modelo de embedding não entender
- Reranking reorganiza os resultados com um modelo dedicado, para que os primeiros chunks sejam de fato os mais relevantes
Construtor de workflows
O workflow builder é um canvas visual no qual você configura o pipeline — em vez de escrever código.
Você arrasta componentes para o canvas — retrieval, rerank, LLM, execução de código, chamadas HTTP, iterações, condicionais — e conecta tudo em um fluxo. O RAGFlow traz templates prontos para padrões comuns como Retrieve - Rerank - Answer, Deep Research e Data Analytics.
Para times com poucos engenheiros, isso permite criar um protótipo funcional em uma semana.
Suporte a agentes
A partir da v0.20, o RAGFlow suporta fluxos agentic completos no mesmo canvas dos workflows regulares.
Um componente de agente pode planejar, refletir, chamar ferramentas e delegar para subagentes. Você configura um prompt e uma lista de ferramentas, e o agente decide em tempo de execução qual ferramenta chamar e em que ordem. As ferramentas podem ser componentes nativos, servidores MCP conectados ou outros agentes.
O valor está no raciocínio sobre o conhecimento recuperado.
Um agente de suporte pode recuperar da base de conhecimento, chamar uma API externa para checar o status de um chamado e decidir se deve escalar. Tudo em um único fluxo, com citações anexadas às partes vindas de documentos.
Parsing e extração de conhecimento
A qualidade da recuperação começa na qualidade do parsing. Se você erra aqui, não há reranker nem LLM maior que salve.
A maioria dos fracassos em RAG acontece no nível do documento: um PDF cheio de tabelas vira valores separados por vírgula, ou um deck de slides perde a hierarquia visual. Quando esses chunks chegam ao banco vetorial, já não têm valor.
A abordagem do RAGFlow é tratar parsing como um problema de primeira classe.
Tabelas
Tabelas são a parte mais difícil do parsing. Um parser padrão lê linha por linha e transforma em um fluxo de números sem cabeçalhos. Você perde a estrutura.
O DeepDoc roda Table Structure Recognition (TSR) antes do chunking. Identifica os limites da tabela, a linha de cabeçalho, as colunas e as relações entre células. Quando o chunker divide o documento, as tabelas ficam intactas com seus cabeçalhos, e cada linha mantém o contexto.
Imagens e digitalizações
O DeepDoc usa OCR para extrair texto de páginas escaneadas e, a partir da v0.19, pode usar um modelo visão‑linguagem para interpretar imagens dentro de PDFs e arquivos DOCX.
Isso significa que um diagrama, um gráfico ou a foto de um recibo viram conteúdo pesquisável.
Layouts em múltiplas colunas
Artigos acadêmicos e relatórios financeiros usam layouts multi‑coluna. Um parser ingênuo lê da esquerda para a direita, linha a linha, mistura as colunas e gera conteúdo sem sentido.
O DeepDoc usa Document Layout Recognition (DLR) para primeiro descobrir a ordem de leitura. Ele sabe que a coluna 1 vem antes da 2 e que um cabeçalho pode abranger ambas.
Metadados
Todo chunk vem com metadados, como número da página, título da seção, posição na página e o arquivo de origem.
É isso que permite as citações. Quando o LLM cita um trecho, o RAGFlow aponta exatamente a página e a localização no documento fonte. Também viabiliza filtros no nível do chunk — dá para buscar em uma seção ou documento específicos.
Qualidade dos chunks
A peça final é o próprio chunking. O RAGFlow usa chunking por templates — você escolhe um template que combine com seu tipo de documento (General, Paper, Book, Q&A, Manual, Table ou Naive).
Cada template aplica regras diferentes de corte. O template Paper mantém resumo, métodos e resultados como unidades separadas. O Q&A mantém cada pergunta com sua resposta. O Manual respeita títulos e procedimentos. Você entendeu a ideia.
O resultado são chunks que fazem sentido sozinhos. Quando entram na janela de contexto do LLM, têm significado suficiente para responder à pergunta.
Recuperação no RAGFlow
Depois que seus documentos são parseados e divididos em chunks, a etapa de recuperação decide se o LLM verá o contexto certo. O motor de recuperação do RAGFlow tem três partes que trabalham juntas.
Recuperação vetorial
A busca vetorial captura a similaridade semântica. Você gera embeddings da consulta e de cada chunk com o mesmo modelo, e o engine retorna os chunks cujos vetores são mais próximos do vetor da consulta.
É isso que permite uma busca por "revenue growth" encontrar um chunk sobre "sales increase" mesmo sem aparecerem os mesmos termos. O RAGFlow deixa você escolher o modelo de embedding — OpenAI, Cohere, Voyage, BGE ou um local — e trocar depois sem reconstruir todo o sistema.
Busca híbrida
Busca vetorial não é a melhor para termos exatos. Coisas como um código de produto ou referência legal podem não ter um sinal semântico forte, mas a correspondência literal importa muito.
O RAGFlow roda BM25 junto com a busca vetorial e combina os resultados. Você tem o recall semântico dos embeddings e a precisão da correspondência por palavra‑chave na mesma consulta.
Reranking
A primeira rodada de recuperação dá um conjunto candidato — geralmente os top 30 ou 50 chunks. É demais para a janela de contexto do LLM, e o topo costuma ter ruído.
O reranking pega esses candidatos e os reordena com um modelo dedicado que lê a consulta e cada chunk juntos. O reranker entende o que é relevante para a consulta, não só o que é parecido. Os 5 a 10 chunks do topo após o reranking são os que entram no prompt.
Seleção de contexto
A etapa final decide o que entra no contexto do LLM. O RAGFlow permite definir a quantidade de chunks, o limiar de similaridade e a pontuação mínima do reranker.
Você também pode usar opções avançadas como RAPTOR (sumarização hierárquica para questões multi‑hop) ou long‑context RAG (sumários automáticos em nível de documento — uma espécie de índice que dá ao LLM um mapa do material fonte). Essas opções ajudam quando a recuperação plana por chunks não é suficiente.
O objetivo do mecanismo de recuperação é dar ao LLM exatamente o contexto que ele precisa — e nada além disso.
RAGFlow vs pipelines RAG tradicionais
Pipelines RAG tradicionais são montados com ferramentas independentes. Você escolhe um parser (Unstructured, LlamaParse, PyMuPDF), um chunker (text splitters do LangChain, código próprio), um modelo de embedding, um banco vetorial (Pinecone, Weaviate, Chroma, Qdrant), um reranker (Cohere, BGE), um cliente de LLM e uma UI. Depois escreve o código que integra tudo.
Essa abordagem dá mais controle, mas exige muito esforço de engenharia.
Cada ponto de integração é código que você precisa planejar, escrever, testar e manter. Se quiser adicionar citações, você constrói. Se algum componente muda a API, você conserta o pipeline.
O RAGFlow vai no sentido oposto.
É uma plataforma integrada: parsing, chunking, recuperação, reranking, citação, orquestração de workflows e uma UI web já vêm prontos. Você configura pela interface, não por código, e as peças já estão conectadas.
O que você perde é flexibilidade. Se quiser trocar por um algoritmo novo de chunking ou um reranker de pesquisa, você trabalha dentro do modelo de plugins do RAGFlow em vez de escrever Python. Para a maioria dos cenários de produção, tudo bem; para experimentação, pode parecer restritivo.
Aqui vai um resumo das diferenças:
| RAG tradicional | RAGFlow | |
|---|---|---|
| Configuração | Montar várias ferramentas | Uma plataforma, um deploy |
| Orquestração | Código customizado | Construtor visual de workflows |
| Esforço de engenharia | Alto | Baixo a médio |
| Flexibilidade | Controle total | Limitada pela plataforma |
| Tempo até o primeiro resultado | Dias a semanas | Horas |
| Melhor para | Pipelines customizados ou experimentais | Sistemas de produção com documentos bagunçados |
Nenhuma abordagem é melhor em todos os casos. Se você tem tempo de engenharia e precisa de controle total, o pipeline tradicional é o caminho. Se quer focar na base de conhecimento, o RAGFlow será mais rápido.
RAGFlow vs LangChain e LlamaIndex
Se você está considerando o RAGFlow, provavelmente já ouviu falar de LangChain e LlamaIndex. Vamos ver como se comparam.
LangChain
O LangChain é um framework de aplicações para LLMs. Seu papel principal é orquestração — encadear prompts, ferramentas, memória e modelos em workflows. O LangChain não se preocupa muito com como seus documentos são parseados ou como a recuperação é configurada; ele cuida do que acontece depois da recuperação.
Se o seu projeto é centrado em agentes — chamadas de ferramentas, raciocínio em múltiplas etapas, lógica ramificada, humano no loop — o LangChain (e sua camada de state machine, LangGraph) é o que a maioria dos times usa.
LlamaIndex
O LlamaIndex é um framework de dados para LLMs. Ele foca em ingestão, construção de índices sobre os dados e boas consultas. Tem mais de 160 conectores de dados, vários tipos de índice (vetorial, por palavra‑chave, em árvore, grafo de conhecimento) e padrões razoáveis para chunking e recuperação.
Se seu projeto é pesado em recuperação — muitos documentos, busca profunda e várias fontes — o LlamaIndex é a melhor escolha code‑first.
RAGFlow
O RAGFlow é uma plataforma RAG integrada. Não é uma biblioteca que você importa no Python — é um sistema que você faz deploy. Parsing, chunking, recuperação, reranking, citações, workflows, agentes e uma UI web já vêm com ele.
Se a prioridade é colocar um sistema RAG em produção com documentos bagunçados sem escrever o pipeline do zero, o RAGFlow é o caminho mais rápido.
As três ferramentas também podem ser combinadas. Um padrão comum é LlamaIndex para ingestão, LangChain ou LangGraph para orquestração de agentes e RAGFlow quando você quer uma stack completa, self‑hosted, em vez de código feito à mão.
Aqui vai um resumo:
| LangChain | LlamaIndex | RAGFlow | |
|---|---|---|---|
| Tipo | Application framework | Data framework | Plataforma integrada |
| Foco principal | Orquestração, agentes | Ingestão, indexação, recuperação | Stack RAG de ponta a ponta |
| Interface | Biblioteca Python / JavaScript | Biblioteca Python | Web UI + API |
| Parsing de documentos | Básico (via integrações) | Bom | Excelente (DeepDoc) |
| Suporte a agentes | Forte (LangGraph) | Básico (workflows) | Forte (v0.20+) |
| Melhor para | Apps centrados em agentes | Apps centrados em recuperação | RAG em produção com documentos bagunçados |
| Linguagem | Code‑first | Code‑first | Config‑first (com API) |
Construindo uma aplicação RAG com o RAGFlow
Com o RAGFlow rodando, construir uma aplicação RAG segue cinco etapas. De novo: você não escreve o pipeline — apenas configura cada etapa pela UI ou API.
Ingerir documentos
Comece enviando seus documentos. Você pode adicionar arquivos pela interface web, conectar uma fonte como Google Drive, S3, Notion, Confluence ou Discord, ou enviar arquivos pela API.

Exemplo de ingestão de documentos
O RAGFlow aceita a maioria dos formatos comuns — você não precisa converter nada antes.
Configurar a base de conhecimento
Uma base de conhecimento no RAGFlow é um contêiner para seus documentos, chunks e configurações. Você escolhe o template de chunk que combina com seu tipo de documento (General para conteúdo misto, Paper para pesquisa, Manual para docs técnicos, Q&A para tickets de suporte etc.), define o modelo de embedding e escolhe o parser.

Configuração da base de conhecimento
Lembre que essa etapa é importante — uma boa escolha de template evita muita dor de cabeça depois.
Escolher a estratégia de recuperação
Depois, defina como a recuperação deve funcionar. Você ajusta quantos chunks retornar, o limiar de similaridade e se usará busca híbrida ou só vetorial. Também dá para ligar o reranking e escolher um modelo de reranker.
Para casos avançados, o RAGFlow suporta RAPTOR para sumarização hierárquica e knowledge graphs para recuperação baseada em entidades. Você ativa isso nas configs da base de conhecimento.
Conectar um LLM
O RAGFlow não inclui um LLM. Você traz o seu — OpenAI, DeepSeek, Gemini, Claude, um modelo local via Ollama ou outro suportado.

Opções de modelos
Você adiciona sua chave de API nas configurações, escolhe o modelo e define o system prompt.
Testar as respostas
A última etapa é testar. O RAGFlow tem uma interface de chat em que você consulta a base de conhecimento e vê a resposta com as citações anexadas.
Clique em qualquer citação para ir direto ao chunk, com a posição destacada no documento fonte.
A maioria dos times repete esse ciclo algumas vezes até as respostas ficarem boas. Isso é normal em qualquer sistema RAG — a diferença é que no RAGFlow você muda configurações na UI, não reescreve código em Python.

Exemplo de configuração de chat
RAGFlow em produção
O RAGFlow aparece em produção em alguns cenários específicos — principalmente onde a qualidade do documento e o rastreamento de citações são críticos.
Bases de conhecimento corporativas
Grandes empresas têm milhares de documentos espalhados em drives compartilhados, Confluence, SharePoint e PDFs anexados em e-mails. Os funcionários geralmente não encontram o que precisam — e perguntar a um LLM sem RAG gera alucinações.
O RAGFlow funciona bem aqui.
PDFs antigos, políticas escaneadas, planilhas do Excel com tabelas dinâmicas, apresentações do PowerPoint de anos atrás — tudo é parseado. E com citações, jurídico e compliance passam a confiar nas respostas; a UI web permite que não‑engenheiros mantenham a base de conhecimento.
Assistentes de suporte ao cliente
Times de suporte têm anos de tickets, FAQs, manuais de produto e runbooks internos. Um assistente precisa buscar em tudo isso, achar o trecho certo e saber quando escalar.
O template de chunk Q&A do RAGFlow foi feito para isso. Você fornece o histórico de tickets e ele trata cada par pergunta‑resposta como unidade de recuperação. Se você adicionar uma camada de agente por cima, conectar uma API para consulta de pedidos, terá um assistente que resolve o trivial e encaminha o difícil com contexto completo.
Busca em documentação interna
Times de engenharia têm runbooks, documentos de arquitetura, post‑mortems de incidentes e referências de API espalhados por Notion, Confluence e GitHub. Grep ajuda com palavras‑chave, mas não com "como lidamos da última vez que este alerta disparou?"
O RAGFlow oferece busca semântica no corpus inteiro com citações para a fonte. Assim, engenheiros obtêm o trecho e o link para a página original em um clique.
Assistentes de pesquisa
Equipes de pesquisa trabalham com artigos, patentes, relatórios e experimentos internos. O template Deep Research do RAGFlow foi desenhado para isso: ele faz recuperação em múltiplas rodadas com chain‑of‑thought, em que o agente decompõe a pergunta, busca partes da resposta e sintetiza tudo.
Em finanças, jurídico e pharma, poder rastrear cada afirmação até uma fonte é o que torna o assistente utilizável.
O ponto comum nesses casos é que os documentos são a parte difícil. Se o material fonte é limpo e simples, muitas ferramentas RAG funcionam. Se é bagunçado e estruturado, a camada de parsing do RAGFlow tende a levar você mais longe do que escrever o pipeline do zero.
Fazendo deploy do RAGFlow
O RAGFlow oferece três caminhos de deployment. Veja quais são.
Deployment com Docker
Docker Compose é o caminho principal. Você clona o repositório, entra na pasta docker e roda docker compose up -d. Isso inicia o servidor do RAGFlow junto com Elasticsearch, MinIO, MySQL e Redis.
Os requisitos mínimos são 4 CPUs, 16 GB de RAM e 50 GB de disco. Na prática, você vai querer mais RAM se for trabalhar com acervos grandes, já que Elasticsearch e Infinity consomem bastante memória.
As imagens Docker têm como alvo x86. Se você está em Apple Silicon ou outra máquina ARM64, a camada de tradução faz rodar, mas vale construir a imagem seguindo o guia ARM64 na documentação do RAGFlow para obter melhor desempenho.
Desenvolvimento local
Se quiser modificar o código‑fonte do RAGFlow, dá para rodar backend e frontend a partir do source. Você usa uv para dependências Python, roda docker compose -f docker/docker-compose-base.yml up -d para subir só os serviços de suporte (MinIO, Elasticsearch, MySQL, Redis), depois inicia o backend com um shell script e o frontend com npm run dev.
Esse caminho só vale a pena se você for contribuir com o projeto ou depurar algo. Para a maioria, o Docker Compose é mais rápido.
Deployment em nuvem
A InfiniFlow oferece uma versão hospedada em cloud.ragflow.io. Há um plano gratuito com 5 apps e 500 créditos por mês, e planos pagos a partir de US$ 29, além de enterprise.
A versão em nuvem é ótima para protótipos e times pequenos. Para produção séria com dados sensíveis, a maioria opta por self‑hosting — em uma VM única para implantações menores ou em Kubernetes via Helm chart para maiores.
Considerações de escala
O deployment padrão do RAGFlow roda tudo em uma máquina. Isso funciona até certo ponto — depois você bate no limite por quantidade de documentos, carga de consultas ou tamanho do time.
As peças que escalam de forma independente são o mecanismo de documentos (Elasticsearch ou Infinity), o armazenamento de objetos (MinIO) e o próprio app RAGFlow. Para grandes implantações, distribua esses serviços em máquinas diferentes, use um Elasticsearch gerenciado ou um storage compatível com S3 e rode várias instâncias do app RAGFlow atrás de um load balancer.
Aceleração por GPU para o DeepDoc é outra frente a explorar. Parsing é pesado em CPU por padrão, mas você pode ativar o modo GPU na configuração — faz muita diferença em rodadas grandes de ingestão.
O restante é infraestrutura padrão — e o RAGFlow não atrapalha em nada.
Vantagens e limitações do RAGFlow
Toda ferramenta tem trade‑offs, e com o RAGFlow não é diferente. Eis o que você precisa saber antes de usar.
Vantagens
- É uma plataforma integrada: você não precisa escolher parser, banco vetorial, reranker, chunker e framework de UI — e depois escrever o código. O RAGFlow já traz tudo.
- Processamento de documentos é o ponto forte: o DeepDoc lida com PDFs, arquivos escaneados, tabelas e layouts complexos melhor que a maioria. Se seus documentos são bagunçados, isso por si só já é um bom motivo para usar o RAGFlow.
- É orientado à produção desde o dia um: citações fundamentadas, visualização de chunks, fluxos de agentes, suporte a MCP e uma UI de gestão de verdade já vêm no pacote.
- É open source sob Apache 2.0: você pode fazer self‑host, modificar o código e rodar na sua infraestrutura. O repositório no GitHub tem 80k+ estrelas e desenvolvimento ativo, então o projeto não deve sumir tão cedo.
Limitações
- O deploy não é tão simples quanto parece: Docker Compose ajuda, mas você ainda vai rodar Elasticsearch ou Infinity, MinIO, MySQL e Redis junto com o app. Alguma coisa vai quebrar em algum momento — e você vai precisar saber o suficiente de Docker para resolver.
- Requisitos de infraestrutura: o mínimo é 16 GB de RAM e 4 CPUs — e isso para cargas pequenas. Deploys reais pedem 32 GB ou mais, especialmente com Infinity ou ingestões grandes. Rodar RAGFlow em um VPS de US$ 5 não vai rolar.
- Há curva de aprendizado: o builder é poderoso, mas tem muitos componentes — achar o template de chunk e as configs de recuperação ideais leva tempo. Você vai gastar alguns dias até ficar produtivo.
Nada disso é impeditivo se o RAGFlow se encaixa no seu caso. Pense como o custo de ter uma plataforma — não apenas uma biblioteca.
Quem deve usar o RAGFlow?
O RAGFlow não é ideal para todo projeto. Veja para quem faz sentido — e quem deve preferir algo mais leve.
Melhor encaixe
Engenheiros de IA construindo sistemas RAG em produção. Se seu trabalho é criar um app RAG funcional — e não escrever outra biblioteca de chunking — o RAGFlow elimina a maior parte da tubulação.
Times de IA em empresas. Jurídico, compliance, finanças e suporte precisam de citações e rastreabilidade. Uma UI que não‑engenheiros consigam usar também ajuda.
Desenvolvedores lidando com documentos bagunçados. PDFs cheios de tabelas, arquivos escaneados, layouts multi‑coluna e formatos mistos — aqui o DeepDoc se destaca frente à concorrência. Se o material fonte não é só texto limpo, a qualidade do parsing do RAGFlow é difícil de bater.
Organizações com grandes acervos de documentos. Passou de alguns milhares de documentos? Você precisa de um sistema que ingira, indexe e pesquise em escala. O RAGFlow é a ferramenta certa aqui.
Menos indicado
Protótipos simples de chatbot. Se você só precisa responder perguntas a partir de alguns arquivos Markdown, o RAGFlow é demais. Um script com LlamaIndex ou um pipeline simples no LangChain é mais rápido.
Projetos muito pequenos. Para um Q&A pessoal sobre alguns PDFs, o custo de infraestrutura é pesado demais. Você vai passar mais tempo em comandos do Docker do que no projeto em si.
Times que querem zero setup. Se você quer se cadastrar e ter um RAG funcionando em cinco minutos, um serviço hospedado ou uma biblioteca leve é melhor. O RAGFlow tem versão em nuvem, mas o caminho self‑hosted (onde está a maior parte do valor) exige alguma configuração.
A regra prática é simples: se a parte difícil do seu projeto é garantir boa recuperação em documentos bagunçados, o RAGFlow vale o esforço de setup. Se não, use algo mais leve.
Conclusão
O RAGFlow é uma plataforma full‑stack para construir aplicações RAG em produção sobre documentos do mundo real.
Seu maior ponto forte é ter processamento de documentos, recuperação, reranking e geração em um único fluxo — em vez de combinar ferramentas separadas. Você tem parsing com DeepDoc, recuperação híbrida, citações fundamentadas e workflows de agentes em uma única UI e API.
Se seus documentos são bagunçados e a qualidade da recuperação importa, o RAGFlow vale o esforço de setup.
Comece pelo plano gratuito em nuvem ou por um deploy local com Docker, envie alguns dos seus piores documentos e veja como as respostas voltam. É a forma mais rápida de saber se ele se encaixa no seu caso.
A arquitetura de RAG é simples por design, mas isso não significa que não sirva para casos complexos. Leia nosso post Advanced RAG Techniques para aprender sobre recuperação densa, reranking e raciocínio em múltiplas etapas.
Ragflow
Para que serve o RAGFlow?
O RAGFlow é usado para criar aplicações de Retrieval Augmented Generation em cima dos seus próprios documentos. Empresas o utilizam para bases de conhecimento corporativas, assistentes de suporte ao cliente, busca em documentação interna e assistentes de pesquisa que precisam responder perguntas a partir de PDFs, planilhas, apresentações e outras fontes bagunçadas. Ele oferece parsing de documentos, recuperação, reranking, citações e fluxos de agentes em uma única plataforma — em vez de cinco ferramentas separadas.
O RAGFlow é gratuito?
Sim, o RAGFlow é open source sob a licença Apache 2.0, e você pode fazer self‑host na sua própria infraestrutura sem custo. A InfiniFlow também oferece uma versão hospedada com plano gratuito para projetos pequenos e planos pagos a partir de US$ 29 por mês para times maiores. A maioria dos usuários em produção opta por self‑host, especialmente quando há dados sensíveis.
Em que o RAGFlow é diferente de LangChain ou LlamaIndex?
LangChain é um framework de aplicações para encadear chamadas de LLMs, ferramentas e agentes. LlamaIndex é um framework de dados para ingestão, indexação e recuperação. O RAGFlow é uma plataforma completa: você faz o deploy, configura pela interface web e tem parsing, recuperação, citações e workflows prontos sem escrever código de pipeline. Também dá para combinar — LlamaIndex para ingestão, LangChain para orquestração e RAGFlow quando você quer a stack inteira em um só lugar.
Quais formatos de documento o RAGFlow suporta?
O RAGFlow suporta PDFs, arquivos do Word, planilhas do Excel, apresentações do PowerPoint, Markdown, HTML, texto puro, imagens e documentos escaneados. O engine DeepDoc usa OCR, reconhecimento de estrutura de tabelas e de layout para fazer o parsing corretamente em cada formato — assim tabelas ficam intactas, páginas multi‑coluna são lidas na ordem certa e arquivos escaneados viram conteúdo pesquisável. A partir da v0.25, você também pode sincronizar diretamente com Confluence, S3, Notion, Discord e Google Drive.
Quais são os requisitos mínimos de hardware para rodar o RAGFlow?
O mínimo oficial é 4 CPUs, 16 GB de RAM, 50 GB de disco e Docker 24.0 ou superior. Na prática, você vai querer 32 GB de RAM ou mais ao indexar volumes reais, já que Elasticsearch (ou Infinity), MinIO, MySQL e Redis rodam junto com o app RAGFlow. Aceleração por GPU para o DeepDoc é opcional, mas acelera a ingestão.


