Ga naar hoofdinhoud

RAGFlow uitgelegd: bouw productieklare RAG-applicaties

Een praktische walkthrough van RAGFlow, het open-source platform voor het bouwen van productieklare Retrieval Augmented Generation-applicaties, met de architectuur, de documentparsing-engine, retrievalstrategieën, agentworkflows en de vergelijking met LangChain en LlamaIndex.
Bijgewerkt 12 aug 2026  · 15 min lezen

Verkennen met AI

ChatGPTClaudePerplexity

Hoe vaak heb je een RAG-demo gebouwd die prima werkt op een paar schone pdf’s, maar niets lijkt te kunnen antwoorden op echte bedrijfsdocumenten?

Wat er dan gebeurt: tabellen worden platgeslagen, gescande pagina’s verdwijnen, een slidedeck verliest zijn koppen en de chunkinglogica scheidt een sectiekop van de inhoud. Een productieklare RAG is veel meer dan een LLM met een vectordatabase. Je hebt documentparsing, een chunkingstrategie, hybride retrieval, reranking, citatietracking, agent-orkestratie en een handvol andere onderdelen nodig die je zelf moet configureren.

RAGFlow is een open-source platform dat al die onderdelen samenbrengt in één stack. Het verwerkt diepe documentparsing, templategestuurde chunking, hybride retrieval, agentworkflows en MCP-integratie achter één UI en API, zodat jij je tijd kunt steken in je kennisbank en niets anders.

In dit artikel laat ik je zien hoe RAGFlow onder de motorkap werkt, hoe de architectuur eruitziet, hoe het zich verhoudt tot LangChain en LlamaIndex, en hoe je het uitrolt.

Heb je een opfrisser nodig over hoe RAG werkt? Schrijf je dan in voor onze Retrieval Augmented Generation (RAG) met LangChain-cursus – je snapt de basis in één middag.

Wat is RAGFlow?

RAGFlow is een open-source RAG-engine, gebouwd door InfiniFlow en in april 2024 uitgebracht onder de Apache 2.0-licentie.

Het is ontworpen voor productie-AI-applicaties waarbij de kwaliteit van retrieval het succes van de app bepaalt. De focus ligt op diepgaand documentbegrip: parsing en chunking vormen de basis voor alles wat volgt. Als je pdf’s, spreadsheets en slidedecks een rommeltje zijn, helpt geen enkele reranker of grotere LLM – je moet eerst aan de documentkwaliteit werken.

Wat RAGFlow onderscheidt van de meeste RAG-tools is dat het een volledige stack is. Je krijgt documentparsing, templategestuurde chunking, hybride retrieval, reranking, citatietracking, een agent-workflowbuilder en MCP-ondersteuning in één systeem. Je hoeft geen vectordatabase te kiezen, geen parser te configureren, geen reranker toe te voegen en geen UI erbovenop te bouwen – alles zit erachter, via één webinterface en API.

Daardoor lijkt RAGFlow meer op een platform dan op een framework.

Hoe RAGFlow werkt

RAGFlow volgt de standaard RAG-pijplijn, maar elke stap is een component die je kunt configureren in plaats van code die je moet schrijven.

Dit gebeurt er vanaf het moment dat je een document uploadt tot het moment dat de LLM een antwoord terugstuurt:

  1. Documenten inladen: Je uploadt bestanden of koppelt een databron. RAGFlow accepteert pdf’s, Word-bestanden, Excel-sheets, PowerPoint-decks, Markdown, HTML, afbeeldingen en scans. Vanaf v0.25 kun je ook data synchroniseren uit Confluence, S3, Notion, Discord en Google Drive.
  2. Inhoud parsen en structureren: De DeepDoc-engine leest elk bestand met OCR, tabelstructuurherkenning en layoutherkenning. De output is gestructureerde inhoud met metadata over koppen, tabellen, figuren en leesvolgorde.
  3. Embeddings genereren: RAGFlow stuurt elke chunk door een embeddingmodel dat je in de config kiest. Je kunt OpenAI, Cohere, Voyage, een lokaal model of iets anders dat wordt ondersteund gebruiken.
  4. Kennis indexeren: Chunks en vectoren gaan naar de documentengine. Elasticsearch is standaard, maar je kunt overschakelen naar Infinity, de eigen database van InfiniFlow die is gebouwd voor hybride search.
  5. Relevante context ophalen: Bij een query draait RAGFlow vector search, BM25 keyword search en reranking samen. Je krijgt de beste chunks terug met citaties naar het brondocument.
  6. Antwoorden genereren met een LLM: De opgehaalde chunks gaan het prompt in, de LLM schrijft een antwoord, en RAGFlow voegt citaties toe zodat de gebruiker elke claim naar de bronpassage kan herleiden.

