Przejdź do głównej treści

RAGFlow — wyjaśnienie: buduj produkcyjne aplikacje RAG

Praktyczny przegląd RAGFlow — open-source’owej platformy do budowy produkcyjnych aplikacji Retrieval Augmented Generation — obejmujący jego architekturę, silnik parsowania dokumentów, strategie wyszukiwania, przepływy agentów i porównanie z LangChain oraz LlamaIndex.
Zaktualizowano 12 sie 2026  · 15 min Czytać

Eksploruj z AI

ChatGPTClaudePerplexity

Ile razy zbudowałeś demo RAG, które świetnie działa na kilku czystych PDF-ach, ale nie potrafi odpowiedzieć na nic z prawdziwych dokumentów firmowych?

Najczęściej dzieje się tak, że tabele zostają spłaszczone, zeskanowane strony znikają, prezentacja traci nagłówki, a logika dzielenia rozdziela nagłówek sekcji od jej treści. Produkcyjny system RAG to coś więcej niż LLM z bazą wektorową. Potrzebuje parsowania dokumentów, strategii dzielenia na fragmenty, hybrydowego wyszukiwania, rerankingu, śledzenia cytowań, orkiestracji agentów i jeszcze co najmniej kilku elementów, które musisz sam skonfigurować.

RAGFlow to open-source’owa platforma, która łączy te elementy w jeden stos. Oferuje głębokie parsowanie dokumentów, szablonowe dzielenie na fragmenty, hybrydowe wyszukiwanie, przepływy pracy agentów i integrację z MCP — wszystko za pośrednictwem jednego interfejsu UI i API. Dzięki temu możesz skupić się na bazie wiedzy i na niczym więcej.

W tym artykule pokażę ci, jak RAGFlow działa pod maską, jak wygląda jego architektura, jak wypada na tle LangChain i LlamaIndex oraz jak go wdrożyć.

Jeśli potrzebujesz przypomnienia, jak działa RAG, zapisz się na nasz kurs Retrieval Augmented Generation (RAG) with LangChain — zrozumiesz podstawy w jedno popołudnie.

Czym jest RAGFlow?

RAGFlow to open-source’owy silnik RAG stworzony przez InfiniFlow i udostępniony na licencji Apache 2.0 w kwietniu 2024 r.

Zaprojektowano go do produkcyjnych aplikacji AI, w których jakość wyszukiwania decyduje o sukcesie. Projekt skupia się na głębokim rozumieniu dokumentów, co oznacza, że parsowanie i dzielenie na fragmenty traktuje jako fundament wszystkiego, co następuje później. Jeśli twoje PDF-y, arkusze i prezentacje są bałaganem, żaden reranker ani większy LLM nie pomoże — najpierw trzeba popracować nad jakością dokumentów.

Tym, co wyróżnia RAGFlow na tle większości narzędzi RAG, jest fakt, że to pełny stos. W jednym systemie dostajesz parsowanie dokumentów, szablonowe dzielenie na fragmenty, hybrydowe wyszukiwanie, reranking, śledzenie cytowań, kreator przepływów agentów i obsługę MCP. Nie musisz wybierać bazy wektorów, konfigurować parsera, dodawać rerankera i budować UI na górze — wszystko jest dostępne za jednym interfejsem WWW i API.

To sprawia, że RAGFlow jest bliżej platformy niż frameworka.

Jak działa RAGFlow

RAGFlow podąża za standardowym potokiem RAG, ale każdy krok to komponent do skonfigurowania, zamiast kodu, który trzeba napisać.

Oto co się dzieje od momentu przesłania dokumentu do chwili, gdy LLM odeśle odpowiedź:

  1. Pobranie dokumentów: Przesyłasz pliki lub łączysz źródło danych. RAGFlow akceptuje PDF-y, pliki Word, arkusze Excel, prezentacje PowerPoint, Markdown, HTML, obrazy i skany. Od wersji v0.25 możesz też synchronizować dane z Confluence, S3, Notion, Discorda i Google Drive.
  2. Parsowanie i strukturyzacja treści: Silnik DeepDoc odczytuje każdy plik z użyciem OCR, rozpoznawania struktury tabel i rozpoznawania układu. Wynikiem jest ustrukturyzowana treść z metadanymi o nagłówkach, tabelach, ilustracjach i kolejności czytania.
  3. Generowanie osadzeń (embeddings): RAGFlow przepuszcza każdy fragment przez wybrany w konfiguracji model osadzeń. Możesz użyć OpenAI, Cohere, Voyage, modelu lokalnego lub innego obsługiwanego.
  4. Indeksowanie wiedzy: Fragmenty i wektory trafiają do silnika dokumentów. Domyślnie jest to Elasticsearch, ale możesz przełączyć się na Infinity — własną bazę InfiniFlow stworzoną do hybrydowego wyszukiwania.
  5. Wyszukiwanie odpowiedniego kontekstu: Po nadejściu zapytania RAGFlow równolegle uruchamia wyszukiwanie wektorowe, wyszukiwanie słów kluczowych BM25 i reranking. Otrzymujesz najlepsze fragmenty z odnośnikami do źródłowego dokumentu.
  6. Generowanie odpowiedzi przez LLM: Odzyskane fragmenty trafiają do promptu, LLM pisze odpowiedź, a RAGFlow dołącza cytowania, aby użytkownik mógł prześledzić każdą tezę do źródłowego fragmentu.

