Hoppa till huvudinnehållet

RAGFlow förklarat: Bygg RAG-appar för produktion

En praktisk genomgång av RAGFlow, open source-plattformen för att bygga Retrieval Augmented Generation-appar i produktion, som täcker arkitektur, dokumentparsningsmotor, hämtningsstrategier, agentarbetsflöden och hur den står sig mot LangChain och LlamaIndex.
Uppdaterad 12 aug. 2026  · 15 min läsa

Utforska med AI

ChatGPTClaudePerplexity

Hur många gånger har du byggt en RAG-demo som funkar utmärkt på ett par välstädade PDF:er, men inte kan svara på något från riktiga företagsdokument?

Det som händer är att tabeller plattas ut, skannade sidor försvinner, en presentation tappar sina rubriker och chunkning-logiken separerar en avsnittsrubrik från dess innehåll. Ett RAG-system i produktion är långt ifrån bara en LLM med en vektordatabas. Det kräver dokumentparsning, chunkningsstrategi, hybridhämtning, omrangering, källhänvisningar, agentorkestrering och ett halvdussin andra delar som du själv måste konfigurera.

RAGFlow är en open source-plattform som kombinerar dessa delar i en och samma stack. Den hanterar avancerad dokumentparsning, mallbaserad chunkning, hybridhämtning, agentarbetsflöden och MCP-integration bakom ett enda gränssnitt och API, vilket innebär att du kan lägga din tid på kunskapsbasen och inget annat.

I den här artikeln går jag igenom hur RAGFlow fungerar under huven, hur arkitekturen ser ut, hur det står sig mot LangChain och LlamaIndex, och hur du distribuerar det.

Behöver du fräscha upp hur RAG fungerar? Gå vår Retrieval Augmented Generation (RAG) with LangChain-kurs – du förstår grunderna på en eftermiddag.

Vad är RAGFlow?

RAGFlow är en öppen RAG-motor byggd av InfiniFlow och släppt under Apache 2.0-licensen i april 2024.

Den är utformad för AI-appar i produktion där hämtningens kvalitet avgör om appen håller måttet. Projektets fokus är djup dokumentförståelse, vilket innebär att parsning och chunkning behandlas som grunden för allt som följer. Om dina PDF:er, kalkylblad och presentationer är stökiga hjälper varken en omrangering eller en större LLM – du måste börja med dokumentkvaliteten.

Det som skiljer RAGFlow från de flesta RAG-verktyg är att det är en hel stack. Du får dokumentparsning, mallbaserad chunkning, hybridhämtning, omrangering, källhänvisningar, en builder för agentarbetsflöden och MCP-stöd i ett system. Du behöver inte välja vektordatabas, konfigurera en parser, lägga till en omrangering och bygga ett UI ovanpå – allt finns bakom ett och samma webbgränssnitt och API.

Det gör RAGFlow mer likt en plattform än ett ramverk.

Hur RAGFlow fungerar

RAGFlow följer den standardiserade RAG-pipelinen, men varje steg är en komponent du kan konfigurera i stället för kod du måste skriva.

Det här händer från det att du laddar upp ett dokument tills LLM:en skickar ett svar tillbaka:

  1. Mata in dokument: Du laddar upp filer eller kopplar en datakälla. RAGFlow accepterar PDF:er, Word-filer, Excel-ark, PowerPoint-presentationer, Markdown, HTML, bilder och skannade kopior. Från och med v0.25 kan du även synka data från Confluence, S3, Notion, Discord och Google Drive.
  2. Parsa och strukturera innehåll: DeepDoc-motorn läser varje fil med OCR, tabellstrukturigenkänning och layoutigenkänning. Resultatet är strukturerat innehåll med metadata om rubriker, tabeller, figurer och läsordning.
  3. Generera inbäddningar: RAGFlow kör varje chunk genom en inbäddningsmodell du väljer i konfigurationen. Du kan använda OpenAI, Cohere, Voyage, en lokal modell eller något annat som stöds.
  4. Indexera kunskap: Chunks och vektorer går in i dokumentmotorn. Elasticsearch är standard, men du kan växla till Infinity, InfiniFlows egen databas byggd för hybridsökning.
  5. Hämta relevant kontext: När en fråga kommer in kör RAGFlow vektorsökning, BM25 nyckelordssökning och omrangering samtidigt. Du får de bästa chunkarna tillbaka med källhänvisningar till ursprungsdokumentet.
  6. Generera svar med en LLM: De hämtade chunkarna går in i prompten, LLM skriver ett svar och RAGFlow bifogar källhänvisningarna så att användaren kan spåra varje påstående till ursprungspassagen.