De volgorde is niet nieuw. Wat telt is dat elke stap een configureerbaar onderdeel is, en je de output op elk niveau kunt inspecteren.

RAGFlow-architectuur

De architectuur van RAGFlow heeft vier lagen, elk gericht op een specifiek probleem in de RAG-pijplijn. Hier is een snelle visuele overview:

RAGFlow-architectuur gevisualiseerd

RAGFlow-architectuur gevisualiseerd

Ik loop nu elke laag met je door.

Documentinname

Dit is het instappunt. RAGFlow accepteert pdf’s, Office-documenten zoals Word, Excel en PowerPoint, Markdown-bestanden en webpagina’s. Gescande documenten en afbeeldingen werken ook, omdat OCR is ingebouwd.

Je kunt bestanden direct via de UI uploaden, een cloudbron koppelen of documenten via de API pushen. De innamelaag normaliseert alles naar een gemeenschappelijk formaat voordat het naar de volgende fase gaat.

Kennisverwerking

Hier komt DeepDoc in beeld.

Parsing zet ruwe bestanden om in gestructureerde inhoud met koppen, paragrafen, tabellen en figuren. Chunking splitst die inhoud in retrieval-eenheden op basis van een door jou gekozen template (General, Paper, Book, Q&A, Manual, Table of Naive). Metadata-extractie voegt context toe aan elke chunk, zoals paginanummers, sectietitels en positie op de pagina.

De chunks die uit deze laag komen, behouden hun structuur. Dat betekent dat een tabel een tabel blijft, een kop bij zijn sectie blijft en een bijschrift bij de figuur hoort. Het voelt niet willekeurig zoals bij traditionele RAG-chunkingstrategieën.

Retrieval-engine

De retrieval-engine draait bovenop Elasticsearch of Infinity, afhankelijk van welke documentengine je configureert.

Hij voert drie soorten search parallel uit:

  • Vector search voor semantische gelijkenis
  • BM25 keyword search voor exacte termmatches
  • Reranking bovenop de samengevoegde resultaten om de meest relevante chunks naar boven te duwen

Deze laag levert een kleine set hoogwaardige chunks die in het LLM-prompt gaan.

LLM-laag

De LLM-laag stuurt de opgehaalde chunks naar elk model dat je hebt verbonden – OpenAI, DeepSeek, Gemini, Claude, een lokaal Ollama-model of iets anders dat RAGFlow ondersteunt.

Het antwoord komt terug met citaties. Elke claim in het antwoord verwijst naar een specifieke chunk, en elke chunk verwijst naar een specifieke locatie in het brondocument. Dit noemt RAGFlow grounded answers – de gebruiker kan op een citaat klikken en de exacte passage zien, waardoor hallucinaties makkelijk te spotten zijn.

De vier lagen werken als een pijplijn. Inname voedt kennisverwerking, kennisverwerking voedt de retrieval-engine, en de retrieval-engine voedt de LLM-laag.

Belangrijkste features van RAGFlow

Dit zijn de features die het meest tellen wanneer je een RAG-systeem bouwt op echte, rommelige documenten.

Geavanceerde documentparsing

De parser van RAGFlow heet DeepDoc, en dat is de reden dat het platform bestaat.

DeepDoc draait drie visionmodellen op elk document: OCR voor tekstextractie, TSR voor tabelstructuurherkenning en DLR voor layoutherkenning. In plaats van een pdf te behandelen als een tekenstroom, leest het bestand zoals een mens dat zou doen – het ziet waar de tabellen staan, waar kolommen afbreken, welke tekst een kop is en wat een voetnoot is.

Die structuur stroomt door naar de chunks. Tabellen blijven met hun koppen, lay-outs met meerdere kolommen worden in de juiste volgorde gelezen en figuren houden hun bijschriften.

Als je dit handmatig hebt geprobeerd, weet je hoe lastig het is om dit goed te doen voor verschillende documenttypen en op schaal.

Hybride retrieval

Semantische zoekopdrachten missen vaak queries waarbij het exacte woord telt. Alleen keyword search mist queries waarbij de betekenis telt maar de bewoording anders is.

RAGFlow draait beide tegelijk:

  • Vector search vangt semantische matches – "revenue" vindt "sales" en "income"
  • Keyword search vangt exacte matches – een productcode of juridische term komt boven, ook als het embeddingmodel het niet begrijpt
  • Reranking neemt de gecombineerde resultaten en ordent ze met een speciaal model, zodat de top-chunks écht het meest relevant zijn

Workflowbuilder