Kolejność nie jest niczym nowym. Istotne jest to, że każdy krok to konfigurowalny element platformy i możesz sprawdzać wynik na każdym etapie.

Architektura RAGFlow

Architektura RAGFlow ma cztery warstwy i każda rozwiązuje konkretny problem w potoku RAG. Oto szybki przegląd wizualny:

RAGFlow architecture visualized

Zwizualizowana architektura RAGFlow

Teraz przeprowadzę cię przez każdą warstwę.

Pobieranie dokumentów

To punkt wejścia. RAGFlow akceptuje PDF-y, dokumenty Office, takie jak Word, Excel i PowerPoint, pliki Markdown i strony WWW. Działają też skany i obrazy, bo wbudowano OCR.

Pliki możesz przesłać bezpośrednio w UI, podłączyć źródło w chmurze albo dostarczyć dokumenty przez API. Warstwa pobierania normalizuje wszystko do wspólnego formatu przed przejściem dalej.

Przetwarzanie wiedzy

Tutaj wkracza DeepDoc.

Parsowanie zamienia surowe pliki w ustrukturyzowaną treść z nagłówkami, akapitami, tabelami i rycinami. Dzielenie na fragmenty rozbija tę treść na jednostki wyszukiwania według wybranego szablonu (General, Paper, Book, Q&A, Manual, Table lub Naive). Ekstrakcja metadanych dołącza do każdego fragmentu kontekst, taki jak numery stron, tytuły sekcji i pozycja na stronie.

Fragmenty wychodzące z tej warstwy zachowują strukturę. To znaczy, że tabela pozostaje tabelą, nagłówek zostaje przy swojej sekcji, a podpis pod ilustracją — przy ilustracji. Nie sprawia wrażenia losowości jak w tradycyjnych strategiach dzielenia w RAG.

Silnik wyszukiwania

Silnik wyszukiwania działa na Elasticsearch lub Infinity — w zależności od skonfigurowanego silnika dokumentów.

Równolegle uruchamia trzy typy wyszukiwania:

  • Wyszukiwanie wektorowe dla podobieństwa semantycznego
  • BM25 (słowa kluczowe) dla dokładnych dopasowań terminów
  • Reranking na połączonych wynikach, aby najtrafniejsze fragmenty trafiły na górę

Ta warstwa zwraca niewielki zestaw wysokiej jakości fragmentów, które trafiają do promptu LLM.

Warstwa LLM

Warstwa LLM wysyła odzyskane fragmenty do wybranego modelu — OpenAI, DeepSeek, Gemini, Claude, lokalnego modelu przez Ollama lub innego obsługiwanego przez RAGFlow.

Odpowiedź wraca z cytowaniami. Każde twierdzenie w odpowiedzi wskazuje na konkretny fragment, a każdy fragment wskazuje na konkretną lokalizację w źródłowym dokumencie. To właśnie RAGFlow nazywa osadzonymi w źródłach odpowiedziami (grounded answers) — użytkownik może kliknąć cytowanie i zobaczyć dokładny fragment, z którego pochodzi, co ułatwia wyłapywanie halucynacji.

Cztery warstwy działają jak potok. Pobieranie zasila przetwarzanie wiedzy, przetwarzanie wiedzy zasila silnik wyszukiwania, a silnik wyszukiwania — warstwę LLM.

Kluczowe funkcje RAGFlow

Oto funkcje, które najbardziej się liczą, gdy budujesz system RAG dla prawdziwych, nieuporządkowanych dokumentów.

Zaawansowane parsowanie dokumentów

Parser RAGFlow nazywa się DeepDoc i to on jest powodem istnienia platformy.

DeepDoc uruchamia trzy modele wizyjne na każdym dokumencie: OCR do ekstrakcji tekstu, TSR do rozpoznawania struktury tabel i DLR do rozpoznawania układu dokumentu. Zamiast traktować PDF jako strumień znaków, czyta plik tak jak człowiek — widzi, gdzie są tabele, gdzie łamią się kolumny, co jest nagłówkiem, a co przypisem.

Ta struktura przechodzi do fragmentów. Tabele zostają ze swoimi nagłówkami, układy wielokolumnowe są czytane we właściwej kolejności, a ilustracje zachowują podpisy.

Jeśli próbowałeś robić to ręcznie, wiesz, jak trudno zrobić to dobrze na różnych typach dokumentów i na dużą skalę.

Hybrydowe wyszukiwanie

Wyszukiwanie semantyczne często nie radzi sobie z zapytaniami, w których liczy się dokładne słowo. Samo wyszukiwanie słów kluczowych gubi zapytania, w których liczy się znaczenie, ale słownictwo jest inne.

RAGFlow uruchamia oba jednocześnie:

  • Wyszukiwanie wektorowe wychwytuje dopasowania semantyczne — „revenue” znajdzie „sales” i „income”
  • Wyszukiwanie słów kluczowych wychwytuje dokładne dopasowania — kod produktu lub termin prawny pojawi się nawet wtedy, gdy model osadzeń go „nie rozumie”
  • Reranking bierze połączone wyniki i porządkuje je modelem dedykowanym, żeby na górze były naprawdę najtrafniejsze fragmenty

