Sari la conținutul principal

RAGFlow explicat: construiește aplicații RAG pentru producție

Un ghid practic pentru RAGFlow, platforma open-source pentru construirea de aplicații Retrieval Augmented Generation de producție, care acoperă arhitectura, motorul de parsare a documentelor, strategiile de regăsire, fluxurile de lucru cu agenți și comparația cu LangChain și LlamaIndex.
Actualizat 12 aug. 2026  · 15 min. citire

Explorează cu AI

ChatGPTClaudePerplexity

De câte ori ai construit un demo RAG care merge grozav pe câteva PDF-uri curate, dar nu reușește să răspundă la nimic din documente reale de enterprise?

Ce se întâmplă este că tabelele sunt aplatizate, paginile scanate dispar, un deck de slide-uri își pierde titlurile, iar logica de împărțire (chunking) separă un antet de secțiune de corpul lui. Un sistem RAG de producție e departe de a fi doar un LLM cu o bază de date vectorială. Are nevoie de parsare a documentelor, strategie de chunking, regăsire hibridă, reranking, urmărirea citărilor, orchestrare de agenți și încă o jumătate de duzină de piese pe care trebuie să le configurezi tu.

RAGFlow este o platformă open-source care combină toate aceste piese într-un singur stack. Gestionează parsarea profundă a documentelor, chunking bazat pe șabloane, regăsire hibridă, fluxuri de lucru pentru agenți și integrare MCP dintr-o singură interfață UI și API, ceea ce înseamnă că îți poți petrece timpul pe baza de cunoștințe și nimic altceva.

În acest articol, te voi ghida prin modul în care funcționează RAGFlow „sub capotă”, cum arată arhitectura sa, cum se compară cu LangChain și LlamaIndex și cum să îl deployezi.

Dacă ai nevoie de un reminder despre cum funcționează RAG, înscrie-te la cursul nostru Retrieval Augmented Generation (RAG) cu LangChain - vei înțelege bazele într-o singură după-amiază.

Ce este RAGFlow?

RAGFlow este un engine RAG open-source creat de InfiniFlow și lansat sub licența Apache 2.0 în aprilie 2024.

Este conceput pentru aplicații AI de producție, unde calitatea regăsirii face sau desface aplicația. Proiectul se concentrează pe înțelegerea profundă a documentelor, ceea ce înseamnă că tratează parsarea și chunking-ul ca fundația pentru tot ce urmează. Dacă PDF-urile, foile de calcul și prezentările tale sunt un haos, niciun reranker sau LLM mai mare nu te va ajuta - trebuie să lucrezi mai întâi la calitatea documentelor.

Ce face RAGFlow diferit de majoritatea uneltelor RAG este că e un stack complet. Primești parsare de documente, chunking bazat pe șabloane, regăsire hibridă, reranking, urmărirea citărilor, un constructor de fluxuri de lucru pentru agenți și suport MCP într-un singur sistem. Nu trebuie să alegi o bază de date vectorială, să configurezi un parser, să adaugi un reranker și să construiești un UI deasupra - toate sunt acolo, în spatele unei singure interfețe web și API.

Asta face ca RAGFlow să fie mai aproape de o platformă decât de un framework.

Cum funcționează RAGFlow

RAGFlow urmează pipeline-ul RAG standard, dar fiecare pas este o componentă pe care o poți configura, nu cod pe care trebuie să-l scrii.

Iată ce se întâmplă din momentul încărcării unui document până când LLM trimite un răspuns înapoi:

  1. Ingestia documentelor: Îți încarci fișierele sau conectezi o sursă de date. RAGFlow acceptă PDF-uri, fișiere Word, foi Excel, prezentări PowerPoint, Markdown, HTML, imagini și copii scanate. Începând cu v0.25, poți sincroniza și date din Confluence, S3, Notion, Discord și Google Drive.
  2. Parsează și structurează conținutul: Motorul DeepDoc citește fiecare fișier cu OCR, recunoașterea structurii tabelelor și recunoașterea layout-ului. Rezultatul este conținut structurat cu metadate despre titluri, tabele, figuri și ordinea de citire.
  3. Generează embedding-uri: RAGFlow trimite fiecare chunk printr-un model de embedding ales din config. Poți folosi OpenAI, Cohere, Voyage, un model local sau orice altceva suportă.
  4. Indexează cunoștințele: Chunk-urile și vectorii intră în engine-ul de documente. Elasticsearch este implicit, dar poți trece la Infinity, baza de date proprie InfiniFlow construită pentru căutare hibridă.
  5. Regăsește contextul relevant: Când vine o interogare, RAGFlow rulează căutare vectorială, căutare cu cuvinte-cheie BM25 și reranking împreună. Primești înapoi cele mai bune chunk-uri cu citări către documentul sursă.
  6. Generează răspunsuri cu un LLM: Chunk-urile regăsite intră în prompt, LLM-ul scrie un răspuns, iar RAGFlow atașează citările astfel încât utilizatorul să poată urmări fiecare afirmație înapoi la pasajul sursă.