De workflowbuilder is een visueel canvas waarop je de pijplijn configureert in plaats van code te schrijven.

Je sleept componenten op een canvas – retrieval, rerank, LLM, code-executie, HTTP-calls, iteraties, switches – en verbindt ze tot een flow. RAGFlow wordt geleverd met kant-en-klare templates voor veelvoorkomende patronen zoals Retrieve - Rerank - Answer, Deep Research en Data Analytics.

Voor teams met vooral niet-ingenieurs is dit hoe ze in een week een werkend prototype kunnen maken.

Agent-ondersteuning

Vanaf v0.20 ondersteunt RAGFlow volledige agentische workflows op hetzelfde canvas als reguliere workflows.

Een agentcomponent kan plannen, reflecteren, tools aanroepen en delegeren naar subagents. Je configureert een prompt en een lijst met tools, en de agent beslist tijdens runtime welke tool in welke volgorde wordt aangeroepen. Tools kunnen ingebouwde componenten zijn, gekoppelde MCP-servers of andere agents.

De waarde zit in redeneren over opgehaalde kennis. 

Een supportagent kan uit een kennisbank ophalen, een externe API aanroepen om ticketstatus te checken en beslissen of er opgeschaald moet worden. Dat doet hij in één flow, met citaties bij de delen die uit documenten komen.

Documentparsing en kennisextractie

De kwaliteit van retrieval begint bij de kwaliteit van parsing. Als je dit deel verkeerd doet, helpt geen enkele reranker of grotere LLM je verder.

De meeste RAG-fouten gebeuren op documentniveau: een pdf vol tabellen wordt geëxtraheerd als komma-gescheiden waarden of een slidedeck verliest zijn visuele hiërarchie. Tegen de tijd dat die chunks de vectordatabase bereiken, hebben ze geen waarde meer.

De aanpak van RAGFlow is parsing als een eersteklas probleem behandelen.

Tabellen

Tabellen zijn het lastigste deel van documentparsing. Een standaard pdf-parser leest een tabel rij voor rij en verandert die in een stroom getallen zonder gekoppelde koppen. Je verliest de structuur.

DeepDoc draait Table Structure Recognition (TSR) vóór het chunken. Het identificeert de tabelgrenzen, de koprij, de kolommen en de celrelaties. Wanneer de chunker het document splitst, blijven tabellen intact met hun koppen en behoudt elke rij zijn context.

Afbeeldingen en scans

DeepDoc gebruikt OCR om tekst uit gescande pagina’s te halen, en vanaf v0.19 kan het een vision-language-model gebruiken om afbeeldingen binnen pdf’s en DOCX-bestanden te duiden.

Dat betekent dat een diagram, grafiek of foto van een bonnetje doorzoekbare content kan worden.

Lay-outs met meerdere kolommen

Wetenschappelijke papers en financiële rapporten gebruiken lay-outs met meerdere kolommen. Een naïeve parser leest ze van links naar rechts, regel voor regel, waardoor kolommen door elkaar lopen en onzinnige content ontstaat.

DeepDoc gebruikt Document Layout Recognition (DLR) om eerst de leesvolgorde te bepalen. Het weet dat kolom 1 vóór kolom 2 komt, en dat een kop beide kolommen kan beslaan.

Metadata

Elke chunk komt met metadata, zoals paginanummer, sectietitel, positie op de pagina en het bronbestand waar hij uit komt.

Dat maakt citaties mogelijk. Als de LLM een passage citeert, kan RAGFlow terugwijzen naar de exacte pagina en locatie in het brondocument. Het maakt ook chunk-niveau filtering mogelijk – je kunt zoeken binnen een specifieke sectie of een specifiek document.

Chunkkwaliteit

Het laatste stuk is het chunken zelf. RAGFlow gebruikt templategestuurde chunking, wat betekent dat je een template kiest die past bij je documenttype (General, Paper, Book, Q&A, Manual, Table of Naive).

Elke template hanteert andere regels voor waar je splitst. Een Paper-template houdt abstracts, methoden en resultaten als aparte eenheden. Een Q&A-template houdt elke vraag met het antwoord. Een Manual-template respecteert koppen en procedures. Je snapt het idee.

Het resultaat zijn chunks die op zichzelf logisch zijn. Als ze in het contextvenster van de LLM worden gezet, hebben ze genoeg betekenis om de vraag te beantwoorden.

Retrieval in RAGFlow

Zodra je documenten zijn geparsed en gechunkt, bepaalt de retrieval-stap of de LLM de juiste context ziet. De retrieval-engine van RAGFlow heeft drie onderdelen die samenwerken.

Vectorretrieval