Kreator przepływów pracy

Kreator przepływów to wizualne płótno, na którym konfigurujesz potok zamiast pisać kod.

Przeciągasz komponenty na płótno — retrieval, rerank, LLM, wykonanie kodu, wywołania HTTP, iteracje, przełączniki — i łączysz je w przepływ. RAGFlow ma gotowe szablony dla typowych wzorców, takich jak Retrieve - Rerank - Answer, Deep Research i Data Analytics.

Dla zespołów głównie nietechnicznych to sposób na stworzenie działającego prototypu w tydzień.

Obsługa agentów

Od wersji v0.20 RAGFlow obsługuje pełne przepływy agentowe na tym samym płótnie, co zwykłe przepływy.

Komponent agenta potrafi planować, reflektować, wywoływać narzędzia i delegować do subagentów. Konfigurujesz prompt i listę narzędzi, a agent w czasie wykonania decyduje, które narzędzie i w jakiej kolejności wywołać. Narzędzia mogą być wbudowanymi komponentami, serwerami MCP, które podłączyłeś, lub innymi agentami.

Wartością jest wnioskowanie na bazie pozyskanej wiedzy. 

Agent wsparcia może przeszukiwać bazę wiedzy, wywołać zewnętrzne API, aby sprawdzić status zgłoszenia, i zdecydować o eskalacji. Robi to wszystko w jednym przepływie, z cytowaniami do fragmentów pochodzących z dokumentów.

Parsowanie dokumentów i ekstrakcja wiedzy

Jakość wyszukiwania zaczyna się od jakości parsowania. Jeśli tu popełnisz błąd, nie pomoże żaden reranker ani większy LLM.

Większość porażek RAG dzieje się na poziomie dokumentu: PDF pełen tabel zostaje wyekstrahowany jako wartości rozdzielone przecinkami albo prezentacja traci hierarchię wizualną. Gdy takie fragmenty trafią do bazy wektorów, nie ma w nich już wartości.

Podejście RAGFlow traktuje parsowanie jako problem pierwszoplanowy.

Tabele

Tabele są najtrudniejszą częścią parsowania dokumentów. Standardowy parser PDF czyta tabelę wiersz po wierszu i zamienia ją w strumień liczb bez nagłówków. Tracisz strukturę.

DeepDoc uruchamia rozpoznawanie struktury tabel (TSR) przed dzieleniem. Identyfikuje granice tabeli, wiersz nagłówka, kolumny i relacje komórek. Gdy dokument jest dzielony, tabele pozostają nienaruszone wraz z nagłówkami, a każdy wiersz zachowuje kontekst.

Obrazy i skany

DeepDoc używa OCR do ekstrakcji tekstu ze skanów, a od v0.19 potrafi wykorzystać model wizja-język do zrozumienia obrazów wewnątrz PDF i DOCX.

To oznacza, że diagram, wykres czy zdjęcie rachunku mogą stać się treścią przeszukiwalną.

Układy wielokolumnowe

Artykuły naukowe i raporty finansowe używają układów wielokolumnowych. Naiwny parser czyta je od lewej do prawej, linia po linii, mieszając kolumny i tworząc treść bez sensu.

DeepDoc używa rozpoznawania układu dokumentu (DLR), aby najpierw ustalić kolejność czytania. Wie, że kolumna 1 jest przed kolumną 2 i że nagłówek może obejmować obie kolumny.

Metadane

Każdy fragment ma metadane, takie jak numer strony, tytuł sekcji, pozycja na stronie i plik źródłowy, z którego pochodzi.

To umożliwia cytowania. Gdy LLM cytuje fragment, RAGFlow może wskazać dokładną stronę i miejsce w źródłowym dokumencie. To także pozwala na filtrowanie na poziomie fragmentów — możesz szukać w konkretnej sekcji lub konkretnym dokumencie.

Jakość fragmentów

Ostatnim elementem jest samo dzielenie. RAGFlow używa szablonowego dzielenia, co oznacza, że wybierasz szablon pasujący do typu dokumentu (General, Paper, Book, Q&A, Manual, Table lub Naive).

Każdy szablon stosuje inne zasady podziału. Szablon Paper zachowuje streszczenie, metody i wyniki jako oddzielne jednostki. Szablon Q&A utrzymuje każde pytanie z odpowiedzią. Szablon Manual respektuje nagłówki i procedury. Wiesz, o co chodzi.

Wynikiem są fragmenty, które mają sens same w sobie. Gdy trafią do okna kontekstu LLM, niosą wystarczająco dużo znaczenia, by odpowiedzieć na pytanie.

Wyszukiwanie w RAGFlow

Gdy dokumenty są już sparsowane i podzielone, to etap wyszukiwania zdecyduje, czy LLM zobaczy właściwy kontekst. Silnik wyszukiwania RAGFlow ma trzy współdziałające elementy.

Wyszukiwanie wektorowe