Ordningen är inget nytt. Det viktiga är att varje steg är en konfigurerbar del av plattformen och att du kan inspektera utdata i varje steg.

RAGFlows arkitektur

RAGFlows arkitektur har fyra lager, och varje lager löser ett specifikt problem i RAG-pipelinen. Här är en snabb visuell översikt:

RAGFlows arkitektur visualiserad

RAGFlows arkitektur visualiserad

Låt mig nu gå igenom varje lager.

Dokumentinmatning

Det här är ingången. RAGFlow accepterar PDF:er, Office-dokument som Word, Excel och PowerPoint, Markdown-filer och webbsidor. Skannade dokument och bilder fungerar också, eftersom OCR är inbyggt.

Du kan ladda upp filer direkt via gränssnittet, koppla en molnkälla eller skicka in dokument via API:et. Inmatningslagret normaliserar allt till ett gemensamt format innan det går vidare till nästa steg.

Kunskapsbearbetning

Här kommer DeepDoc in.

Parsning omvandlar råfiler till strukturerat innehåll med rubriker, stycken, tabeller och figurer. Chunkning delar upp innehållet i hämtbara enheter baserat på en mall du väljer (General, Paper, Book, Q&A, Manual, Table eller Naive). Metadatautvinning fäster kontext till varje chunk, såsom sidnummer, avsnittsrubrik och position på sidan.

Chunkarna som kommer ur det här lagret behåller sin struktur. Det betyder att en tabell förblir en tabell, en rubrik stannar med sitt avsnitt och en figurtext stannar med sin figur. Det känns inte slumpmässigt som med traditionella RAG-chunkningsstrategier.

Hämtningsmotor

Hämtningsmotorn ligger ovanpå Elasticsearch eller Infinity, beroende på vilken dokumentmotor du konfigurerar.

Den kör tre typer av sökningar parallellt:

  • Vektorsökning för semantisk likhet
  • BM25 nyckelordssökning för exakta termträffar
  • Omrangering ovanpå de sammanslagna resultaten för att putta upp de mest relevanta chunkarna

Detta lager ger dig en liten uppsättning högkvalitativa chunkar som går in i LLM-prompten.

LLM-lager

LLM-lagret skickar de hämtade chunkarna till den modell du kopplat – OpenAI, DeepSeek, Gemini, Claude, en lokal Ollama-modell eller något annat som RAGFlow stöder.

Svaret kommer tillbaka med källhänvisningar. Varje påstående i svaret pekar på en specifik chunk, och varje chunk pekar på en specifik plats i källdokumentet. Det är detta RAGFlow kallar grounded answers – användaren kan klicka på en källhänvisning och se den exakta passagen den kommer från, vilket gör hallucinationer lätta att upptäcka.

De fyra lagren fungerar som en pipeline. Inmatning matar kunskapsbearbetning, kunskapsbearbetning matar hämtningsmotorn och hämtningsmotorn matar LLM-lagret.

Viktiga funktioner i RAGFlow

Här är de funktioner som spelar störst roll när du bygger ett RAG-system på verkliga, röriga dokument.

Avancerad dokumentparsning

RAGFlows parser heter DeepDoc, och det är anledningen till att plattformen finns.

DeepDoc kör tre visionsmodeller på varje dokument: OCR för textextrahering, TSR för tabellstrukturigenkänning och DLR för dokumentlayoutigenkänning. I stället för att behandla en PDF som en teckenström läser den filen som en människa skulle göra – den ser var tabellerna finns, var spalter bryts, vad som är rubriktext och vad som är fotnot.

Den strukturen lever vidare i chunkarna. Tabeller stannar med sina rubriker, flerspaltiga layouter läses i rätt ordning och figurer behåller sina bildtexter.

Om du försökt göra detta manuellt vet du hur svårt det är att göra det bra för olika dokumenttyper och i skala.

Hybridhämtning

Semantisk sökning missar ofta frågor där det exakta ordet är avgörande. Nyckelordssökning i sig missar frågor där betydelsen är rätt men ordvalet skiljer sig.

RAGFlow kör båda samtidigt:

  • Vektorsökning fångar semantiska träffar – "revenue" hittar "sales" och "income"
  • Nyckelordssökning fångar exakta träffar – en produktkod eller en juridisk term dyker upp även om inbäddningsmodellen inte förstår den
  • Omrangering tar de kombinerade resultaten och ordnar om dem med en dedikerad modell så att toppchunkarna faktiskt är de mest relevanta