Ordinea nu e nouă. Important este că fiecare pas este o piesă configurabilă a platformei și poți inspecta rezultatul la fiecare etapă.

Arhitectura RAGFlow

Arhitectura RAGFlow are patru straturi, iar fiecare rezolvă o problemă specifică din pipeline-ul RAG. Iată o privire de ansamblu vizuală:

Arhitectura RAGFlow vizualizată

Arhitectura RAGFlow vizualizată

Acum te voi trece prin fiecare strat.

Ingestia documentelor

Acesta este punctul de intrare. RAGFlow acceptă PDF-uri, documente Office precum Word, Excel și PowerPoint, fișiere Markdown și pagini web. Funcționează și cu documente scanate și imagini, deoarece OCR este integrat.

Poți încărca fișiere direct prin UI, conecta o sursă din cloud sau trimite documente prin API. Stratul de ingestie normalizează totul într-un format comun înainte de a le duce la etapa următoare.

Procesarea cunoștințelor

Aici intră în scenă DeepDoc.

Parsarea transformă fișierele brute în conținut structurat cu titluri, paragrafe, tabele și figuri. Chunking-ul împarte acel conținut în unități pentru regăsire pe baza unui șablon pe care îl alegi (General, Paper, Book, Q&A, Manual, Table sau Naive). Extracția de metadate atașează context fiecărui chunk, cum ar fi numerele de pagină, titlurile secțiunilor și poziția pe pagină.

Chunk-urile care ies din acest strat își păstrează structura. Asta înseamnă că un tabel rămâne tabel, un titlu rămâne cu secțiunea lui, iar legenda unei figuri rămâne cu figura. Nu pare aleatoriu ca în strategiile tradiționale de chunking RAG.

Motorul de regăsire

Motorul de regăsire se află deasupra Elasticsearch sau Infinity, în funcție de engine-ul de documente pe care îl configurezi.

Rulează trei tipuri de căutare în paralel:

  • Căutare vectorială pentru similaritate semantică
  • Căutare cu cuvinte-cheie BM25 pentru potriviri exacte de termeni
  • Reranking peste rezultatele combinate pentru a împinge cele mai relevante chunk-uri în top

Acest strat îți oferă un set mic de chunk-uri de înaltă calitate care intră în promptul LLM.

Stratul LLM

Stratul LLM trimite chunk-urile regăsite către orice model ai conectat - OpenAI, DeepSeek, Gemini, Claude, un model local Ollama sau orice altceva suportă RAGFlow.

Răspunsul vine înapoi cu citări. Fiecare afirmație din răspuns indică un anumit chunk, iar fiecare chunk indică o locație specifică în documentul sursă. Asta este ceea ce RAGFlow numește răspunsuri ancorate - utilizatorul poate da click pe o citare și vede exact pasajul din care provine, ceea ce face ușor de depistat halucinațiile.

Cele patru straturi funcționează ca un pipeline. Ingestia alimentează procesarea cunoștințelor, procesarea cunoștințelor alimentează motorul de regăsire, iar motorul de regăsire alimentează stratul LLM.

Funcții-cheie ale RAGFlow

Iată funcțiile care contează cel mai mult când construiești un sistem RAG pe documente reale, dezordonate.

Parsare avansată a documentelor

Parserul RAGFlow se numește DeepDoc și acesta este motivul pentru care platforma există.

DeepDoc rulează trei modele de viziune pe fiecare document: OCR pentru extragerea textului, TSR pentru recunoașterea structurii tabelelor și DLR pentru recunoașterea layout-ului documentului. Așadar, în loc să trateze un PDF ca pe un flux de caractere, citește fișierul așa cum ar face-o un om - vede unde sunt tabelele, unde se rup coloanele, care text este un titlu și care este o notă de subsol.

Acea structură se propagă în chunk-uri. Tabelele rămân cu headerele lor, layout-urile pe mai multe coloane sunt citite în ordinea corectă, iar figurile își păstrează legendele.

Dacă ai încercat să faci asta manual, știi cât de greu este să faci bine această parte pe tipuri diferite de documente și la scară.

Regăsire hibridă

Căutarea semantică ratează adesea interogările unde cuvântul exact contează. Căutarea după cuvinte-cheie singură ratează interogările unde contează sensul, dar formularea e diferită.

RAGFlow le rulează pe ambele în același timp:

  • Căutarea vectorială prinde potrivirile semantice - „venit” găsește „vânzări” și „încasări”
  • Căutarea după cuvinte-cheie prinde potrivirile exacte - un cod de produs sau un termen juridic apare chiar dacă modelul de embedding nu îl înțelege
  • Reranking-ul ia rezultatele combinate și le reordonează cu un model dedicat, astfel încât chunk-urile din top să fie într-adevăr cele mai relevante