Vector search vangt semantische gelijkenis. Je embedt de query en elke chunk met hetzelfde model, en de engine retourneert de chunks waarvan de vectoren het dichtst bij de queryvector liggen.

Zo kan een zoekopdracht naar "revenue growth" een chunk over "sales increase" vinden, ook als geen van beide termen in de ander voorkomt. RAGFlow laat je het embeddingmodel kiezen – OpenAI, Cohere, Voyage, BGE of een lokaal model – en later wisselen zonder het hele systeem te herbouwen.

Hybride search

Vector search is niet het beste voor exacte termen. Zaken als een productcode of juridische referentie hebben misschien geen sterk semantisch signaal, maar de exacte stringmatch is wel belangrijk.

RAGFlow draait BM25 keyword search naast vector search en combineert de resultaten. Je krijgt de semantische recall van embeddings en de precisie van keyword matching in dezelfde query.

Reranking

De eerste retrievalronde geeft je een kandidaatset – meestal de top 30 of 50 chunks. Dat is te veel voor het contextvenster van de LLM, en de top van de lijst is vaak ruiserig.

Reranking neemt die kandidaten en ordent ze met een speciaal model dat de query en elke chunk samen leest. De reranker weet wat relevant is voor de query, niet alleen wat erop lijkt. De bovenste 5 of 10 chunks na reranking gaan het prompt in.

Contextselectie

De laatste stap is beslissen wat er in de context van de LLM komt. RAGFlow laat je het aantal chunks, de similariteitsdrempel en de minimale reranker-score instellen.

Je kunt ook geavanceerde opties gebruiken zoals RAPTOR (hiërarchische samenvatting voor multi-hopvragen) of long-context RAG (automatisch gegenereerde documentniveautoc’s die de LLM een kaart van het bronmateriaal geven). Deze opties zijn er voor gevallen waarin platte chunretrieval niet genoeg is.

Het doel van de retrieval-engine is de LLM precies de context te geven die nodig is, en niets meer.

RAGFlow vs. traditionele RAG-pijplijnen

Traditionele RAG-pijplijnen zijn samengesteld uit losse tools. Je kiest een parser (Unstructured, LlamaParse, PyMuPDF), een chunker (LangChain-tekstsplitters, eigen code), een embeddingmodel, een vectordatabase (Pinecone, Weaviate, Chroma, Qdrant), een reranker (Cohere, BGE), een LLM-client en een UI. Daarna schrijf je de code die alles gebruikt.

Die aanpak geeft je de meeste controle, maar kost veel engineeringinspanning.

Elk integratiepunt is code die je moet plannen, schrijven, testen en onderhouden. Wil je citatietracking toevoegen, dan moet je die bouwen. Verandert een component zijn API, dan repareer jij de pijplijn.

RAGFlow kiest de tegenovergestelde aanpak.

Het is een geïntegreerd platform waarbij parsing, chunking, retrieval, reranking, citaties, workflow-orkestratie en een web-UI standaard inbegrepen zijn. Je configureert via een webinterface in plaats van met code, en de onderdelen zijn al gekoppeld.

Wat je inlevert is flexibiliteit. Wil je een nieuw chunkingalgoritme of een research-reranker veranderen, dan werk je binnen het plug-inmodel van RAGFlow in plaats van Python te schrijven. Voor de meeste productiegevallen is dat prima, maar voor experimenteel gebruik kan het beperkend aanvoelen.

Hier is een samenvatting van de verschillen:

  Traditionele RAG RAGFlow
Setup Meerdere tools samenstellen Eén platform, één deployment
Orkestratie Aangepaste code Visuele workflowbuilder
Engineeringinspanning Hoog Laag tot medium
Flexibiliteit Volledige controle Beperkt door het platform
Tijd tot eerste resultaat Dagen tot weken Uren
Beste voor Aangepaste of experimentele pijplijnen Productiesystemen op rommelige documenten

Geen van beide aanpakken is universeel beter. Als je de engineeringtijd hebt en volledige controle nodig hebt, is een traditionele pijplijn de juiste keuze. Wil je je richten op de kennisbank, dan ben je met RAGFlow sneller.

RAGFlow vs LangChain en LlamaIndex

Als je RAGFlow overweegt, heb je waarschijnlijk van LangChain en LlamaIndex gehoord. Zo verhouden ze zich.

LangChain

LangChain is een applicatieframework voor LLM-apps. De hoofdtaak is orkestratie: prompts, tools, geheugen en modellen in workflows ketenen. LangChain geeft niet veel om hoe je documenten geparsed zijn of hoe je retrieval is opgezet. Het richt zich op wat er ná retrieval gebeurt.