Arbetsflödesbyggare

Arbetsflödesbyggaren är en visuell canvas där du konfigurerar pipelinen i stället för att skriva kod.

Du drar in komponenter – hämtning, omrangering, LLM, kodkörning, HTTP-anrop, iterationer, villkor – och kopplar ihop dem till ett flöde. RAGFlow levereras med färdiga mallar för vanliga mönster som Retrieve – Rerank – Answer, Deep Research och Data Analytics.

För team där de flesta inte är ingenjörer är detta sättet att skapa en fungerande prototyp på en vecka.

Agentstöd

Från version 0.20 stöder RAGFlow fullständiga agentiska arbetsflöden på samma canvas som vanliga arbetsflöden.

En agentkomponent kan planera, reflektera, anropa verktyg och delegera till underagenter. Du konfigurerar en prompt och en lista över verktyg, och agenten avgör vid körning vilket verktyg som ska anropas och i vilken ordning. Verktyg kan vara inbyggda komponenter, MCP-servrar du kopplat eller andra agenter.

Värdet ligger i resonemang över hämtad kunskap. 

En supportagent kan hämta från en kunskapsbas, anropa ett externt API för att kolla ärendestatus och avgöra om ärendet ska eskaleras. Allt sker i ett flöde, med källhänvisningar för de delar som kommer från dokument.

Dokumentparsning och kunskapsutvinning

Hämtningskvalitet börjar med parsningskvalitet. Om du misslyckas här hjälper varken omrangering eller en större LLM.

De flesta RAG-misslyckanden sker på dokumentnivå, vilket betyder att en PDF full av tabeller extraheras som kommaseparerade värden eller att en presentation tappar sin visuella hierarki. När dessa chunkar väl når vektordatabasen finns det inget värde kvar i dem.

RAGFlows angreppssätt är att behandla parsning som ett förstaklassproblem.

Tabeller

Tabeller är den svåraste delen av dokumentparsning. En standard-PDF-parser läser en tabell rad för rad och gör den till en ström av siffror utan rubriker. Du förlorar strukturen.

DeepDoc kör Table Structure Recognition (TSR) före chunkning. Den identifierar tabellgränser, rubrikrad, kolumner och cellrelationer. När dokumentet delas upp stannar tabellerna intakta med sina rubriker och varje rad behåller sin kontext.

Bilder och skanningar

DeepDoc använder OCR för att extrahera text från skannade sidor, och från och med v0.19 kan den använda en visionsspråksmodell för att förstå bilder inuti PDF- och DOCX-filer.

Det betyder att ett diagram, en graf eller ett foto av ett kvitto kan bli sökbart innehåll.

Flerspaltiga layouter

Akademiska artiklar och finansiella rapporter använder flerspaltiga layouter. En naiv parser läser dem vänster till höger, rad för rad, vilket blandar spalter och ger innehåll som inte hänger ihop.

DeepDoc använder Document Layout Recognition (DLR) för att först räkna ut läsordningen. Den vet att spalt 1 kommer före spalt 2 och att en rubrik kan spänna över båda.

Metadata

Varje chunk kommer med metadata, som sidnummer, avsnittsrubrik, position på sidan och källfilen den kommer från.

Detta möjliggör källhänvisningar. När LLM:en citerar en passage kan RAGFlow peka tillbaka på exakt sida och plats i källdokumentet. Det möjliggör också filtrering på chunk-nivå – du kan söka i ett specifikt avsnitt eller ett specifikt dokument.

Chunk-kvalitet

Den sista pusselbiten är själva chunkningen. RAGFlow använder mallbaserad chunkning, vilket betyder att du väljer en mall som matchar din dokumenttyp (General, Paper, Book, Q&A, Manual, Table eller Naive).

Varje mall tillämpar olika regler för var man ska dela. En Paper-mall håller abstract, metod och resultat som separata enheter. En Q&A-mall håller varje fråga med sitt svar. En Manual-mall respekterar rubriker och procedurer. Du fattar poängen.

Resultatet är chunkar som är begripliga i sig. När de läggs till i LLM:ens kontextfönster har de tillräcklig betydelse för att kunna besvara frågan.

Hämtning i RAGFlow

När dina dokument är parsade och chunkade avgör hämtningen om LLM:en ser rätt kontext. RAGFlows hämtningsmotor har tre delar som arbetar tillsammans.

Vektorhämtning