Constructor de fluxuri de lucru

Constructorul de fluxuri este o pânză vizuală unde configurezi pipeline-ul în loc să scrii cod.

Tragi componente pe o pânză - retrieval, rerank, LLM, execuție de cod, apeluri HTTP, iterații, ramificații - și le conectezi într-un flow. RAGFlow vine cu șabloane predefinite pentru tipare comune precum Retrieve - Rerank - Answer, Deep Research și Data Analytics.

Pentru echipe formate în mare parte din non-ingineri, așa pot crea un prototip funcțional într-o săptămână.

Suport pentru agenți

De la v0.20, RAGFlow suportă fluxuri agentice complete pe aceeași pânză ca și fluxurile obișnuite.

O componentă agent poate planifica, reflecta, apela unelte și delega către sub-agenți. Configurezi un prompt și o listă de unelte, iar agentul decide la runtime ce unealtă să apeleze și în ce ordine. Uneltele pot fi componente integrate, servere MCP pe care le-ai conectat sau alți agenți.

Valoarea constă în raționarea peste cunoștințele regăsite. 

Un agent de suport poate regăsi dintr-o bază de cunoștințe, apela un API extern pentru a verifica statusul unui tichet și decide dacă escaladează. Face totul într-un singur flow, cu citări atașate părților venite din documente.

Parsarea documentelor și extragerea cunoștințelor

Calitatea regăsirii începe cu calitatea parsării. Dacă ratezi această parte, niciun reranker sau LLM mai mare nu te poate ajuta.

Majoritatea eșecurilor RAG se întâmplă la nivel de document, adică un PDF plin de tabele este extras ca valori separate prin virgule sau o prezentare își pierde ierarhia vizuală. Până când acele chunk-uri ajung în baza de date vectorială, nu mai au valoare.

Abordarea RAGFlow este să trateze parsarea ca pe o problemă de prim rang.

Tabele

Tabelele sunt partea cea mai dificilă a parsării documentelor. Un parser PDF standard citește un tabel rând cu rând și îl transformă într-un flux de numere fără headere atașate. Pierzi structura.

DeepDoc rulează Table Structure Recognition (TSR) înainte de chunking. Identifică limitele tabelului, rândul de header, coloanele și relațiile dintre celule. Când chunker-ul împarte documentul, tabelele rămân intacte cu headerele lor, iar fiecare rând își păstrează contextul.

Imagini și scanări

DeepDoc folosește OCR pentru a extrage text din pagini scanate, iar de la v0.19 poate folosi un model viziune-limbaj pentru a înțelege imaginile din fișiere PDF și DOCX.

Asta înseamnă că o diagramă, un grafic sau o fotografie a unei chitanțe pot deveni conținut căutabil.

Layout-uri pe mai multe coloane

Articolele academice și rapoartele financiare folosesc layout-uri pe mai multe coloane. Un parser naiv le citește de la stânga la dreapta, linie cu linie, amestecând coloanele și producând conținut fără sens.

DeepDoc folosește Document Layout Recognition (DLR) pentru a determina mai întâi ordinea de citire. Știe că coloana 1 vine înaintea coloanei 2 și că un header se întinde peste ambele coloane.

Metadate

Fiecare chunk vine cu metadate, cum ar fi numărul paginii, titlul secțiunii, poziția pe pagină și fișierul sursă din care provine.

Asta permite citările. Când LLM-ul citează un pasaj, RAGFlow poate indica exact pagina și locația din documentul sursă. De asemenea, face posibilă filtrarea la nivel de chunk - poți căuta într-o anumită secțiune sau într-un anumit document.

Calitatea chunk-urilor

Piesa finală este chiar chunking-ul. RAGFlow folosește chunking bazat pe șabloane, ceea ce înseamnă că alegi un șablon care se potrivește tipului tău de document (General, Paper, Book, Q&A, Manual, Table sau Naive).

Fiecare șablon aplică reguli diferite pentru unde să despartă. Un șablon Paper păstrează abstractul, metoda și rezultatele ca unități separate. Un șablon Q&A păstrează fiecare întrebare cu răspunsul ei. Un șablon Manual respectă titlurile și procedurile. Ai prins ideea.

Rezultatul este un set de chunk-uri care au sens de sine stătător. Când sunt adăugate în fereastra de context a LLM, au suficientă semnificație pentru a răspunde la întrebare.

Regăsirea în RAGFlow

După ce documentele sunt parșate și împărțite, pasul de regăsire va decide dacă LLM vede contextul potrivit. Motorul de regăsire al RAGFlow are trei părți care lucrează împreună.

Regăsire vectorială

Căutarea vectorială surprinde similaritatea semantică. Îți embedezi interogarea și fiecare chunk cu același model, iar engine-ul returnează chunk-urile ale căror vectori sunt cei mai apropiați de vectorul interogării.