Is je project agent-zwaar – toolaanroepen, meerstapsredeneren, vertakkingslogica, human-in-the-loop – dan gebruiken de meeste teams LangChain (en de state-machine-laag LangGraph).

LlamaIndex

LlamaIndex is een dataframework voor LLM’s. Het richt zich op data inladen, indexen bouwen over die data en die goed bevragen. LlamaIndex heeft 160+ dataconnectoren, meerdere indextypen (vector, keyword, tree, knowledge graph) en redelijke standaarden voor chunken en retrieval.

Is je project retrieval-zwaar – veel documenten, diepe zoekvereisten en een reeks bronsystemen – dan is LlamaIndex de sterkste code-first keuze.

RAGFlow

RAGFlow is een geïntegreerd RAG-platform. Het is geen library die je importeert in Python – het is een systeem dat je uitrolt. Parsing, chunking, retrieval, reranking, citaties, workflows, agents en een web-UI worden meegeleverd.

Als je prioriteit is om snel een productieklare RAG op rommelige documenten te draaien zonder pijplijncode vanaf nul te schrijven, is RAGFlow het snelste pad.

De drie tools zijn ook te combineren. Een veelvoorkomend patroon is LlamaIndex voor inname, LangChain of LangGraph voor agent-orkestratie en RAGFlow wanneer je een complete, zelfgehoste stack wilt in plaats van handgeschreven code.

Hier een recap:

  LangChain LlamaIndex RAGFlow
Type Applicatieframework Dataframework Geïntegreerd platform
Hoofdfocus Orkestratie, agent Inname, indexering, retrieval End-to-end RAG-stack
Interface Python-/JavaScript-library Python-library Web-UI + API
Documentparsing Basic (met integraties) Goed Beste (DeepDoc)
Agent-ondersteuning Sterk (LangGraph) Basic (workflows) Sterk (v0.20+)
Beste voor Agent-zware apps Retrieval-zware apps Productie-RAG op rommelige documenten
Taal Code-first Code-first Config-first (met API)

Een RAG-app bouwen met RAGFlow

Als RAGFlow eenmaal draait, volgt het bouwen van een RAG-app vijf stappen. Opnieuw: je schrijft geen pijplijncode, je configureert elke stap via de UI of de API.

Documenten inladen

Begin met het uploaden van je documenten. Je kunt bestanden toevoegen via de web-UI, een databron koppelen zoals Google Drive, S3, Notion, Confluence of Discord, of bestanden toevoegen via de API.

Voorbeeld van documentinname

Voorbeeld van documentinname

RAGFlow accepteert de meeste gangbare formaten, dus je hoeft vooraf niets te converteren.

De kennisbank configureren

Een kennisbank in RAGFlow is een container voor je documenten, chunks en instellingen. Je kiest de chunktemplate die past bij je documenttype (General voor gemengde content, Paper voor research, Manual voor technische docs, Q&A voor supporttickets, enz.), kiest het embeddingmodel en kiest de parser.

Configuratie van kennisbank

Configuratie van kennisbank

Onthoud dat deze stap belangrijk is: een goede templatekeuze voorkomt later veel hoofdpijn.

Kies een retrievalstrategie

Bepaal vervolgens hoe retrieval moet werken. Je stelt het aantal terug te geven top-chunks in, de similariteitsdrempel en of je hybride search of alleen vector search gebruikt. Je kunt ook reranking inschakelen en een rerankermodel kiezen.

Voor geavanceerde gevallen ondersteunt RAGFlow RAPTOR voor hiërarchische samenvatting en knowledge graphs voor entiteitgebaseerde retrieval. Je kunt deze inschakelen in de kennisbankconfig.

Koppel een LLM

RAGFlow bevat geen LLM. Je brengt je eigen mee – OpenAI, DeepSeek, Gemini, Claude, een lokaal model via Ollama of iets anders dat RAGFlow ondersteunt.

Modelopties

Modelopties

Je voegt je API-sleutel toe in de instellingen, kiest het model en stelt de system prompt in. 

Antwoorden testen

De laatste stap is testen. RAGFlow heeft een chatinterface waarin je de kennisbank kunt bevragen en het antwoord met citaties kunt zien.

Klik op een citaat en je komt bij de exacte chunk met de positie in het brondocument gemarkeerd.

De meeste teams doorlopen deze lus een paar keer voordat de antwoorden bruikbaar zijn. Dat is normaal voor elk RAG-systeem, maar met RAGFlow verander je instellingen in een UI in plaats van Pythoncode te herschrijven.

Voorbeeld van chatconfiguratie

Voorbeeld van chatconfiguratie

RAGFlow in productie