Wyszukiwanie wektorowe wychwytuje podobieństwo semantyczne. Osadzasz zapytanie i każdy fragment tym samym modelem, a silnik zwraca fragmenty, których wektory są najbliższe wektorowi zapytania.

Dzięki temu wyszukiwanie „revenue growth” znajdzie fragment o „sales increase”, nawet jeśli żaden z tych terminów nie pojawia się w drugim. W RAGFlow możesz wybrać model osadzeń — OpenAI, Cohere, Voyage, BGE lub lokalny — i później go zmienić bez przebudowy całego systemu.

Wyszukiwanie hybrydowe

Wyszukiwanie wektorowe nie jest najlepsze dla dokładnych terminów. Takie rzeczy jak kod produktu czy odwołanie prawne mogą nie mieć silnego sygnału semantycznego, ale dokładne dopasowanie ciągu znaków ma ogromne znaczenie.

RAGFlow uruchamia równolegle BM25 wraz z wyszukiwaniem wektorowym i łączy wyniki. W jednym zapytaniu dostajesz semantyczny recall osadzeń i precyzję dopasowania słów kluczowych.

Reranking

Pierwsza runda wyszukiwania daje zbiór kandydatów — zwykle top 30 lub 50 fragmentów. To za dużo na okno kontekstu LLM, a czołówka listy bywa szumem.

Reranking bierze tych kandydatów i porządkuje ich modelem dedykowanym, który czyta wspólnie zapytanie i każdy fragment. Reranker wie, co jest relewantne względem zapytania, a nie tylko podobne. Do promptu trafia top 5 lub 10 fragmentów po rerankingu.

Dobór kontekstu

Ostatnim krokiem jest decyzja, co trafi do kontekstu LLM. W RAGFlow ustawiasz liczbę fragmentów, próg podobieństwa i minimalny wynik rerankera.

Możesz też użyć opcji zaawansowanych, takich jak RAPTOR (hierarchiczna synteza dla pytań wieloetapowych) czy long-context RAG (automatycznie generowane spisy treści na poziomie dokumentu, które dają LLM mapę materiału źródłowego). Te opcje są przydatne, gdy płaskie wyszukiwanie fragmentów nie wystarcza.

Cała idea silnika wyszukiwania to dostarczyć LLM dokładnie taki kontekst, jakiego potrzebuje — i nic więcej.

RAGFlow vs tradycyjne potoki RAG

Tradycyjne potoki RAG składają się z niezależnych narzędzi. Wybierasz parser (Unstructured, LlamaParse, PyMuPDF), dzielnik (tekstowe splittery LangChain, własny kod), model osadzeń, bazę wektorową (Pinecone, Weaviate, Chroma, Qdrant), reranker (Cohere, BGE), klienta LLM i UI. Potem piszesz kod, który to wszystko spina.

To podejście daje największą kontrolę, ale wymaga dużo pracy inżynierskiej.

Każdy punkt integracji to kod, który musisz zaplanować, napisać, przetestować i utrzymywać. Gdy chcesz dodać śledzenie cytowań, musisz je zbudować. Gdy komponent zmienia API, naprawiasz potok.

RAGFlow podchodzi odwrotnie.

To zintegrowana platforma, w której parsowanie, dzielenie, wyszukiwanie, reranking, cytowania, orkiestracja przepływów i webowe UI są dostępne od ręki. Konfigurujesz przez interfejs WWW zamiast pisać kod, a elementy są już połączone.

W zamian oddajesz elastyczność. Jeśli chcesz zmienić nowatorski algorytm dzielenia albo badawczy reranker, działasz w modelu wtyczek RAGFlow zamiast pisać Pythona. Dla większości produkcyjnych zastosowań to w porządku, ale w eksperymentach może być odczuwalnym ograniczeniem.

Oto podsumowanie różnic:

  Tradycyjny RAG RAGFlow
Konfiguracja Złożenie wielu narzędzi Jedna platforma, jedno wdrożenie
Orkiestracja Własny kod Wizualny kreator przepływów
Nakład inżynierski Wysoki Niski do średniego
Elastyczność Pełna kontrola Ograniczona platformą
Czas do pierwszego wyniku Dni do tygodni Godziny
Najlepsze dla Niestandardowe lub eksperymentalne potoki Systemy produkcyjne pracujące na nieuporządkowanych dokumentach

Żadne podejście nie jest uniwersalnie lepsze. Jeśli masz czas inżynierski i potrzebujesz pełnej kontroli, tradycyjny potok to właściwy wybór. Jeśli chcesz skupić się na bazie wiedzy, RAGFlow będzie szybszy.

RAGFlow vs LangChain i LlamaIndex

Skoro rozważasz RAGFlow, zapewne słyszałeś o LangChain i LlamaIndex. Teraz pokażę, jak wypadają w porównaniu.

LangChain

LangChain to framework aplikacyjny dla aplikacji LLM. Jego głównym zadaniem jest orkiestracja, czyli łączenie promptów, narzędzi, pamięci i modeli w przepływy. LangChain nie skupia się na tym, jak parsowane są dokumenty czy jak skonfigurowane jest wyszukiwanie. Interesuje go to, co dzieje się po wyszukiwaniu.