Asta permite ca o căutare după „creșterea veniturilor” să găsească un chunk despre „majorarea vânzărilor” chiar dacă termenii nu apar unul în celălalt. RAGFlow îți permite să alegi modelul de embedding - OpenAI, Cohere, Voyage, BGE sau unul local - și să îl schimbi ulterior fără a reconstrui întregul sistem.

Căutare hibridă

Căutarea vectorială nu e cea mai bună pentru termeni exacți. Lucruri precum un cod de produs sau o referință legală s-ar putea să nu aibă un semnal semantic puternic, dar potrivirea exactă a șirului contează mult.

RAGFlow rulează căutarea cu cuvinte-cheie BM25 alături de căutarea vectorială și combină rezultatele. Obții rechemarea semantică a embedding-urilor și precizia potrivirii după cuvinte-cheie în aceeași interogare.

Reranking

Prima rundă de regăsire îți dă un set de candidați - de obicei primele 30 sau 50 de chunk-uri. Sunt prea multe pentru fereastra de context a LLM, iar vârful listei este adesea zgomotos.

Reranking-ul ia acei candidați și îi reordonează cu un model dedicat care citește interogarea și fiecare chunk împreună. Reranker-ul știe ce este relevant pentru interogare, nu doar ce este similar cu ea. Primele 5 sau 10 chunk-uri după reranking sunt cele care intră în prompt.

Selecția contextului

Pasul final este să decizi ce intră în contextul LLM. RAGFlow îți permite să setezi numărul de chunk-uri, pragul de similaritate și scorul minim al reranker-ului.

Poți folosi și opțiuni avansate precum RAPTOR (rezumare ierarhică pentru întrebări multi-hop) sau RAG cu context lung (cuprins auto-generat la nivel de document care oferă LLM-ului o hartă a materialului sursă). Aceste opțiuni există pentru cazurile în care regăsirea pe chunk-uri plate nu este suficientă.

Scopul întregului motor de regăsire este să ofere LLM-ului exact contextul de care are nevoie și nimic mai mult.

RAGFlow vs pipeline-uri RAG tradiționale

Pipeline-urile RAG tradiționale sunt construite din unelte independente. Alegi un parser (Unstructured, LlamaParse, PyMuPDF), un chunker (splittere de text LangChain, cod personalizat), un model de embedding, o bază de date vectorială (Pinecone, Weaviate, Chroma, Qdrant), un reranker (Cohere, BGE), un client LLM și un UI. Apoi scrii codul care le folosește pe toate.

Această abordare îți oferă cel mai mult control, dar necesită mult efort de inginerie.

Fiecare punct de integrare este cod pe care trebuie să îl proiectezi, scrii, testezi și menții. Când vrei să adaugi urmărirea citărilor, trebuie să o construiești. La fel, când o componentă își schimbă API-ul, repari pipeline-ul.

RAGFlow abordează invers problema.

Este o platformă integrată în care parsarea, chunking-ul, regăsirea, reranking-ul, citarea, orchestrarea fluxurilor și un UI web vin gata incluse. Configurezi printr-o interfață web în loc de cod, iar piesele sunt deja conectate.

Ce pierzi la schimb este flexibilitatea. Dacă vrei să schimbi un algoritm nou de chunking sau un reranker de cercetare, lucrezi în cadrul modelului de pluginuri al RAGFlow în loc să scrii Python. Pentru majoritatea cazurilor de producție, e în regulă, dar pentru uz experimental poate părea destul de restrictiv.

Iată un rezumat al diferențelor:

  RAG tradițional RAGFlow
Setup Asamblezi multiple unelte O platformă, un singur deploy
Orchestrare Cod personalizat Constructor vizual de fluxuri
Efort de inginerie Ridicat Redus spre mediu
Flexibilitate Control total Constrâns de platformă
Timp până la primul rezultat Zile până la săptămâni Ore
Cel mai potrivit pentru Pipeline-uri personalizate sau experimentale Sisteme de producție care lucrează cu documente dezordonate

Nicio abordare nu este universal mai bună. Dacă ai timp de inginerie și ai nevoie de control total, un pipeline tradițional este alegerea potrivită. Dacă vrei să te concentrezi pe baza de cunoștințe, RAGFlow va fi mai rapid.

RAGFlow vs LangChain și LlamaIndex

Dacă iei în considerare RAGFlow, probabil ai auzit de LangChain și LlamaIndex. Îți voi arăta acum cum se compară.

LangChain

LangChain este un framework de aplicații pentru aplicații cu LLM. Sarcina sa principală este orchestrarea, adică înlănțuirea de prompturi, unelte, memorie și modele în fluxuri de lucru. LangChain nu se preocupă prea mult de modul în care sunt parșate documentele sau cum este configurată regăsirea. Îi pasă de ce se întâmplă după regăsire.