Je ziet RAGFlow in productie bij een specifieke set use cases, vooral waar documentkwaliteit en citatietracking het meest tellen.

Enterprise-kennisbanken

Grote bedrijven hebben duizenden documenten verspreid over gedeelde schijven, Confluence, SharePoint en pdf’s in e-mailbijlagen. Medewerkers vinden meestal niet wat ze nodig hebben, en de LLM zonder RAG bevragen levert hallucinaties op.

RAGFlow werkt hier goed.

Oude pdf’s, gescande beleidsdocumenten, Excel-sheets met draaitabellen, PowerPoint-decks van jaren geleden – ze worden allemaal geparsed. En met citaties kunnen juridische en compliance-teams de antwoorden vertrouwen, en dankzij de web-UI kunnen niet-ingenieurs de kennisbank beheren.

Klantenservice-assistenten

Supportteams hebben jaren aan tickets, FAQ’s, producthandleidingen en interne runbooks. Een supportassistent moet dat alles doorzoeken, de juiste passage vinden en weten wanneer op te schalen.

De Q&A-chunktemplate van RAGFlow is hier precies voor gemaakt. Je geeft je tickethistorie en het behandelt elk vraag-antwoordpaar als een retrieval-eenheid. Voeg je een agentlaag toe en koppel je een API voor bestelopzoekingen, dan heb je een assistent die routinevragen afhandelt en lastige gevallen met volledige context doorzet.

Zoeken in interne documentatie

Engineeringteams hebben runbooks, architectuurdocs, incident-postmortems en API-referenties verspreid over Notion, Confluence en GitHub. Grep werkt voor keywords, maar helpt niet bij "hoe gingen we om met de vorige keer dat deze alert afging?"

RAGFlow biedt semantische search over het hele corpus met citaties naar de bron. Zo krijgen engineers de passage en de link naar de originele pagina met één klik.

Research-assistenten

Researchteams werken met papers, patenten, rapporten en interne experimenten. De Deep Research-template in RAGFlow is hiervoor ontworpen, met meerbeurt-retrieval en chain-of-thought-redeneren, waarbij de agent een vraag opdeelt, naar stukjes van het antwoord zoekt en ze samenvoegt.

Voor finance-, juridische en pharma-research is de mogelijkheid om elke claim naar een bron te herleiden wat de assistent überhaupt bruikbaar maakt.

De gemene deler is dat de documenten het moeilijke deel zijn. Is je bronmateriaal schoon en simpel, dan werken de meeste RAG-tools. Is het rommelig en gestructureerd, dan kom je met de parsinglaag van RAGFlow waarschijnlijk verder dan met een pijplijn vanaf nul schrijven.

RAGFlow uitrollen

RAGFlow biedt drie deploymentpaden. Dit zijn ze.

Docker-deployment

Docker Compose is het primaire pad. Je kloont de repo, gaat naar de docker-map en draait docker compose up -d. Dat start de RAGFlow-server samen met Elasticsearch, MinIO, MySQL en Redis.

De minimale specs zijn 4 CPU-cores, 16 GB RAM en 50 GB schijf. In de praktijk wil je meer RAM als je grote documentcollecties draait, omdat Elasticsearch en Infinity veel geheugen nodig hebben.

De Docker-images richten zich op x86, dus houd daar rekening mee. Draai je op Apple Silicon of een andere ARM64-machine, dan krijg je het met de translatielaag wel werkend, maar voor betere performance bouw je de image zelf via de ARM64-guide in de RAGFlow-docs.

Lokale ontwikkeling

Wil je de broncode van RAGFlow aanpassen, dan kun je backend en frontend vanuit de bron draaien. Je gebruikt uv voor Python-dependencies, draait docker compose -f docker/docker-compose-base.yml up -d om alleen de ondersteunende services (MinIO, Elasticsearch, MySQL, Redis) op te starten, start dan de backend met een shellscript en de frontend met npm run dev.

Dit pad is alleen de moeite waard als je bijdraagt aan het project of debugt. Voor de meeste gebruikers is het Docker Compose-pad sneller.

Cloud-deployment

InfiniFlow runt een gehoste versie op cloud.ragflow.io. Er is een gratis tier met 5 apps en 500 credits per maand, en betaalde tiers van $29, $129 en enterprise-prijzen.

De cloudversie is prima voor prototypes en kleine teams. Voor serieuze productie met gevoelige data hosten de meeste teams zelf, op eigen infrastructuur – ofwel op één VM voor kleinere deployments of op Kubernetes met de Helm-chart voor grotere.

Schaaloverwegingen