Vektorsökning fångar semantisk likhet. Du bäddar in frågan och varje chunk med samma modell, och motorn returnerar de chunkar vars vektorer ligger närmast frågevektorn.

Detta gör att en sökning på "revenue growth" kan hitta en chunk om "sales increase" även när ingen av termerna förekommer i den andra. RAGFlow låter dig välja inbäddningsmodell – OpenAI, Cohere, Voyage, BGE eller en lokal – och byta senare utan att bygga om hela systemet.

Hybridsökning

Vektorsökning är inte bäst för exakta termer. Sådant som en produktkod eller en juridisk referens kan sakna stark semantisk signal, men den exakta strängen är viktig.

RAGFlow kör BM25-nyckelordssökning parallellt med vektorsökning och kombinerar resultaten. Du får den semantiska återhämtningen från inbäddningar och precisionen från nyckelordsmatchning i samma fråga.

Omrangering

Första rundan av hämtning ger en kandidatuppsättning – vanligtvis de 30 eller 50 bästa chunkarna. Det är för många för LLM:ens kontextfönster, och toppen av listan är ofta brusig.

Omrangering tar dessa kandidater och ordnar om dem med en dedikerad modell som läser frågan och varje chunk tillsammans. Omrangeraren vet vad som är relevant för frågan, inte bara vad som liknar den. De 5 eller 10 bästa chunkarna efter omrangering är de som går in i prompten.

Kontextval

Det sista steget är att avgöra vad som ska in i LLM:ens kontext. RAGFlow låter dig ställa in antal chunkar, likhetströskel och minimal omrangeringspoäng.

Du kan också använda avancerade alternativ som RAPTOR (hierarkisk summering för multi-hop-frågor) eller long-context RAG (automatiskt genererade innehållsförteckningar på dokumentnivå som ger LLM:en en karta över källmaterialet). Dessa alternativ finns för fall där platt chunk-hämtning inte räcker.

Hela poängen med hämtningsmotorn är att ge LLM:en exakt den kontext den behöver och inget mer.

RAGFlow vs traditionella RAG-pipelines

Traditionella RAG-pipelines byggs av fristående verktyg. Du väljer en parser (Unstructured, LlamaParse, PyMuPDF), en chunkare (LangChain text splitters, egen kod), en inbäddningsmodell, en vektordatabas (Pinecone, Weaviate, Chroma, Qdrant), en omrangerare (Cohere, BGE), en LLM-klient och ett UI. Sedan skriver du koden som använder allt detta.

Detta angreppssätt ger mest kontroll, men kräver mycket ingenjörsarbete.

Varje integrationspunkt är kod du måste planera, skriva, testa och underhålla. När du vill lägga till källhänvisningar måste du bygga det. På samma sätt, när en komponent ändrar sitt API, får du fixa pipelinen.

RAGFlow tar det motsatta angreppssättet.

Det är en integrerad plattform där parsning, chunkning, hämtning, omrangering, källhänvisning, arbetsflödesorkestrering och ett webb-UI följer med från start. Du konfigurerar via ett webbgränssnitt i stället för med kod, och delarna är redan ihopkopplade.

Det du ger upp är flexibilitet. Om du vill byta till en nydanande chunkningsalgoritm eller en forsknings-omrangerare arbetar du inom RAGFlows plugin-modell i stället för att skriva Python. För de flesta produktionsfall är det helt okej, men för experimentellt bruk kan det kännas ganska begränsande.

Här är en sammanfattning av skillnaderna:

  Traditionell RAG RAGFlow
Uppsättning Sätt ihop flera verktyg En plattform, en distribution
Orkestrering Egen kod Visuell arbetsflödesbyggare
Ingenjörsinsats Hög Låg till medel
Flexibilitet Full kontroll Begränsad av plattformen
Tid till första resultat Dagar till veckor Timmar
Bäst för Skräddarsydda eller experimentella pipelines Produktionssystem som arbetar med röriga dokument

Inget av angreppssätten är universellt bättre. Om du har engineeringtid och behöver full kontroll är en traditionell pipeline rätt val. Vill du fokusera på kunskapsbasen går det snabbare med RAGFlow.

RAGFlow vs LangChain och LlamaIndex

Om du ens överväger RAGFlow har du sannolikt hört talas om LangChain och LlamaIndex. Jag visar nu hur de jämförs.

LangChain

LangChain är ett applikationsramverk för LLM-appar. Dess huvuduppgift är orkestrering – att kedja prompts, verktyg, minne och modeller till arbetsflöden. LangChain bryr sig inte så mycket om hur dina dokument parsas eller hur din hämtning är uppsatt. Det bryr sig om vad som händer efter hämtning.