Dacă proiectul tău este puternic orientat pe agenți - apelare de unelte, raționament în pași multipli, logică de ramificare, om-în-buclă - LangChain (și stratul său de mașină de stări, LangGraph) este ceea ce folosesc majoritatea echipelor.

LlamaIndex

LlamaIndex este un framework de date pentru LLM-uri. Se concentrează pe ingestia datelor, construirea de indici peste acele date și interogarea lor eficientă. LlamaIndex are peste 160 de conectori de date, mai multe tipuri de indici (vector, cuvinte-cheie, arbore, knowledge graph) și setări implicite rezonabile pentru chunking și regăsire.

Dacă proiectul tău este axat pe regăsire, cu multe documente, cerințe de căutare profunde și o gamă largă de sisteme sursă, LlamaIndex este cea mai puternică opțiune „code-first”.

RAGFlow

RAGFlow este o platformă RAG integrată. Nu este o bibliotecă pe care o imporți și o folosești în Python - este un sistem pe care îl deployezi. Parsarea, chunking-ul, regăsirea, reranking-ul, citările, fluxurile de lucru, agenții și un UI web vin împreună cu el.

Dacă prioritatea ta este să pui în funcțiune un sistem RAG de producție pe documente dezordonate fără să scrii cod de pipeline de la zero, RAGFlow este cea mai rapidă cale.

Cele trei unelte se și combină. Un tipar comun este LlamaIndex pentru ingestie, LangChain sau LangGraph pentru orchestrarea agenților și RAGFlow când vrei un stack complet, self-hosted, în loc de cod construit manual.

Iată un recapitulativ:

  LangChain LlamaIndex RAGFlow
Tip Framework de aplicații Framework de date Platformă integrată
Focal principal Orchestrare, agenți Ingestie, indexare, regăsire Stack RAG cap-coadă
Interfață Bibliotecă Python / JavaScript Bibliotecă Python Web UI + API
Parsarea documentelor De bază (cu integrări) Bună Cea mai bună (DeepDoc)
Suport pentru agenți Puternic (LangGraph) De bază (fluxuri) Puternic (v0.20+)
Cel mai potrivit pentru Aplicații axate pe agenți Aplicații axate pe regăsire RAG de producție care lucrează cu documente dezordonate
Limbaj Code-first Code-first Config-first (cu API)

Construirea unei aplicații RAG cu RAGFlow

După ce RAGFlow rulează, construirea unei aplicații RAG urmează cinci pași. Din nou, nu scrii cod de pipeline, ci configurezi fiecare pas prin UI sau API.

Ingestia documentelor

Începe prin a încărca documentele. Poți adăuga fișiere prin UI web, conecta o sursă de date precum Google Drive, S3, Notion, Confluence sau Discord, sau poți adăuga fișiere prin API.

Exemplu de ingestie a documentelor

Exemplu de ingestie a documentelor

RAGFlow acceptă cele mai comune formate, deci nu trebuie să convertești nimic din start.

Configurează baza de cunoștințe

O bază de cunoștințe în RAGFlow este un container pentru documente, chunk-uri și setări. Alegi șablonul de chunk care se potrivește tipului tău de document (General pentru conținut mixt, Paper pentru cercetare, Manual pentru documentație tehnică, Q&A pentru tichete de suport etc.), alegi modelul de embedding și selectezi parserul.

Configurare bază de cunoștințe

Configurare bază de cunoștințe

Ține minte că acest pas e important, deoarece o alegere bună a șablonului îți scapă de multe bătăi de cap mai târziu.

Alege o strategie de regăsire

Apoi, decide cum ar trebui să funcționeze regăsirea. Setezi numărul de top chunk-uri de returnat, pragul de similaritate și dacă să folosești căutare hibridă sau doar vectorială. Poți porni și reranking-ul și alege un model de reranker.

Pentru cazuri avansate, RAGFlow suportă RAPTOR pentru rezumare ierarhică și knowledge graphs pentru regăsire bazată pe entități. Poți activa aceste opțiuni în configurarea bazei de cunoștințe.

Conectează un LLM

RAGFlow nu include un LLM. Îl aduci tu - OpenAI, DeepSeek, Gemini, Claude, un model local prin Ollama sau orice altceva suportă RAGFlow.

Opțiuni de model

Opțiuni de model

Adaugi cheia API în setări, alegi modelul și setezi promptul de sistem. 

Testează răspunsurile

Ultimul pas este testarea. RAGFlow are o interfață de chat unde poți interoga baza de cunoștințe și poți vedea răspunsul cu citări atașate.

Dă click pe orice citare și ajungi exact la chunk-ul respectiv, cu poziția sa din documentul sursă evidențiată.

Majoritatea echipelor trec prin această buclă de câteva ori înainte ca răspunsurile să fie utilizabile. Este normal pentru orice sistem RAG, dar cu RAGFlow schimbi setări într-un UI în loc să rescrii cod Python.