Jeśli projekt jest „agent-heavy” — wywoływanie narzędzi, wieloetapowe rozumowanie, logika rozgałęzień, human-in-the-loop — LangChain (i jego warstwa maszyny stanów LangGraph) to wybór większości zespołów.

LlamaIndex

LlamaIndex to framework danych dla LLM. Skupia się na pobieraniu danych, budowaniu indeksów i dobrym ich odpytywaniu. Ma 160+ konektorów danych, kilka typów indeksów (wektorowy, słów kluczowych, drzewiasty, graf wiedzy) i rozsądne domyślne ustawienia dzielenia i wyszukiwania.

Jeśli projekt jest „retrieval-heavy”, czyli obejmuje dużo dokumentów, głębokie wymagania wyszukiwawcze i wiele systemów źródłowych, LlamaIndex to najsilniejszy wybór dla podejścia code-first.

RAGFlow

RAGFlow to zintegrowana platforma RAG. To nie biblioteka do importu w Pythonie — to system do wdrożenia. W zestawie masz parsowanie, dzielenie, wyszukiwanie, reranking, cytowania, przepływy, agentów i webowe UI.

Jeśli twoim priorytetem jest uruchomienie produkcyjnego systemu RAG na nieuporządkowanych dokumentach bez pisania potoku od zera, RAGFlow to najszybsza droga.

Te trzy narzędzia można też łączyć. Częsty wzorzec to LlamaIndex do pobierania danych, LangChain/LangGraph do orkiestracji agentów i RAGFlow, gdy chcesz kompletny, samo-hostowany stos zamiast ręcznie składanego kodu.

Oto rekapitulacja:

  LangChain LlamaIndex RAGFlow
Typ Framework aplikacyjny Framework danych Zintegrowana platforma
Główny fokus Orkiestracja, agenci Pobieranie, indeksowanie, wyszukiwanie Pełny stos RAG end-to-end
Interfejs Biblioteka Python / JavaScript Biblioteka Python Web UI + API
Parsowanie dokumentów Podstawowe (z integracjami) Dobre Najlepsze (DeepDoc)
Wsparcie agentów Silne (LangGraph) Podstawowe (workflows) Silne (v0.20+)
Najlepsze dla Aplikacje z dużym udziałem agentów Aplikacje z naciskiem na wyszukiwanie Produkcyjny RAG na nieuporządkowanych dokumentach
Paradygmat Code-first Code-first Config-first (z API)

Budowa aplikacji RAG z RAGFlow

Gdy RAGFlow działa, budowa aplikacji RAG przebiega w pięciu krokach. Ponownie — nie piszesz potoku, tylko konfigurujesz każdy etap w UI lub API.

Pobierz dokumenty

Zacznij od przesłania dokumentów. Możesz dodać pliki przez webowe UI, podłączyć źródło danych, takie jak Google Drive, S3, Notion, Confluence lub Discord, albo dodać pliki przez API.

Document ingestion example

Przykład pobierania dokumentów

RAGFlow akceptuje większość popularnych formatów, więc nie musisz nic konwertować z góry.

Skonfiguruj bazę wiedzy

Baza wiedzy w RAGFlow to kontener na twoje dokumenty, fragmenty i ustawienia. Wybierasz szablon dzielenia pasujący do typu dokumentu (General dla treści mieszanej, Paper dla prac badawczych, Manual dla dokumentacji technicznej, Q&A dla ticketów wsparcia itd.), wybierasz model osadzeń i parser.

Knowledge base configuration

Konfiguracja bazy wiedzy

Pamiętaj, że ten krok jest ważny — dobry wybór szablonu oszczędzi ci sporo bólu głowy później.

Wybierz strategię wyszukiwania

Następnie zdecyduj, jak ma działać wyszukiwanie. Ustaw liczbę zwracanych top fragmentów, próg podobieństwa oraz to, czy użyć wyszukiwania hybrydowego, czy tylko wektorowego. Możesz też włączyć reranking i wybrać model rerankera.

Dla zaawansowanych przypadków RAGFlow obsługuje RAPTOR do hierarchicznej syntezy i grafy wiedzy do wyszukiwania opartego na encjach. Włączysz je w konfiguracji bazy wiedzy.

Podłącz LLM

RAGFlow nie zawiera LLM. Musisz podłączyć własny — OpenAI, DeepSeek, Gemini, Claude, lokalny model przez Ollama lub inny obsługiwany przez RAGFlow.

Model options

Opcje modeli

Dodajesz klucz API w ustawieniach, wybierasz model i ustawiasz prompt systemowy. 

Testuj odpowiedzi

Ostatnim krokiem są testy. RAGFlow ma interfejs czatu, w którym możesz zadawać pytania do bazy wiedzy i zobaczyć odpowiedź z dołączonymi cytowaniami.

Kliknij dowolny cytat, a przejdziesz do dokładnego fragmentu z zaznaczoną pozycją w dokumencie źródłowym.

Większość zespołów przechodzi tę pętlę kilka razy, zanim odpowiedzi będą użyteczne. To normalne dla każdego systemu RAG, ale w RAGFlow zmieniasz ustawienia w UI zamiast przepisywać kod w Pythonie.

Chat configuration example