Om ditt projekt är agenttungt – verktygsanrop, flerstegsresonemang, förgreningslogik, människa-i-loopen – är LangChain (och dess tillståndsmaskinlager LangGraph) vad de flesta team använder.

LlamaIndex

LlamaIndex är ett dataramverk för LLM:er. Det fokuserar på att ta in data, bygga index över den datan och fråga den på ett bra sätt. LlamaIndex har 160+ datakopplingar, flera indextyper (vektor, nyckelord, träd, kunskapsgraf) och rimliga standarder för chunkning och hämtning.

Om ditt projekt är hämtningstungt – många dokument, djupa sökkrav och en mängd källsystem – är LlamaIndex det starkaste kod-först-alternativet.

RAGFlow

RAGFlow är en integrerad RAG-plattform. Det är inte ett bibliotek du importerar i Python – det är ett system du distribuerar. Parsning, chunkning, hämtning, omrangering, källhänvisningar, arbetsflöden, agenter och ett webb-UI följer med.

Om din prioritet är att få ett RAG-system i produktion att rulla på röriga dokument utan att skriva pipelinkod från grunden, är RAGFlow den snabbaste vägen.

De tre verktygen kan också kombineras. Ett vanligt mönster är LlamaIndex för inmatning, LangChain eller LangGraph för agentorkestrering och RAGFlow när du vill ha en komplett, självhostad stack i stället för handbyggd kod.

Här är en återblick:

  LangChain LlamaIndex RAGFlow
Typ Applikationsramverk Ramnverk för data Integrerad plattform
Huvudfokus Orkestrering, agent Inmatning, indexering, hämtning End-to-end RAG-stack
Gränssnitt Python-/JavaScript-bibliotek Python-bibliotek Webb-UI + API
Dokumentparsning Grundläggande (med integrationer) Bra Bäst (DeepDoc)
Agentstöd Starkt (LangGraph) Grundläggande (arbetsflöden) Starkt (v0.20+)
Bäst för Agenttunga appar Hämtningstunga appar Produktionell RAG på röriga dokument
Arbetssätt Kod-först Kod-först Konfig-först (med API)

Bygga en RAG-applikation med RAGFlow

När RAGFlow körs följer byggandet av en RAG-applikation fem steg. Återigen, du skriver inte pipelinkod – du konfigurerar varje steg via gränssnittet eller API:et.

Mata in dokument

Börja med att ladda upp dina dokument. Du kan lägga till filer via webbgränssnittet, koppla en datakälla som Google Drive, S3, Notion, Confluence eller Discord, eller lägga till filer via API:et.

Exempel på dokumentinmatning

Exempel på dokumentinmatning

RAGFlow accepterar de vanligaste formaten, så du behöver inte konvertera något i förväg.

Konfigurera kunskapsbasen

En kunskapsbas i RAGFlow är en behållare för dina dokument, chunkar och inställningar. Du väljer chunkmallen som matchar din dokumenttyp (General för blandat innehåll, Paper för forskning, Manual för tekniska dokument, Q&A för supportärenden osv.), väljer inbäddningsmodell och väljer parser.

Konfiguration av kunskapsbas

Konfiguration av kunskapsbas

Kom ihåg att detta steg är viktigt, eftersom ett bra mallval sparar mycket huvudvärk senare.

Välj en hämtstrategi

Bestäm sedan hur hämtning ska fungera. Du anger antalet toppchunkar att returnera, likhetströskeln och om du ska använda hybridsökning eller enbart vektorsökning. Du kan också slå på omrangering och välja en omrangeringsmodell.

För avancerade fall stöder RAGFlow RAPTOR för hierarkisk summering och kunskapsgrafer för entitetsbaserad hämtning. Du aktiverar detta i kunskapsbasens konfiguration.

Koppla en LLM

RAGFlow inkluderar ingen LLM. Du tar med din egen – OpenAI, DeepSeek, Gemini, Claude, en lokal modell via Ollama eller något annat som RAGFlow stöder.

Modellalternativ

Modellalternativ

Du lägger in din API-nyckel i inställningarna, väljer modellen och sätter systemprompten. 

Testa svar

Det sista steget är testning. RAGFlow har ett chattgränssnitt där du kan fråga kunskapsbasen och se svaret med källhänvisningar bifogade.

Klicka på en källhänvisning och du kommer till exakt den chunken med dess position i källdokumentet markerad.