Exemplu de configurare a chatului

Exemplu de configurare a chatului

RAGFlow în producție

Vei vedea RAGFlow folosit în producție pentru un set specific de cazuri de utilizare, mai ales acolo unde calitatea documentelor și urmărirea citărilor contează cel mai mult.

Baze de cunoștințe enterprise

Companiile mari au mii de documente răspândite pe drive-uri partajate, Confluence, SharePoint și PDF-uri în atașamente de e-mail. Angajații de obicei nu găsesc ce au nevoie, iar întrebarea pusă LLM-ului fără RAG îți aduce halucinații.

RAGFlow funcționează bine aici.

PDF-uri vechi, politici scanate, foi Excel cu pivot tables, prezentări PowerPoint de acum ani - toate sunt parșate. Iar cu citări, echipele juridice și de conformitate pot avea încredere în răspunsuri, iar UI-ul web înseamnă că non-inginerii pot întreține baza de cunoștințe.

Asistenți pentru suport clienți

Echipele de suport au ani de tichete, întrebări frecvente, manuale de produs și runbook-uri interne. Un asistent de suport trebuie să caute în toate acestea, să găsească pasajul potrivit și să știe când să escaladeze.

Șablonul de chunk Q&A din RAGFlow este creat exact pentru asta. Îi oferi istoricul tău de tichete și tratează fiecare pereche întrebare-răspuns ca o unitate de regăsire. Dacă adaugi un strat de agent deasupra, conectezi un API pentru interogări de comenzi și ai un asistent care gestionează întrebările de rutină și oferă cele dificile cu context complet.

Căutare în documentația internă

Echipele de inginerie au runbook-uri, documente de arhitectură, postmortem-uri de incidente și referințe API împrăștiate prin Notion, Confluence și GitHub. Grep funcționează pentru cuvinte-cheie, dar nu ajută cu „cum am gestionat ultima dată când s-a declanșat această alertă?”

RAGFlow îți oferă căutare semantică peste întregul corpus cu citări înapoi la sursă. Asta înseamnă că inginerii pot obține pasajul și linkul către pagina originală dintr-un singur click.

Asistenți de cercetare

Echipele de cercetare lucrează cu lucrări, brevete, rapoarte și experimente interne. Șablonul Deep Research din RAGFlow este conceput pentru asta, deoarece are regăsire pe mai multe tururi cu raționament chain-of-thought, unde agentul descompune o întrebare, caută părți din răspuns și le sintetizează.

Pentru cercetarea în finanțe, juridic și pharma, abilitatea de a urmări fiecare afirmație până la o sursă este ceea ce face asistentul utilizabil.

Firul comun în aceste cazuri de utilizare este că documentele sunt partea grea. Dacă materialul sursă este curat și simplu, majoritatea uneltelor RAG funcționează. Dacă este dezordonat și structurat, stratul de parsare al RAGFlow probabil te va duce mai departe decât să scrii pipeline-ul de la zero.

Deployarea RAGFlow

RAGFlow îți oferă trei căi de deploy. Iată care sunt.

Deploy cu Docker

Docker Compose este calea principală. Clonezi repo-ul, intri în folderul docker și rulezi docker compose up -d. Asta pornește serverul RAGFlow împreună cu Elasticsearch, MinIO, MySQL și Redis.

Specificațiile minime sunt 4 nuclee CPU, 16 GB RAM și 50 GB spațiu pe disc. În practică, vei dori mai mult RAM dacă rulezi colecții mari de documente, deoarece Elasticsearch și Infinity au nevoie de multă memorie.

Imaginile Docker țintesc x86, deci ține cont de asta. Dacă ești pe Apple Silicon sau altă mașină ARM64, stratul de translație te va porni, dar vei dori să construiești imaginea tu însuți folosind ghidul ARM64 din documentația RAGFlow pentru performanță mai bună.

Dezvoltare locală

Dacă vrei să modifici codul sursă al RAGFlow, poți rula backendul și frontendul din sursă. Folosești uv pentru dependențele Python, rulezi docker compose -f docker/docker-compose-base.yml up -d pentru a porni doar serviciile suport (MinIO, Elasticsearch, MySQL, Redis), apoi pornești backendul cu un script shell și frontendul cu npm run dev.

Această cale merită doar dacă contribui la proiect sau faci debugging. Pentru majoritatea utilizatorilor, calea cu Docker Compose este mai rapidă.

Deploy în cloud

InfiniFlow rulează o versiune găzduită la cloud.ragflow.io. Are un plan gratuit cu 5 aplicații și 500 de credite pe lună și planuri plătite la 29 $, 129 $ și prețuri pentru enterprise.

Versiunea cloud este ok pentru prototipuri și echipe mici. Pentru utilizare serioasă în producție cu date sensibile, majoritatea echipelor își găzduiesc singure, fie pe un singur VM pentru deploy-uri mai mici, fie pe Kubernetes folosind chartul Helm pentru cele mai mari.