Przykład konfiguracji czatu

RAGFlow w produkcji

RAGFlow stosuje się w produkcji w określonych przypadkach użycia — głównie tam, gdzie jakość dokumentów i śledzenie cytowań są kluczowe.

Firmowe bazy wiedzy

Duże firmy mają tysiące dokumentów porozrzucanych po współdzielonych dyskach, Confluence, SharePoint i PDF-ach w załącznikach e-mail. Pracownicy zwykle nie mogą znaleźć tego, czego potrzebują, a pytanie LLM bez RAG kończy się halucynacjami.

RAGFlow sprawdza się tutaj dobrze.

Stare PDF-y, zeskanowane polityki, arkusze Excela z tabelami przestawnymi, dawne prezentacje PowerPoint — wszystko to zostaje sparsowane. A dzięki cytowaniom działy prawne i compliance mogą ufać odpowiedziom, a webowe UI pozwala nietechnikom utrzymywać bazę wiedzy.

Asystenci wsparcia klienta

Zespoły wsparcia mają lata zgłoszeń, FAQ, instrukcji produktów i wewnętrznych runbooków. Asystent wsparcia musi przeszukać to wszystko, znaleźć właściwy fragment i wiedzieć, kiedy eskalować.

Szablon fragmentów Q&A w RAGFlow powstał dokładnie do tego. Dajesz mu historię ticketów, a on traktuje każdą parę pytanie–odpowiedź jako jednostkę wyszukiwania. Jeśli dodasz warstwę agenta i podłączysz API do sprawdzania zamówień, masz asystenta, który obsługuje rutynowe pytania i przekazuje trudne wraz z pełnym kontekstem.

Wewnętrzne wyszukiwanie w dokumentacji

Zespoły inżynierskie mają runbooki, dokumenty architektoniczne, postmortemy incydentów i referencje API porozrzucane po Notion, Confluence i GitHubie. Grep działa dla słów kluczowych, ale nie pomaga przy „jak poradziliśmy sobie ostatnim razem z tym alertem?”

RAGFlow daje wyszukiwanie semantyczne w całym korpusie z cytowaniami do źródła. Inżynier dostaje fragment i link do oryginalnej strony jednym kliknięciem.

Asystenci badawczy

Zespoły badawcze pracują z artykułami, patentami, raportami i wewnętrznymi eksperymentami. Szablon Deep Research w RAGFlow jest do tego zaprojektowany — ma wieloturowe wyszukiwanie z rozumowaniem „chain-of-thought”, w którym agent rozkłada pytanie, szuka elementów odpowiedzi i je syntetyzuje.

W finansach, prawie i farmacji możliwość prześledzenia każdego twierdzenia do źródła jest warunkiem użyteczności asystenta.

Wspólnym mianownikiem tych przypadków jest to, że dokumenty są najtrudniejsze. Jeśli materiał źródłowy jest czysty i prosty, większość narzędzi RAG zadziała. Jeśli jest nieuporządkowany i złożony, warstwa parsowania RAGFlow zajdzie prawdopodobnie dalej niż pisanie potoku od zera.

Wdrażanie RAGFlow

RAGFlow oferuje trzy ścieżki wdrożenia. Oto one.

Wdrożenie w Dockerze

Podstawową ścieżką jest Docker Compose. Klonujesz repozytorium, przechodzisz do folderu docker i uruchamiasz docker compose up -d. To startuje serwer RAGFlow wraz z Elasticsearch, MinIO, MySQL i Redisem.

Minimalne parametry to 4 rdzenie CPU, 16 GB RAM i 50 GB dysku. W praktyce będziesz chciał więcej RAM, jeśli przetwarzasz duże zbiory dokumentów, bo Elasticsearch i Infinity potrzebują sporo pamięci.

Obrazy Dockera są kierowane na x86 — miej to na uwadze. Jeśli używasz Apple Silicon lub innej maszyny ARM64, warstwa translacyjna uruchomi system, ale dla lepszej wydajności warto zbudować obraz samemu, korzystając z przewodnika ARM64 w dokumentacji RAGFlow.

Lokalny development

Jeśli chcesz modyfikować źródła RAGFlow, możesz uruchomić backend i frontend z kodu. Używasz uv do zależności Pythona, uruchamiasz docker compose -f docker/docker-compose-base.yml up -d, aby podnieść tylko usługi pomocnicze (MinIO, Elasticsearch, MySQL, Redis), potem startujesz backend skryptem shell i frontend przez npm run dev.

Ta ścieżka ma sens tylko, jeśli kontrybuujesz do projektu lub debugujesz. Dla większości użytkowników Docker Compose będzie szybszy.

Wdrożenie w chmurze

InfiniFlow prowadzi hostowaną wersję pod adresem cloud.ragflow.io. Ma darmowy plan z 5 aplikacjami i 500 kredytami miesięcznie oraz płatne progi za 29 USD, 129 USD i ceny enterprise.

Wersja chmurowa jest w porządku do prototypów i małych zespołów. Do poważnych wdrożeń z wrażliwymi danymi większość zespołów hostuje u siebie — na pojedynczej VM dla mniejszych wdrożeń lub na Kubernetesie z użyciem Helm chartów dla większych.