De flesta team går igenom den här loopen några gånger innan svaren blir användbara. Det är normalt för alla RAG-system, men med RAGFlow ändrar du inställningar i ett UI i stället för att skriva om Python-kod.

Exempel på chattkonfiguration

Exempel på chattkonfiguration

RAGFlow i produktion

Du ser RAGFlow användas i produktion för en specifik uppsättning användningsfall, främst där dokumentkvalitet och källhänvisningar är som viktigast.

Företagskunskapsbaser

Stora företag har tusentals dokument spridda över delade enheter, Confluence, SharePoint och PDF:er i e-postbilagor. Medarbetare hittar oftast inte vad de behöver, och att fråga LLM:en utan RAG ger hallucinationer.

RAGFlow fungerar bra här.

Gamla PDF:er, skannade policydokument, Excel-ark med pivottabeller, PowerPoint-presentationer från förr – alla parsas. Och med källhänvisningar kan juridik- och regelefterlevnadsteam lita på svaren, och webbgränssnittet gör att icke-ingenjörer kan underhålla kunskapsbasen.

Kundsupportassistenter

Supportteam har år av ärenden, FAQ:er, produktmanualer och interna runbooks. En supportassistent behöver söka i allt detta, hitta rätt passage och veta när det är dags att eskalera.

RAGFlows Q&A-chunkmall är skapad just för detta. Du matar in din ärendehistorik och den behandlar varje fråga-svar-par som en hämtbar enhet. Lägger du till ett agentlager ovanpå, kopplar ett API för orderuppslag, får du en assistent som hanterar rutinfrågor och levererar de knepiga med full kontext.

Intern dokumentationssökning

Ingenjörsteam har runbooks, arkitekturdokument, incident-post mortems och API-referenser utspridda över Notion, Confluence och GitHub. Grep funkar för nyckelord, men hjälper inte med "hur hanterade vi förra gången den här varningen utlöstes?"

RAGFlow ger semantisk sökning över hela korpusen med källhänvisningar tillbaka till källan. Det innebär att ingenjörer kan få passagen och länken till ursprungssidan med ett klick.

Forskningsassistenter

Forskningsteam arbetar med artiklar, patent, rapporter och interna experiment. Mallen Deep Research i RAGFlow är utformad för detta, med flerstegshämtning och kedjeresonemang, där agenten bryter ner en fråga, letar upp bitar av svaret och syntetiserar dem.

För finans-, juridik- och läkemedelsforskning är möjligheten att spåra varje påstående till en källa det som gör assistenten användbar överhuvudtaget.

Den gemensamma nämnaren i dessa användningsfall är att dokumenten är den svåra biten. Om ditt källmaterial är rent och enkelt funkar de flesta RAG-verktyg. Om det är rörigt och strukturerat kommer RAGFlows parsningslager sannolikt ta dig längre än att bygga pipelinen från scratch.

Distribuera RAGFlow

RAGFlow ger dig tre distributionsvägar. Här är vad de innebär.

Docker-distribution

Docker Compose är huvudspåret. Du klonar repo:t, cd:ar in i docker-mappen och kör docker compose up -d. Det startar RAGFlow-servern tillsammans med Elasticsearch, MinIO, MySQL och Redis.

Minimikraven är 4 CPU-kärnor, 16 GB RAM och 50 GB disk. I praktiken vill du ha mer RAM om du kör stora dokumentmängder, eftersom Elasticsearch och Infinity behöver mycket minne.

Docker-avbildningarna riktar sig mot x86, så tänk på det. Om du kör Apple Silicon eller en annan ARM64-maskin får du i gång det via översättningslagret, men du vill bygga bilden själv med ARM64-guiden i RAGFlows dokumentation för bättre prestanda.

Lokal utveckling

Om du vill ändra RAGFlows källkod kan du köra backend och frontend från källan. Du använder uv för Python-beroenden, kör docker compose -f docker/docker-compose-base.yml up -d för att bara starta stödtjänsterna (MinIO, Elasticsearch, MySQL, Redis), sedan startar du backend med ett skalskript och frontend med npm run dev.

Denna väg är bara värd det om du bidrar till projektet eller felsöker. För de flesta användare går det snabbare med Docker Compose.

Molndistribution

InfiniFlow kör en hostad version på cloud.ragflow.io. Den har en gratistier med 5 appar och 500 krediter per månad samt betalnivåer på 29 $, 129 $ och företagsprissättning.

Molnversionen duger för prototyper och små team. För seriös produktion med känsliga data självhostar de flesta på egen infrastruktur, antingen på en enskild VM för mindre distributioner eller på Kubernetes med Helm-diagrammet för större.