Considerații de scalare

Deploy-ul implicit al RAGFlow rulează totul pe o singură mașină. Este în regulă până la un punct, dar după aceea vei atinge o limită fie la numărul de documente, fie la încărcarea de interogări, fie la mărimea echipei.

Piesele care scalează independent sunt engine-ul de documente (Elasticsearch sau Infinity), stocarea de obiecte (MinIO) și aplicația RAGFlow în sine. Pentru deploy-uri mai mari, separi aceste servicii pe mai multe mașini, folosești un Elasticsearch gestionat sau un obiect store compatibil S3 și rulezi mai multe instanțe ale aplicației RAGFlow în spatele unui load balancer.

Accelerarea GPU pentru DeepDoc este un alt aspect de explorat. După cum știi, parsarea este în mod implicit intensă pe CPU, dar poți activa modul GPU în config, ceea ce face o mare diferență la ingestii mari de documente.

Restul este muncă standard de infrastructură, iar RAGFlow nu stă în cale.

Avantajele și limitările RAGFlow

Fiecare unealtă are compromisuri, iar RAGFlow nu face excepție. Iată ce trebuie să știi înainte să îl folosești.

Avantaje

  • Este o platformă integrată: Nu trebuie să alegi un parser, o bază de date vectorială, un reranker, un chunker și un framework UI și apoi să scrii codul. RAGFlow le include pe toate.
  • Procesarea documentelor este partea cea mai puternică: DeepDoc gestionează mai bine decât majoritatea alternativelor PDF-uri, fișiere scanate, tabele și layout-uri complexe. Dacă documentele tale sunt dezordonate, de multe ori acesta e un motiv suficient pentru a alege RAGFlow.
  • Este orientat spre producție din prima zi: Citări ancorate, vizualizarea chunk-urilor, fluxuri de lucru pentru agenți, suport MCP și un UI de management real sunt integrate. 
  • Este open source sub Apache 2.0: Poți face self-hosting, modifica codul și îl poți rula pe propria infrastructură. Repo-ul GitHub are peste 80k stele și dezvoltare activă, deci proiectul nu va dispărea curând.

Limitări

  • Deploy-ul nu este atât de ușor pe cât pare inițial: Docker Compose ajută, dar tot rulezi Elasticsearch sau Infinity, MinIO, MySQL și Redis alături de aplicație. Ceva se va strica la un moment dat și va trebui să știi suficient Docker ca să repari.
  • Cerințe de infrastructură: Minim 16 GB RAM și 4 nuclee CPU, dar asta pentru workload-uri mici. Deploy-urile reale au nevoie de 32 GB sau mai mult, mai ales dacă folosești Infinity sau rulezi ingestii mari. Rularea RAGFlow pe un VPS de 5 $ nu va funcționa.
  • Există o curbă de învățare: Constructorul de fluxuri este puternic, dar are multe componente, iar găsirea șablonului de chunk potrivit și a setărilor de regăsire necesită timp. Vei petrece câteva zile până te obișnuiești înainte să fii productiv.

Niciuna dintre acestea nu este un dealbreaker dacă RAGFlow se potrivește cazului tău. Consideră-le costul pentru a obține o platformă în loc de o bibliotecă.

Cine ar trebui să folosească RAGFlow?

RAGFlow nu este ideal pentru fiecare proiect. Iată cui i se potrivește și cine ar fi mai bine cu ceva mai lejer.

Potrivire optimă

Ingineri AI care construiesc sisteme RAG de producție. Dacă jobul tău este să creezi o aplicație RAG funcțională, nu să mai scrii o bibliotecă de chunking, RAGFlow elimină cea mai mare parte din munca de infrastructură.

Echipe AI din enterprise. Echipele juridice, de conformitate, financiar și suport au nevoie de citări și trasabilitate. Un UI pe care îl pot folosi non-inginerii este, de asemenea, un plus. 

Dezvoltatori care lucrează cu documente dezordonate. PDF-uri pline de tabele, fișiere scanate, layout-uri pe mai multe coloane și formate mixte sunt zonele în care DeepDoc este mai bun decât concurența. Dacă materialul sursă este altceva decât text curat, calitatea parsării din RAGFlow e greu de egalat.

Organizații cu colecții mari de documente. După ce treci de câteva mii de documente, ai nevoie de un sistem care poate ingera, indexa și căuta la scară. RAGFlow este unealta potrivită aici.

Mai puțin ideal

Protouri simple de chatbot. Dacă trebuie doar să răspunzi la întrebări din câteva fișiere Markdown, RAGFlow e prea mult. Un script LlamaIndex sau un pipeline LangChain simplu te duce mai repede acolo.

Proiecte foarte mici. Pentru Q&A personal peste câteva PDF-uri, costul de infrastructură e prea mare. Vei petrece mai mult timp pe comenzi Docker decât pe proiectul propriu-zis.