Skalowanie

Domyślne wdrożenie RAGFlow uruchamia wszystko na jednej maszynie. To dobre do pewnego momentu, ale potem trafisz na ograniczenia — liczby dokumentów, obciążenia zapytaniami lub wielkości zespołu.

Elementy, które skalują się niezależnie, to silnik dokumentów (Elasticsearch lub Infinity), storage obiektowy (MinIO) i sama aplikacja RAGFlow. Przy większych wdrożeniach rozdzielasz te usługi na maszyny, używasz zarządzanego Elasticsearch lub magazynu zgodnego z S3 i uruchamiasz wiele instancji RAGFlow za load balancerem.

Przyspieszenie GPU dla DeepDoc to kolejna rzecz do rozważenia. Jak wiadomo, parsowanie domyślnie mocno obciąża CPU, ale można włączyć tryb GPU w konfiguracji — robi dużą różnicę przy dużych wsadach dokumentów.

Reszta to standardowa praca infrastrukturalna i RAGFlow w niczym jej nie przeszkadza.

Zalety i ograniczenia RAGFlow

Każde narzędzie ma kompromisy — RAGFlow nie jest wyjątkiem. Oto co warto wiedzieć przed użyciem.

Zalety

  • To zintegrowana platforma: Nie musisz wybierać parsera, bazy wektorów, rerankera, dzielnika i frameworka UI, a potem pisać kodu. RAGFlow zawiera wszystko.
  • Przetwarzanie dokumentów to najsilniejsza strona: DeepDoc lepiej niż większość alternatyw radzi sobie z PDF-ami, skanami, tabelami i złożonymi układami. Jeśli twoje dokumenty są „bałaganem”, to często wystarczający powód, by wybrać RAGFlow.
  • Od pierwszego dnia nastawiony na produkcję: Osadzone w źródłach cytowania, wizualizacja fragmentów, przepływy agentów, wsparcie MCP i prawdziwe UI do zarządzania są wbudowane. 
  • Open source na licencji Apache 2.0: Możesz hostować samodzielnie, modyfikować kod i uruchamiać na własnej infrastrukturze. Repozytorium na GitHubie ma 80k+ gwiazdek i aktywny rozwój, więc projekt szybko nie zniknie.

Ograniczenia

  • Wdrożenie nie jest tak proste, jak się wydaje na początku: Docker Compose pomaga, ale nadal uruchamiasz obok aplikacji Elasticsearch lub Infinity, MinIO, MySQL i Redis. Coś kiedyś się zepsuje i trzeba będzie znać Dockera na tyle, żeby to naprawić.
  • Wymagania infrastrukturalne: Minimum to 16 GB RAM i 4 rdzenie CPU, ale to dla małych obciążeń. Realne wdrożenia potrzebują 32 GB lub więcej, zwłaszcza przy Infinity lub dużych wsadach pobierania. Uruchomienie RAGFlow na VPS za 5 USD nie zadziała.
  • Krzywa nauki: Kreator przepływów jest potężny, ale ma wiele komponentów, a dobranie odpowiedniego szablonu dzielenia i ustawień wyszukiwania zajmuje czas. Zanim będziesz produktywny, spędzisz kilka dni na oswajaniu narzędzia.

Żadne z tych ograniczeń nie jest dyskwalifikujące, jeśli RAGFlow pasuje do twojego przypadku. Potraktuj je jako koszt posiadania platformy zamiast biblioteki.

Kto powinien używać RAGFlow?

RAGFlow nie jest idealny do każdego projektu. Oto gdzie pasuje, a gdzie lepiej wybrać coś lżejszego.

Najlepsze dopasowanie

Inżynierowie AI budujący produkcyjne systemy RAG. Jeśli twoim zadaniem jest stworzenie działającej aplikacji RAG, a nie pisanie kolejnej biblioteki do dzielenia, RAGFlow usuwa większość „hydrauliki”.

Zespoły AI w przedsiębiorstwach. Działy prawne, compliance, finansowe i wsparcia potrzebują cytowań i śledzenia. UI, z którego mogą korzystać nietechnicy, też jest na plus. 

Deweloperzy pracujący z nieuporządkowanymi dokumentami. PDF-y pełne tabel, skany, układy wielokolumnowe i mieszane formaty to obszary, w których DeepDoc wyprzedza konkurencję. Jeśli materiał źródłowy to coś innego niż czysty tekst, jakość parsowania RAGFlow trudno przebić.

Organizacje z dużymi zbiorami dokumentów. Po przekroczeniu kilku tysięcy dokumentów potrzebujesz systemu, który potrafi pobierać, indeksować i szukać w skali. RAGFlow jest do tego właściwym narzędziem.

Mniej idealne

Proste prototypy chatbotów. Jeśli potrzebujesz tylko odpowiadać na pytania z kilku plików Markdown, RAGFlow będzie przesadą. Skrypt LlamaIndex lub prosty potok LangChain wystarczy szybciej.

Bardzo małe projekty. Do osobistego Q&A nad kilkoma PDF-ami koszt infrastruktury jest zbyt duży. Spędzisz więcej czasu na komendach Dockera niż na samym projekcie.