Skaleringsaspekter

RAGFlows standarddistribution kör allt på en maskin. Det funkar till en viss gräns, men därefter slår du i taket antingen på dokumentantal, frågebelastning eller teamstorlek.

Delarna som skalar oberoende är dokumentmotorn (Elasticsearch eller Infinity), objektlagringen (MinIO) och själva RAGFlow-appen. För större distributioner delar du upp dessa tjänster på flera maskiner, använder en hanterad Elasticsearch eller S3-kompatibel objektlagring och kör flera RAGFlow-instanser bakom en lastbalanserare.

GPU-acceleration för DeepDoc är ytterligare något att utforska. Som du vet är parsning CPU-tung som standard, men du kan aktivera GPU-läge i konfigurationen, vilket gör stor skillnad vid stora inmatningskörningar.

Resten är standard infrastrukturarbete, och RAGFlow står inte i vägen för något av det.

Fördelar och begränsningar med RAGFlow

Varje verktyg innebär avvägningar, och RAGFlow är inget undantag. Här är vad du behöver veta innan du använder det.

Fördelar

  • Det är en integrerad plattform: Du behöver inte välja en parser, en vektordatabas, en omrangerare, en chunkare och ett UI-ramverk och sedan skriva koden. RAGFlow inkluderar allt.
  • Dokumentbearbetning är den starkaste delen: DeepDoc hanterar PDF:er, skannade filer, tabeller och komplexa layouter bättre än de flesta alternativ. Om dina dokument är röriga är detta ofta skäl nog att välja RAGFlow.
  • Det är produktionsinriktat från dag ett: Grundade källhänvisningar, chunk-visualisering, agentarbetsflöden, MCP-stöd och ett riktigt administrationsgränssnitt är inbyggt. 
  • Det är open source under Apache 2.0: Du kan självhosta, ändra koden och köra den i din egen infrastruktur. GitHub-repot har 80k+ stjärnor och aktiv utveckling, så projektet lär inte försvinna i första taget.

Begränsningar

  • Distributionen är inte så enkel som den först verkar: Docker Compose hjälper, men du kör ändå Elasticsearch eller Infinity, MinIO, MySQL och Redis vid sidan av appen. Något kommer att gå sönder förr eller senare, och du behöver kunna tillräckligt med Docker för att fixa det.
  • Infrastrukturkrav: Minimum är 16 GB RAM och 4 CPU-kärnor, men det gäller små arbetslaster. Riktiga distributioner behöver 32 GB eller mer, särskilt om du använder Infinity eller kör stora inmatningsjobb. Att köra RAGFlow på en 5-dollars VPS kommer inte att fungera.
  • Det finns en inlärningskurva: Arbetsflödesbyggaren är kraftfull men har många komponenter, och att hitta rätt chunkmall och hämtningsinställningar tar tid. Du lägger några dagar på att bli varm i kläderna innan du blir produktiv.

Inget av detta är avgörande nackdelar om RAGFlow passar ditt användningsfall. Se dem som kostnaden för att få en plattform i stället för ett bibliotek.

Vem ska använda RAGFlow?

RAGFlow är inte idealiskt för varje projekt. Här är vem det passar och vem som mår bättre av något lättare.

Bäst lämpad

AI-ingenjörer som bygger RAG-system i produktion. Om ditt jobb är att skapa en fungerande RAG-app och inte att skriva ännu ett chunkningsbibliotek, tar RAGFlow bort det mesta av rördragningen.

Enterprise AI-team. Juridik, regelefterlevnad, finans och supportteam behöver källhänvisningar och spårbarhet. Ett UI som icke-ingenjörer kan använda är också ett plus. 

Utvecklare som arbetar med röriga dokument. PDF:er fulla av tabeller, skannade filer, flerspaltiga layouter och blandade format är där DeepDoc är bättre än konkurrensen. Om ditt källmaterial är något annat än ren text är RAGFlows parsningskvalitet svår att matcha.

Organisationer med stora dokumentmängder. När du passerar några tusen dokument behöver du ett system som kan mata in, indexera och söka i skala. RAGFlow är rätt verktyg här.

Mindre idealiskt

Enkla chatbotprototyper. Om du bara behöver svara på frågor från ett par Markdown-filer är RAGFlow överdrivet. Ett LlamaIndex-skript eller en enkel LangChain-pipeline går snabbare.