De standaarddeployment van RAGFlow draait alles op één machine. Dat is tot op zekere hoogte prima, maar daarna loop je tegen een limiet aan in documentaantal, queryload of teamgrootte.

De onderdelen die onafhankelijk schalen zijn de documentengine (Elasticsearch of Infinity), de objectopslag (MinIO) en de RAGFlow-app zelf. Voor grotere deployments splits je die services over machines, gebruik je een beheerde Elasticsearch of S3-compatibele objectstore en draai je meerdere RAGFlow-appinstances achter een load balancer.

GPU-versnelling voor DeepDoc is nog iets om te verkennen. Parsing is standaard CPU-intensief, maar je kunt GPU-modus inschakelen in de config, wat veel scheelt bij grote inname-runs.

De rest is standaard infrastructuurwerk, en RAGFlow zit dat niet in de weg.

Voordelen en beperkingen van RAGFlow

Elk hulpmiddel heeft trade-offs, en RAGFlow is geen uitzondering. Dit moet je weten voordat je het gebruikt.

Voordelen

  • Het is een geïntegreerd platform: Je hoeft geen parser, vectordatabase, reranker, chunker en UI-framework te kiezen en dan de code te schrijven. RAGFlow bevat alles.
  • Documentverwerking is het sterkste onderdeel: DeepDoc gaat beter om met pdf’s, scans, tabellen en complexe lay-outs dan de meeste alternatieven. Als je documenten rommelig zijn, is dit vaak reden genoeg om voor RAGFlow te kiezen.
  • Productiegericht vanaf dag één: Gegronde citaties, chunkvisualisatie, agentworkflows, MCP-ondersteuning en een echte beheer-UI zijn ingebouwd. 
  • Open source onder Apache 2.0: Je kunt zelf hosten, de code aanpassen en op je eigen infrastructuur draaien. De GitHub-repo heeft 80k+ sterren en actieve ontwikkeling, dus het project verdwijnt niet snel.

Beperkingen

  • Deployment is niet zo eenvoudig als het lijkt: Docker Compose helpt, maar je draait nog steeds Elasticsearch of Infinity, MinIO, MySQL en Redis naast de app. Er gaat een keer iets stuk, en dan moet je genoeg Docker kennen om het te fixen.
  • Infrastructuureisen: Het minimum is 16 GB RAM en 4 CPU-cores, maar dat is voor kleine workloads. Echte deployments hebben 32 GB of meer nodig, zeker als je Infinity gebruikt of grote inputjobs draait. RAGFlow op een VPS van $5 gaat niet werken.
  • Er is een leercurve: De workflowbuilder is krachtig, maar heeft veel componenten, en het vinden van de juiste chunktemplate en retrievalinstellingen kost tijd. Je bent een paar dagen bezig voordat je echt productief bent.

Geen van deze punten is een showstopper als RAGFlow bij je use case past. Zie het als de prijs van een platform in plaats van een library.

Wie zou RAGFlow moeten gebruiken?

RAGFlow is niet ideaal voor elk project. Dit is wie het past en wie beter af is met iets lichters.

Beste match

AI-ingenieurs die productieklare RAG-systemen bouwen. Als jouw werk is om een werkende RAG-app te maken en niet om nóg een chunkinglibrary te schrijven, haalt RAGFlow het meeste loodgieterswerk weg.

Enterprise AI-teams. Juridische, compliance-, financiële en supportteams hebben citaties en traceerbaarheid nodig. Een UI die niet-ingenieurs kunnen gebruiken is ook een plus. 

Developers die met rommelige documenten werken. Pdf’s vol tabellen, scans, lay-outs met meerdere kolommen en gemengde formaten – dáár is DeepDoc beter dan de concurrentie. Als je bronmateriaal iets anders is dan schone tekst, is de parsingkwaliteit van RAGFlow lastig te evenaren.

Organisaties met grote documentcollecties. Zodra je over een paar duizend documenten heen gaat, heb je een systeem nodig dat op schaal kan inladen, indexeren en zoeken. RAGFlow is hier het juiste gereedschap.

Minder ideaal

Eenvoudige chatbotprototypes. Als je alleen vragen wilt beantwoorden uit een paar Markdown-bestanden, is RAGFlow overkill. Een LlamaIndex-script of een eenvoudige LangChain-pijplijn brengt je sneller daar.

Zeer kleine projecten. Voor persoonlijke Q&A over een paar pdf’s is de infrastructuurkosten te zwaar. Je besteedt meer tijd aan Docker-commando’s dan aan je eigenlijke project.

Teams die nul setup willen. Wil je je aanmelden en binnen vijf minuten een werkende RAG hebben, dan past een gehoste dienst of lichte library beter. RAGFlow heeft een cloudversie, maar het zelfgehoste pad (waar de meeste waarde zit) vraagt wat setupwerk.