Zespoły, które chcą zerowej konfiguracji. Jeśli chcesz się zalogować i mieć działający RAG w pięć minut, lepsza będzie usługa hostowana albo lekka biblioteka. RAGFlow ma wersję chmurową, ale ścieżka self-host (gdzie jest najwięcej wartości) wymaga trochę pracy.

Zasada kciuka jest prosta. Jeśli jakość wyszukiwania na nieuporządkowanych dokumentach to trudna część twojego projektu, RAGFlow jest wart kosztu wdrożenia. Jeśli nie — użyj czegoś lżejszego.

Podsumowanie

RAGFlow to pełnostosowa platforma do budowy produkcyjnych aplikacji RAG na prawdziwych dokumentach.

Jego największą siłą jest to, że przetwarzanie dokumentów, wyszukiwanie, reranking i generowanie działają w jednym przepływie zamiast być składane z oddzielnych narzędzi. Dostajesz parsowanie DeepDoc, hybrydowe wyszukiwanie, osadzone cytowania i przepływy agentów za jednym UI i API.

Jeśli twoje dokumenty są nieuporządkowane, a jakość wyszukiwania ma znaczenie, RAGFlow jest wart kosztu wdrożenia.

Zacznij od darmowego planu w chmurze lub lokalnego wdrożenia Dockera, prześlij kilka „najgorszych” dokumentów i zobacz, jakie wrócą odpowiedzi. To najszybszy sposób, aby sprawdzić, czy to narzędzie pasuje do twojego przypadku.

Architektura RAG jest z założenia prosta, ale to nie znaczy, że nie sprawdza się w złożonych zastosowaniach. Przeczytaj nasz wpis Advanced RAG Techniques, aby dowiedzieć się więcej o gęstym wyszukiwaniu, rerankingu i rozumowaniu wieloetapowym.

Ragflow

Do czego służy RAGFlow?

RAGFlow służy do budowy aplikacji Retrieval Augmented Generation na twoich własnych dokumentach. Firmy używają go do firmowych baz wiedzy, asystentów wsparcia klienta, wewnętrznego wyszukiwania w dokumentacji i asystentów badawczych, którzy muszą odpowiadać na pytania z PDF-ów, arkuszy, prezentacji i innych „niechlujnych” źródeł. Dostajesz parsowanie dokumentów, wyszukiwanie, reranking, cytowania i przepływy agentów w jednej platformie zamiast pięciu oddzielnych narzędzi.

Czy RAGFlow jest darmowy?

Tak, RAGFlow jest open source na licencji Apache 2.0 i możesz hostować go samodzielnie na własnej infrastrukturze bez kosztów. InfiniFlow oferuje też hostowaną wersję z darmowym planem dla małych projektów i płatnymi planami od 29 USD miesięcznie dla większych zespołów. Większość użytkowników produkcyjnych hostuje samodzielnie, zwłaszcza przy pracy z danymi wrażliwymi.

Czym RAGFlow różni się od LangChain lub LlamaIndex?

LangChain to framework aplikacyjny do łańcuchowania wywołań LLM, narzędzi i agentów. LlamaIndex to framework danych do pobierania, indeksowania i wyszukiwania. RAGFlow to pełna platforma — wdrażasz ją, konfigurujesz przez webowe UI i dostajesz parsowanie, wyszukiwanie, cytowania i przepływy od razu, bez pisania kodu potoku. Można je też łączyć — LlamaIndex do pobierania danych, LangChain do orkiestracji, RAGFlow, gdy chcesz cały stos w jednym miejscu.

Jakie formaty dokumentów obsługuje RAGFlow?

RAGFlow obsługuje PDF-y, pliki Word, arkusze Excel, prezentacje PowerPoint, Markdown, HTML, zwykły tekst, obrazy i dokumenty skanowane. Silnik DeepDoc używa OCR, rozpoznawania struktury tabel i rozpoznawania układu, aby poprawnie sparsować każdy format — dzięki temu tabele pozostają nienaruszone, strony wielokolumnowe są czytane we właściwej kolejności, a skany stają się przeszukiwalne. Od v0.25 możesz też synchronizować bezpośrednio z Confluence, S3, Notion, Discorda i Google Drive.

Jakie są minimalne wymagania sprzętowe do uruchomienia RAGFlow?

Oficjalne minimum to 4 rdzenie CPU, 16 GB RAM, 50 GB dysku i Docker 24.0 lub nowszy. W praktyce, gdy indeksujesz realne wolumeny dokumentów, przyda się 32 GB RAM lub więcej, bo Elasticsearch (lub Infinity), MinIO, MySQL i Redis działają obok aplikacji RAGFlow. Akceleracja GPU dla DeepDoc jest opcjonalna, ale przyspiesza pobieranie.

Tematy
Sztuczna inteligencja

Ucz się z DataCamp

course

Retrieval Augmented Generation (RAG) z LangChain

3 godz.
20.2K
Poznaj nowoczesne metody integracji danych zewnętrznych z LLM-ami za pomocą Retrieval Augmented Generation (RAG) z LangChain.
Zobacz szczegółyRight Arrow
Rozpocznij Kurs
Zobacz więcejRight Arrow