Mycket små projekt. För personlig Q&A över några PDF:er är infrastrukturkostnaden för tung. Du lägger mer tid på Docker-kommandon än på själva projektet.

Team som vill ha noll uppsättning. Om du vill registrera dig och få ett fungerande RAG på fem minuter är en hostad tjänst eller ett lättviktigt bibliotek bättre. RAGFlow har en molnversion, men den självhostade vägen (där det mesta av värdet finns) kräver visst uppsättningsarbete.

Tumregeln är enkel. Om hämtningskvalitet på röriga dokument är den svåra delen av ditt projekt är RAGFlow värt uppsättningskostnaden. Om inte, använd något lättare.

Slutsats

RAGFlow är en fullstack-plattform för att bygga RAG-applikationer i produktion på verkliga dokument.

Dess största styrka är att dokumentbearbetning, hämtning, omrangering och generering lever i ett och samma arbetsflöde i stället för att kombineras från separata verktyg. Du får DeepDoc-parsning, hybridhämtning, grundade källhänvisningar och agentarbetsflöden bakom ett enda UI och API.

Om dina dokument är röriga och hämtningskvalitet spelar roll är RAGFlow värt uppsättningskostnaden.

Börja med gratis molntier eller en lokal Docker-distribution, ladda upp några av dina sämsta dokument och se hur svaren blir. Det är det snabbaste sättet att veta om det passar ditt användningsfall.

RAG-arkitektur är enkel i sin design, men det betyder inte att den inte fungerar för komplexa användningsfall. Läs vårt Advanced RAG Techniques-blogginlägg för att lära dig om tät hämtning, omrangering och flerstegsresonemang.

Ragflow

Vad används RAGFlow till?

RAGFlow används för att bygga Retrieval Augmented Generation-applikationer ovanpå dina egna dokument. Företag använder det för företagskunskapsbaser, kundsupportassistenter, intern dokumentationssökning och forskningsassistenter som behöver svara på frågor från PDF:er, kalkylblad, presentationer och andra röriga källor. Du får dokumentparsning, hämtning, omrangering, källhänvisningar och agentarbetsflöden i en plattform i stället för fem separata verktyg.

Är RAGFlow gratis?

Ja, RAGFlow är open source under Apache 2.0-licensen och du kan självhosta det i din egen infrastruktur utan kostnad. InfiniFlow kör också en hostad version med en gratistier för små projekt och betalplaner från 29 $ per månad för större team. De flesta produktionsanvändare självhostar, särskilt när de arbetar med känsliga data.

Hur skiljer sig RAGFlow från LangChain eller LlamaIndex?

LangChain är ett applikationsramverk för att kedja ihop LLM-anrop, verktyg och agenter. LlamaIndex är ett dataramverk för inmatning, indexering och hämtning. RAGFlow är en full plattform, vilket betyder att du distribuerar den, konfigurerar via ett webb-UI och får parsning, hämtning, källhänvisningar och arbetsflöden ur lådan utan att skriva pipelinkod. Du kan också blanda dem – LlamaIndex för inmatning, LangChain för orkestrering, RAGFlow när du vill ha hela stacken på ett ställe.

Vilka dokumentformat stöder RAGFlow?

RAGFlow stöder PDF:er, Word-filer, Excel-kalkylblad, PowerPoint-presentationer, Markdown, HTML, ren text, bilder och skannade dokument. DeepDoc-motorn använder OCR, tabellstrukturigenkänning och layoutigenkänning för att parsa varje format korrekt, så att tabeller förblir intakta, flerspaltiga sidor läses i rätt ordning och skannade filer blir sökbara. Från och med v0.25 kan du också synka direkt från Confluence, S3, Notion, Discord och Google Drive.

Vilka är minimikraven på hårdvara för att köra RAGFlow?

Det officiella minimumet är 4 CPU-kärnor, 16 GB RAM, 50 GB disk och Docker 24.0 eller högre. I praktiken vill du ha 32 GB RAM eller mer när du indexerar verkliga dokumentvolymer, eftersom Elasticsearch (eller Infinity), MinIO, MySQL och Redis alla körs vid sidan av RAGFlow-appen. GPU-acceleration för DeepDoc är valfri men snabbar upp inmatningen.

Ämnen
Artificiell intelligens

Lär dig med DataCamp

course

Retrieval Augmented Generation (RAG) med LangChain

3 timmar
20.2K
Lär dig banbrytande metoder för att integrera extern data med LLM:er med Retrieval Augmented Generation (RAG) med LangChain.
Se detaljerRight Arrow
Starta Kursen
Se merRight Arrow