Echipe care vor zero setup. Dacă vrei să te înscrii și să ai un RAG funcțional în cinci minute, un serviciu găzduit sau o bibliotecă lightweight e mai potrivită. RAGFlow are o versiune cloud, dar calea self-hosted (acolo unde e cea mai mare valoare) necesită ceva setup.

Regula de bază e simplă. Dacă partea grea a proiectului tău este calitatea regăsirii pe documente dezordonate, RAGFlow merită efortul de setup. Dacă nu, folosește ceva mai lejer.

Concluzie

RAGFlow este o platformă full-stack pentru a construi aplicații RAG de producție pe documente din lumea reală.

Cel mai mare punct forte este că procesarea documentelor, regăsirea, reranking-ul și generarea trăiesc într-un singur flux de lucru, în loc să fie combinate din unelte separate. Primești parsare DeepDoc, regăsire hibridă, citări ancorate și fluxuri de lucru cu agenți în spatele unei singure interfețe UI și API.

Dacă documentele tale sunt dezordonate și calitatea regăsirii contează, RAGFlow merită costul de setup.

Începe cu nivelul gratuit din cloud sau cu un deploy local în Docker, încarcă câteva dintre cele mai problematice documente ale tale și vezi cum vin răspunsurile. Este cel mai rapid mod de a ști dacă se potrivește cazului tău.

Arhitectura RAG este simplă prin design, dar asta nu înseamnă că nu funcționează pentru cazuri complexe. Citește articolul nostru Tehnici RAG avansate pentru a învăța despre regăsire densă, reranking și raționament în pași multipli.

Ragflow

La ce este folosit RAGFlow?

RAGFlow este folosit pentru a construi aplicații Retrieval Augmented Generation peste propriile tale documente. Companiile îl folosesc pentru baze de cunoștințe enterprise, asistenți pentru suport clienți, căutare în documentație internă și asistenți de cercetare care trebuie să răspundă la întrebări din PDF-uri, foi de calcul, prezentări și alte surse dezordonate. Îți oferă parsare de documente, regăsire, reranking, citări și fluxuri de lucru cu agenți într-o singură platformă, în loc de cinci unelte separate.

RAGFlow este gratuit?

Da, RAGFlow este open source sub licența Apache 2.0 și îl poți găzdui pe propria infrastructură fără costuri. InfiniFlow rulează, de asemenea, o versiune găzduită cu un plan gratuit pentru proiecte mici și planuri plătite începând de la 29 $ pe lună pentru echipe mai mari. Majoritatea utilizatorilor de producție fac self-hosting, în special când lucrează cu date sensibile.

Cu ce este diferit RAGFlow față de LangChain sau LlamaIndex?

LangChain este un framework de aplicații pentru a înlănțui apeluri LLM, unelte și agenți. LlamaIndex este un framework de date pentru ingestie, indexare și regăsire. RAGFlow este o platformă completă, ceea ce înseamnă că îl deployezi, îl configurezi printr-un UI web și obții parsare, regăsire, citări și fluxuri de lucru gata de folosire, fără să scrii cod de pipeline. Le poți și combina - LlamaIndex pentru ingestie, LangChain pentru orchestrare, RAGFlow când vrei întregul stack într-un singur loc.

Ce formate de documente suportă RAGFlow?

RAGFlow suportă PDF-uri, fișiere Word, foi de calcul Excel, prezentări PowerPoint, Markdown, HTML, text simplu, imagini și documente scanate. Motorul DeepDoc folosește OCR, recunoașterea structurii tabelelor și recunoașterea layout-ului pentru a parsa corect fiecare format, astfel încât tabelele să rămână intacte, paginile pe mai multe coloane să fie citite în ordinea corectă, iar fișierele scanate să devină căutabile. Începând cu v0.25, poți sincroniza direct și din Confluence, S3, Notion, Discord și Google Drive.

Care sunt cerințele minime de hardware pentru a rula RAGFlow?

Minimul oficial este 4 nuclee CPU, 16 GB RAM, 50 GB spațiu pe disc și Docker 24.0 sau mai nou. În practică, vei dori 32 GB RAM sau mai mult odată ce indexezi volume reale de documente, deoarece Elasticsearch (sau Infinity), MinIO, MySQL și Redis rulează toate alături de aplicația RAGFlow. Accelerarea GPU pentru DeepDoc este opțională, dar grăbește ingestia.

Subiecte
Inteligență artificială

Învață cu DataCamp

course

Retrieval Augmented Generation (RAG) cu LangChain

3 oră
20.2K
Învață metode de ultimă generație pentru integrarea datelor externe cu LLM-uri folosind Retrieval Augmented Generation (RAG) cu LangChain.
Vezi detaliiRight Arrow
Începeți Cursul
Vezi mai multRight Arrow