De vuistregel is simpel. Als retrievalkwaliteit op rommelige documenten het moeilijke deel van je project is, is RAGFlow de setup waard. Is dat niet zo, gebruik dan iets lichters.

Conclusie

RAGFlow is een full-stack platform voor het bouwen van productieklare RAG-applicaties op echte documenten.

De grootste kracht is dat documentverwerking, retrieval, reranking en generatie in één workflow leven in plaats van te worden samengevoegd uit losse tools. Je krijgt DeepDoc-parsing, hybride retrieval, gegronde citaties en agentworkflows achter één UI en API.

Als je documenten rommelig zijn en retrievalkwaliteit telt, is RAGFlow de setup waard.

Begin met de gratis cloudtier of een lokale Docker-deploy, upload een paar van je slechtste documenten en kijk hoe de antwoorden terugkomen. Dat is de snelste manier om te weten of het bij je use case past.

RAG-architectuur is simpel van opzet, maar dat betekent niet dat het niet werkt voor complexe use cases. Lees onze Advanced RAG Techniques-blogpost om te leren over dense retrieval, reranking en meerstapsredeneren.


Dario Radečić's photo
Author
Dario Radečić
LinkedIn
Senior Data Scientist, gevestigd in Kroatië. Top Tech-schrijver met meer dan 700 gepubliceerde artikelen en meer dan 10 miljoen weergaven. Auteur van het boek Machine Learning Automation with TPOT.

Ragflow

Waarvoor wordt RAGFlow gebruikt?

RAGFlow wordt gebruikt om Retrieval Augmented Generation-applicaties te bouwen bovenop je eigen documenten. Bedrijven gebruiken het voor enterprise-kennisbanken, klantenservice-assistenten, intern documentatiezoeken en research-assistenten die vragen moeten beantwoorden uit pdf’s, spreadsheets, slidedecks en andere rommelige bronnen. Het biedt je documentparsing, retrieval, reranking, citaties en agentworkflows in één platform in plaats van vijf losse tools.

Is RAGFlow gratis?

Ja, RAGFlow is open source onder de Apache 2.0-licentie en je kunt het kosteloos zelf hosten op je eigen infrastructuur. InfiniFlow biedt ook een gehoste versie met een gratis tier voor kleine projecten en betaalde plannen vanaf $29 per maand voor grotere teams. De meeste productiegebruikers hosten zelf, vooral bij gevoelige data.

Hoe verschilt RAGFlow van LangChain of LlamaIndex?

LangChain is een applicatieframework om LLM-calls, tools en agents te ketenen. LlamaIndex is een dataframework voor inname, indexering en retrieval. RAGFlow is een volledig platform: je rolt het uit, configureert het via een web-UI en krijgt parsing, retrieval, citaties en workflows kant-en-klaar zonder pijplijncode te schrijven. Je kunt ze ook combineren – LlamaIndex voor inname, LangChain voor orkestratie, RAGFlow als je de hele stack op één plek wilt.

Welke documentformaten ondersteunt RAGFlow?

RAGFlow ondersteunt pdf’s, Word-bestanden, Excel-spreadsheets, PowerPoint-decks, Markdown, HTML, platte tekst, afbeeldingen en gescande documenten. De DeepDoc-engine gebruikt OCR, tabelstructuurherkenning en layoutherkenning om elk formaat correct te parsen, zodat tabellen intact blijven, pagina’s met meerdere kolommen in de juiste volgorde gelezen worden en scans doorzoekbaar worden. Vanaf v0.25 kun je ook direct synchroniseren met Confluence, S3, Notion, Discord en Google Drive.

Wat zijn de minimale hardwarevereisten om RAGFlow te draaien?

Het officiële minimum is 4 CPU-cores, 16 GB RAM, 50 GB schijf en Docker 24.0 of hoger. In de praktijk wil je 32 GB RAM of meer zodra je echte documentvolumes indexeert, omdat Elasticsearch (of Infinity), MinIO, MySQL en Redis allemaal naast de RAGFlow-app draaien. GPU-versnelling voor DeepDoc is optioneel maar versnelt de inname.

Onderwerpen
Kunstmatige intelligentie

Leren met DataCamp

Cursus

Retrieval Augmented Generation (RAG) met LangChain

3 Hr
20.2K
Leer de nieuwste manieren om externe data te combineren met LLMs met behulp van Retrieval Augmented Generation (RAG) met LangChain.
Bekijk detailsRight Arrow
Begin Met De Cursus
Meer zienRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer ZienMeer Zien