Kurs
Kaç kez bir-iki temiz PDF üzerinde harika çalışan bir RAG demosu kurdunuz da gerçek kurumsal belgelerden hiçbir şeye yanıt veremedi?
Olan şu: Tablolar düzleşir, taranmış sayfalar kaybolur, bir sunum başlıklarını yitirir ve parçalara ayırma mantığı bölüm başlığını gövdesinden ayırır. Üretim ortamındaki bir RAG sistemi, bir vektör veritabanıyla birlikte çalışan bir LLM’den çok daha fazlasıdır. Belge ayrıştırma, parçalara ayırma stratejisi, hibrit getirme, yeniden sıralama, atıf takibi, ajan orkestrasyonu ve sizin yapılandırmanız gereken daha bir düzine unsur gerekir.
RAGFlow bu parçaları tek bir yığında birleştiren açık kaynaklı bir platformdur. Derin belge ayrıştırma, şablon tabanlı parçalara ayırma, hibrit getirme, ajan iş akışları ve MCP entegrasyonunu tek bir UI ve API arkasında yönetir; bu da bilginize odaklanıp başka hiçbir şeye zaman harcamayacağınız anlamına gelir.
Bu yazıda, RAGFlow’un kaputun altında nasıl çalıştığını, mimarisinin nasıl göründüğünü, LangChain ve LlamaIndex ile nasıl karşılaştırıldığını ve nasıl konuşlandırılacağını adım adım anlatacağım.
RAG’in nasıl çalıştığını hatırlatmaya ihtiyacınız varsa, LangChain ile Retrieval Augmented Generation (RAG) kursumuza kaydolun - bir öğleden sonra temel kavramları anlayacaksınız.
RAGFlow Nedir?
RAGFlow, InfiniFlow tarafından geliştirilen ve Nisan 2024’te Apache 2.0 lisansı altında yayımlanan açık kaynaklı bir RAG motorudur.
Getirme kalitesinin uygulamayı var eden ya da bozan etken olduğu üretim yapay zeka uygulamaları için tasarlanmıştır. Projenin odağı derin belge anlama üzerinedir; yani ayrıştırma ve parçalara ayırmayı sonraki her şeyin temeli olarak görür. PDF’leriniz, e-tablolarınız ve sunumlarınız dağınıksa, hiçbir yeniden sıralayıcı ya da daha büyük bir LLM yardımcı olmaz - önce belge kalitesi üzerinde çalışmanız gerekir.
RAGFlow’u çoğu RAG aracından farklı kılan, tam bir yığın olmasıdır. Tek bir sistemde belge ayrıştırma, şablon tabanlı parçalara ayırma, hibrit getirme, yeniden sıralama, atıf takibi, bir ajan iş akışı oluşturucu ve MCP desteği elde edersiniz. Bir vektör veritabanı seçmek, bir ayrıştırıcı yapılandırmak, bir yeniden sıralayıcı eklemek ve üzerine bir UI kurmak zorunda kalmazsınız - hepsi tek bir web arayüzü ve API arkasında mevcuttur.
Bu da RAGFlow’u bir çerçeveden ziyade bir platforma yaklaştırır.
RAGFlow Nasıl Çalışır
RAGFlow standart RAG hattını izler, ancak her adım yazmanız gereken kod yerine yapılandırabileceğiniz bir bileşendir.
Bir belge yüklediğiniz andan LLM’nin yanıt gönderdiği ana kadar olan süreçte neler olur:
- Belgeleri içe alın: Dosya yüklersiniz veya bir veri kaynağına bağlanırsınız. RAGFlow PDF’leri, Word dosyalarını, Excel sayfalarını, PowerPoint sunumlarını, Markdown, HTML, görselleri ve taranmış kopyaları kabul eder. v0.25’ten itibaren Confluence, S3, Notion, Discord ve Google Drive’dan veri eşitleyebilirsiniz.
- İçeriği ayrıştırın ve yapılandırın: DeepDoc motoru her dosyayı OCR, tablo yapısı tanıma ve yerleşim tanıma ile okur. Çıkış, başlıklar, tablolar, görseller ve okuma sırasına dair meta verilerle birlikte yapılandırılmış içeriktir.
- Gömü oluşturun: RAGFlow her parçayı, yapılandırmadan seçtiğiniz bir gömme modelinden geçirir. OpenAI, Cohere, Voyage, yerel bir model veya desteklediği başka bir şeyi kullanabilirsiniz.
- Bilgiyi indeksleyin: Parçalar ve vektörler belge motoruna gider. Varsayılan Elasticsearch’tür, ancak InfiniFlow’un hibrit arama için geliştirdiği kendi veritabanı olan Infinity’ye geçebilirsiniz.
- İlgili bağlamı getirin: Bir sorgu geldiğinde, RAGFlow vektör arama, BM25 anahtar sözcük araması ve yeniden sıralamayı birlikte çalıştırır. Kaynak belgeye geri dönen atıflarla birlikte en üst parçaları alırsınız.
- Bir LLM ile yanıt üretin: Getirilen parçalar isteme girer, LLM bir yanıt yazar ve RAGFlow her iddianın kaynağa kadar izlenebilmesi için atıfları ekler.
Sıralama yeni değil. Önemli olan, her adımın platformun yapılandırılabilir bir parçası olması ve her aşamada çıktıyı inceleyebilmenizdir.
RAGFlow Mimarisi
RAGFlow’un mimarisi dört katmandan oluşur ve her biri RAG hattındaki belirli bir sorunu çözer. İşte hızlı bir görsel özet:

RAGFlow mimarisi görselleştirildi
Şimdi her katmanı tek tek anlatayım.
Belge alımı
Burası giriş noktasıdır. RAGFlow PDF’leri, Word, Excel ve PowerPoint gibi Office belgelerini, Markdown dosyalarını ve web sayfalarını kabul eder. OCR yerleşik olduğundan taranmış belgeler ve görseller de çalışır.
Dosyaları doğrudan UI üzerinden yükleyebilir, bir bulut kaynağına bağlanabilir veya API üzerinden belgeleri itebilirsiniz. Alım katmanı, bir sonraki aşamaya geçmeden önce her şeyi ortak bir formata normalleştirir.
Bilgi işleme
Burası DeepDoc’un devreye girdiği yerdir.
Ayrıştırma, ham dosyaları başlıklar, paragraflar, tablolar ve görsellerle yapılandırılmış içeriğe dönüştürür. Parçalara ayırma, seçtiğiniz bir şablona (Genel, Makale, Kitap, Soru-Cevap, Kılavuz, Tablo veya Naif) göre bu içeriği getirme birimlerine böler. Meta veri çıkarımı, her parçaya sayfa numaraları, bölüm başlıkları ve sayfadaki konum gibi bağlamlar ekler.
Bu katmandan çıkan parçalar yapılarını korur. Bu, bir tablonun tablo olarak kaldığı, bir başlığın bölümüyle birlikte tutulduğu ve bir şekil alt yazısının şekliyle birlikte kaldığı anlamına gelir. Geleneksel RAG parçalara ayırma stratejileri gibi rastgele hissettirmez.
Getirme motoru
Getirme motoru, yapılandırdığınız belge motoruna bağlı olarak Elasticsearch veya Infinity üzerinde çalışır.
Paralel olarak üç tür arama yürütür:
- Vektör arama ile anlamsal benzerlik için
- BM25 anahtar sözcük araması ile tam terim eşleşmeleri için
- Yeniden sıralama ile birleştirilmiş sonuçların üzerinde en ilgili parçaları üste taşımak için
Bu katman, LLM istemine girecek küçük ama yüksek kaliteli bir parça kümesi verir.
LLM katmanı
LLM katmanı, getirilen parçaları bağladığınız modele gönderir - OpenAI, DeepSeek, Gemini, Claude, yerel bir Ollama modeli veya RAGFlow’un desteklediği başka bir şey.
Yanıt atıflarla birlikte gelir. Cevaptaki her iddia belirli bir parçaya, her parça da kaynak belgedeki belirli bir konuma işaret eder. RAGFlow’un buna dediği şey temellendirilmiş yanıtlardır - kullanıcı bir atıfa tıklayıp geldiği pasajı tam olarak görebilir; bu da halüsinasyonları yakalamayı kolaylaştırır.
Bu dört katman bir hat olarak çalışır. Alım, bilgi işlemesini besler; bilgi işlemesi, getirme motorunu; getirme motoru da LLM katmanını besler.
RAGFlow’un Temel Özellikleri
Gerçek dünyadaki dağınık belgelerle bir RAG sistemi kurarken en çok önem taşıyan özellikler şunlardır.
Gelişmiş belge ayrıştırma
RAGFlow’un ayrıştırıcısının adı DeepDoc’tur ve platformun var olma sebebidir.
DeepDoc her belge üzerinde üç görsel modeli çalıştırır: Metin çıkarımı için OCR, tablo yapısı tanıma için TSR ve belge yerleşimi tanıma için DLR. Böylece bir PDF’yi karakter akışı olarak görmek yerine, dosyayı insan gibi okur - tabloların nerede olduğunu, sütunların nerede kırıldığını, hangi metnin başlık hangisinin dipnot olduğunu görür.
Bu yapı parçalara yansır. Tablolar başlıklarıyla birlikte kalır, çok sütunlu yerleşimler doğru sırada okunur ve görseller alt yazılarını korur.
Bunu elle yapmayı denediyseniz, farklı belge türlerinde ve ölçekte bu kısmı iyi yapmanın ne kadar zor olduğunu bilirsiniz.
Hibrit getirme
Anlamsal arama, tam kelimenin önemli olduğu sorguları sıklıkla kaçırır. Tek başına anahtar sözcük araması ise anlamın önemli olduğu ancak ifadelerin farklılaştığı sorguları ıskalar.
RAGFlow her ikisini aynı anda çalıştırır:
- Vektör arama anlamsal eşleşmeleri yakalar - "revenue" "sales" ve "income"’ı bulur
- Anahtar sözcük araması tam eşleşmeleri yakalar - bir ürün kodu ya da hukuki terim, gömme modeli anlamasa bile görünür
- Yeniden sıralama birleştirilmiş sonuçları özel bir modelle yeniden düzenler; böylece en üstteki parçalar gerçekten en ilgili olanlardır
İş akışı oluşturucu
İş akışı oluşturucu, kod yazmak yerine hattı yapılandırdığınız görsel bir tuvaldir.
Bileşenleri tuvale sürüklersiniz - getirme, yeniden sıralama, LLM, kod yürütme, HTTP çağrıları, yinelemeler, dallanmalar - ve bunları bir akışa bağlarsınız. RAGFlow, Getir - Yeniden Sırala - Yanıtla, Derin Araştırma ve Veri Analitiği gibi yaygın desenler için önceden oluşturulmuş şablonlarla gelir.
Ağırlıklı olarak mühendis olmayan ekipler için, bir haftada çalışan bir prototip oluşturmalarının yolu budur.
Ajan desteği
v0.20’den itibaren, RAGFlow normal iş akışlarıyla aynı tuval üzerinde tam ajan iş akışlarını destekler.
Bir ajan bileşeni plan yapabilir, yansıtma yapabilir, araçları çağırabilir ve alt ajanlara görev devredebilir. Bir istem ve araç listesi yapılandırırsınız; ajan çalışma zamanında hangi aracı hangi sırayla çağıracağına karar verir. Araçlar, yerleşik bileşenler, bağladığınız MCP sunucuları veya diğer ajanlar olabilir.
Değer, getirilen bilgi üzerinde akıl yürütmektir.
Bir destek ajanı bir bilgi tabanından getirme yapabilir, bir dış API’yi çağırarak talep durumunu kontrol edebilir ve tırmandırma gerekip gerekmediğine karar verebilir. Bunu tek bir akışta yapar ve belgelerden gelen kısımlara atıflar eklenir.
Belge Ayrıştırma ve Bilgi Çıkarma
Getirme kalitesi, ayrıştırma kalitesiyle başlar. Bu kısmı yanlış yaparsanız, hiçbir yeniden sıralayıcı veya daha büyük LLM yardımcı olamaz.
Çoğu RAG hatası belge düzeyinde gerçekleşir; yani tablolarla dolu bir PDF virgülle ayrılmış değerlere dönüştürülür ya da bir sunum görsel hiyerarşisini kaybeder. Bu parçalar vektör veritabanına ulaştığında artık değer taşımaz.
RAGFlow’un yaklaşımı, ayrıştırmayı birinci sınıf bir sorun olarak ele almaktır.
Tablolar
Tablolar, belge ayrıştırmanın en zor kısmıdır. Standart bir PDF ayrıştırıcı bir tabloyu satır satır okur ve başlıklarla ilişkilendirmeden sayı akışına çevirir. Yapıyı kaybedersiniz.
DeepDoc, parçalara ayırmadan önce Tablo Yapısı Tanıma’yı (TSR) çalıştırır. Tablo sınırlarını, başlık satırını, sütunları ve hücre ilişkilerini belirler. Parçalayıcı belgeyi böldüğünde, tablolar başlıklarıyla birlikte sağlam kalır ve her satır bağlamını korur.
Görseller ve taramalar
DeepDoc, taranmış sayfalardan metin çıkarmak için OCR kullanır ve v0.19’dan itibaren PDF’ler ve DOCX dosyalarındaki görselleri anlamlandırmak için bir görsel-dil modeli kullanabilir.
Bu, bir diyagramın, grafiğin veya fiş fotoğrafının aranabilir içerik haline gelebileceği anlamına gelir.
Çok sütunlu yerleşimler
Akademik makaleler ve finansal raporlar çok sütunlu yerleşimler kullanır. Naif bir ayrıştırıcı bunları soldan sağa, satır satır okur; bu da sütunları birbirine karıştırır ve anlamsız içerik üretir.
DeepDoc, önce okuma sırasını anlamak için Belge Yerleşimi Tanıma’yı (DLR) kullanır. 1. sütunun 2.’den önce geldiğini ve bir başlığın iki sütunu kapsadığını bilir.
Meta veriler
Her parça, sayfa numarası, bölüm başlığı, sayfadaki konum ve geldiği kaynak dosya gibi meta verilerle birlikte gelir.
Atıfları mümkün kılan budur. LLM bir pasajı atıfladığında, RAGFlow kaynak belgedeki sayfaya ve konuma tam olarak işaret edebilir. Ayrıca parça düzeyinde filtrelemeyi mümkün kılar - belirli bir bölümün veya belirli bir belgenin içinde arama yapabilirsiniz.
Parça kalitesi
Son parça, bizzat parçalara ayırmadır. RAGFlow şablon tabanlı parçalara ayırma kullanır; yani belge türünüze uygun bir şablon seçersiniz (Genel, Makale, Kitap, Soru-Cevap, Kılavuz, Tablo veya Naif).
Her şablon, nereden bölüneceğine dair farklı kurallar uygular. Makale şablonu özet, yöntem ve sonuçları ayrı birimler olarak tutar. Soru-Cevap şablonu her soruyu yanıtıyla birlikte tutar. Kılavuz şablonu başlıklara ve prosedürlere saygı gösterir. Fikir oluşmuştur.
Sonuç, kendi başına anlam ifade eden parçalardır. LLM’nin bağlam penceresine eklendiklerinde soruyu yanıtlamak için yeterli anlama sahiptirler.
RAGFlow’da Getirme
Belgeleriniz ayrıştırılıp parçalara ayrıldıktan sonra, LLM’nin doğru bağlamı görüp görmeyeceğine getirme adımı karar verir. RAGFlow’un getirme motoru birlikte çalışan üç bölümden oluşur.
Vektör getirme
Vektör arama anlamsal benzerliği yakalar. Sorguyu ve her parçayı aynı modelle gömersiniz ve motor, vektörleri sorgu vektörüne en yakın olan parçaları döndürür.
Bu, "revenue growth" aramasının, hiçbir terim bir diğerinde geçmese bile "sales increase" hakkında bir parçayı bulmasını sağlar. RAGFlow, OpenAI, Cohere, Voyage, BGE veya yerel bir gömme modeli seçmenize ve tüm sistemi baştan kurmadan daha sonra değiştirmenize olanak tanır.
Hibrit arama
Vektör arama, tam terimler için en iyi seçenek değildir. Ürün kodu veya hukuki bir atıf gibi şeylerin güçlü bir anlamsal sinyali olmayabilir, ancak tam dize eşleşmesi çok önemlidir.
RAGFlow, vektör aramanın yanında BM25 anahtar sözcük aramasını da çalıştırır ve sonuçları birleştirir. Aynı sorguda hem gömmelerin anlamsal hatırlamasını hem de anahtar sözcük eşleşmesinin hassasiyetini elde edersiniz.
Yeniden sıralama
İlk getirme turu size bir aday kümesi verir - genellikle ilk 30 veya 50 parça. Bu, LLM’nin bağlam penceresi için çok fazladır ve listenin üstü sıklıkla gürültülüdür.
Yeniden sıralama bu adayları alır ve sorguyu her bir parçayla birlikte okuyan özel bir modelle yeniden düzenler. Yeniden sıralayıcı, sorguya benzer olanı değil, sorguyla ilgili olanı bilir. Yeniden sıralamadan sonraki ilk 5 veya 10 parça isteme girenlerdir.
Bağlam seçimi
Son adım, LLM’nin bağlamına neyin gireceğine karar vermektir. RAGFlow, parça sayısını, benzerlik eşik değerini ve asgari yeniden sıralayıcı puanını ayarlamanıza izin verir.
Ayrıca RAPTOR (çok atlamalı sorular için hiyerarşik özetleme) veya uzun bağlamlı RAG (LLM’ye kaynak materyalin haritasını veren otomatik oluşturulan belge düzeyinde içerik tabloları) gibi gelişmiş seçenekleri de kullanabilirsiniz. Düz parça getirme yeterli olmadığında bu seçenekler devreye girer.
Getirme motorunun tüm amacı, LLM’ye tam olarak ihtiyaç duyduğu bağlamı ve fazlasını vermemektir.
RAGFlow ve Geleneksel RAG Hatları
Geleneksel RAG hatları bağımsız araçlardan oluşturulur. Bir ayrıştırıcı (Unstructured, LlamaParse, PyMuPDF), bir parçalayıcı (LangChain metin ayırıcıları, özel kod), bir gömme modeli, bir vektör veritabanı (Pinecone, Weaviate, Chroma, Qdrant), bir yeniden sıralayıcı (Cohere, BGE), bir LLM istemcisi ve bir UI seçersiniz. Sonra hepsini kullanan kodu yazarsınız.
Bu yaklaşım size en fazla kontrolü sağlar, ancak çok fazla mühendislik çabası gerektirir.
Her entegrasyon noktası planlamanız, yazmanız, test etmeniz ve bakımını yapmanız gereken koddur. Atıf takibi eklemek istediğinizde, onu sizin inşa etmeniz gerekir. Benzer şekilde, bir bileşen API’sini değiştirdiğinde hattı siz düzeltirsiniz.
RAGFlow ters yaklaşımı benimser.
Ayrıştırma, parçalara ayırma, getirme, yeniden sıralama, atıf, iş akışı orkestrasyonu ve bir web UI’si kutudan çıktığı gibi gelen entegre bir platformdur. Kodu değil, web arayüzünü yapılandırırsınız ve parçalar zaten birbirine bağlıdır.
Karşılığında verdiğiniz şey esnekliktir. Yeni bir parçalara ayırma algoritması veya araştırma amaçlı bir yeniden sıralayıcı değiştirmek isterseniz, Python yazmak yerine RAGFlow’un eklenti modeli içinde çalışırsınız. Çoğu üretim kullanım durumu için bu yeterlidir, ancak deneysel kullanım için oldukça kısıtlayıcı gelebilir.
İşte farkların özeti:
| Geleneksel RAG | RAGFlow | |
|---|---|---|
| Kurulum | Birden çok aracı birleştirin | Tek platform, tek konuşlandırma |
| Orkestrasyon | Özel kod | Görsel iş akışı oluşturucu |
| Mühendislik çabası | Yüksek | Düşük ila orta |
| Esneklik | Tam kontrol | Platformla sınırlı |
| İlk sonuca kadar süre | Günler ila haftalar | Saatler |
| En uygun | Özel veya deneysel hatlar | Dağınık belgeler üzerinde çalışan üretim sistemleri |
Hiçbir yaklaşım evrensel olarak daha iyi değildir. Eğer mühendislik zamanınız varsa ve tam kontrole ihtiyaç duyuyorsanız, geleneksel bir hat doğru seçimdir. Bilgi tabanına odaklanmak istiyorsanız, RAGFlow daha hızlı olacaktır.
RAGFlow vs LangChain ve LlamaIndex
RAGFlow’u düşünüyorsanız, muhtemelen LangChain ve LlamaIndex’i duymuşsunuzdur. Şimdi bunların nasıl karşılaştırıldığını göstereceğim.
LangChain
LangChain, LLM uygulamaları için bir uygulama çerçevesidir. Ana işi orkestrasyondur; yani istemleri, araçları, hafızayı ve modelleri iş akışlarına zincirlemek. LangChain, belgelerinizin nasıl ayrıştırıldığına veya getirmenizin nasıl kurulduğuna çok aldırmaz. Getirmeden sonra olanlara odaklanır.
Projeniz ajan ağırlıklıysa - araç çağırma, çok adımlı akıl yürütme, dallanma mantığı, döngüde insan - LangChain (ve durum makinesi katmanı LangGraph) çoğu ekibin kullandığı araçtır.
LlamaIndex
LlamaIndex, LLM’ler için bir veri çerçevesidir. Veriyi içe almaya, bu verinin üzerinde indeksler oluşturmaya ve iyi bir şekilde sorgulamaya odaklanır. LlamaIndex’in 160’tan fazla veri bağlayıcısı, çeşitli indeks türleri (vektör, anahtar sözcük, ağaç, bilgi grafiği) ve parçalara ayırma ile getirme için makul varsayılanları vardır.
Projeniz getirme ağırlıklıysa, yani çok sayıda belge, derin arama gereksinimleri ve çeşitli kaynak sistemler varsa, LlamaIndex kod-öncelikli en güçlü seçenektir.
RAGFlow
RAGFlow entegre bir RAG platformudur. Python’da içe aktarıp kullanacağınız bir kütüphane değildir - konuşlandırdığınız bir sistemdir. Ayrıştırma, parçalara ayırma, getirme, yeniden sıralama, atıflar, iş akışları, ajanlar ve bir web UI’si birlikte gelir.
Önceliğiniz, boru hattı kodunu sıfırdan yazmadan dağınık belgeler üzerinde çalışan üretim bir RAG sistemini ayağa kaldırmaksa, RAGFlow en hızlı yoldur.
Üç araç da birlikte kullanılabilir. Yaygın bir desen; alım için LlamaIndex, ajan orkestrasyonu için LangChain veya LangGraph ve el yapımı kod yerine eksiksiz, kendi barındırdığınız bir yığın istediğinizde RAGFlow’dur.
İşte kısa bir özet:
| LangChain | LlamaIndex | RAGFlow | |
|---|---|---|---|
| Tür | Uygulama çerçevesi | Veri çerçevesi | Entegre platform |
| Ana odak | Orkestrasyon, ajan | Alım, indeksleme, getirme | Uçtan uca RAG yığını |
| Arayüz | Python / JavaScript kütüphanesi | Python kütüphanesi | Web UI + API |
| Belge ayrıştırma | Temel (entegrasyonlarla) | İyi | En iyi (DeepDoc) |
| Ajan desteği | Güçlü (LangGraph) | Temel (iş akışları) | Güçlü (v0.20+) |
| En uygun | Ajan ağırlıklı uygulamalar | Getirme ağırlıklı uygulamalar | Dağınık belgeler üzerinde çalışan üretim RAG |
| Dil | Kod-öncelikli | Kod-öncelikli | Yapılandırma-öncelikli (API ile) |
RAGFlow ile Bir RAG Uygulaması Oluşturma
RAGFlow çalışır duruma geldikten sonra, bir RAG uygulaması oluşturma beş adımı izler. Yine, boru hattı kodu yazmazsınız; her adımı UI veya API üzerinden yapılandırırsınız.
Belgeleri içe alın
Belgelere yükleme yaparak başlayın. Dosyaları web UI üzerinden ekleyebilir, Google Drive, S3, Notion, Confluence veya Discord gibi bir veri kaynağına bağlanabilir ya da API üzerinden dosya ekleyebilirsiniz.

Belge alımı örneği
RAGFlow çoğu yaygın biçimi kabul eder; bu nedenle baştan bir şey dönüştürmeniz gerekmez.
Bilgi tabanını yapılandırın
RAGFlow’da bir bilgi tabanı, belgeleriniz, parçalarınız ve ayarlarınız için bir kapsayıcıdır. Belge türünüze uyan parça şablonunu seçersiniz (karma içerik için Genel, araştırma için Makale, teknik dokümanlar için Kılavuz, destek talepleri için Soru-Cevap vb.), gömme modelini seçer ve ayrıştırıcıyı belirlersiniz.

Bilgi tabanı yapılandırması
Bu adımın önemli olduğunu unutmayın; iyi bir şablon seçimi ileride pek çok baş ağrısını ortadan kaldırır.
Bir getirme stratejisi seçin
Sırada, getirmenin nasıl çalışacağına karar vermek var. Döndürülecek üst parça sayısını, benzerlik eşik değerini ve hibrit arama mı yoksa yalnızca vektör araması mı kullanılacağını ayarlarsınız. Yeniden sıralamayı da açabilir ve bir yeniden sıralayıcı modeli seçebilirsiniz.
Gelişmiş durumlar için RAGFlow, hiyerarşik özetleme için RAPTOR’u ve varlık tabanlı getirme için bilgi grafiklerini destekler. Bunları bilgi tabanı yapılandırması içinde açabilirsiniz.
Bir LLM bağlayın
RAGFlow bir LLM içermez. Kendi modelinizi getirirsiniz - OpenAI, DeepSeek, Gemini, Claude, Ollama üzerinden yerel bir model veya RAGFlow’un desteklediği başka bir şey.

Model seçenekleri
Ayarlar kısmına API anahtarınızı eklersiniz, modeli seçer ve sistem istemini belirlersiniz.
Yanıtları test edin
Son adım testtir. RAGFlow’da bilgi tabanına sorgu gönderebileceğiniz ve atıflarla birlikte yanıtı görebileceğiniz bir sohbet arayüzü vardır.
Herhangi bir atıfa tıklayın; kaynak belgedeki konumu vurgulanmış tam parçaya gidersiniz.
Çoğu ekip, yanıtlar kullanılabilir hale gelmeden önce bu döngüden birkaç kez geçer. Bu, herhangi bir RAG sistemi için normaldir; ancak RAGFlow ile Python kodunu yeniden yazmak yerine bir UI’da ayarları değiştirirsiniz.

Sohbet yapılandırması örneği
Üretimde RAGFlow
RAGFlow’u üretimde belirli kullanım kümelerinde görürsünüz; çoğunlukla belge kalitesi ve atıf takibinin en çok önem taşıdığı durumlarda.
Kurumsal bilgi tabanları
Büyük şirketlerde paylaşımlı sürücüler, Confluence, SharePoint ve e-posta eklerindeki PDF’ler arasında dağılmış binlerce belge bulunur. Çalışanlar genellikle ihtiyaç duyduklarını bulamaz ve RAG olmadan LLM’ye sormak halüsinasyonlara yol açar.
RAGFlow burada iyi çalışır.
Eski PDF’ler, taranmış politika dokümanları, pivot tablolara sahip Excel sayfaları, yıllar öncesinden kalma PowerPoint sunumları - hepsi ayrıştırılır. Atıflarla birlikte hukuk ve uyum ekipleri yanıtlara güvenebilir ve web UI’si sayesinde mühendis olmayanlar bilgi tabanını yönetebilir.
Müşteri destek asistanları
Destek ekiplerinde yıllara yayılan talepler, SSS’ler, ürün kılavuzları ve dahili çalışma kitapları vardır. Bir destek asistanının tüm bunları araması, doğru pasajı bulması ve ne zaman tırmandıracağını bilmesi gerekir.
RAGFlow’un Soru-Cevap parça şablonu tam da bunun için oluşturuldu. Talep geçmişinizi verirsiniz ve her soru-cevap çiftini bir getirme birimi olarak ele alır. Üzerine bir ajan katmanı eklerseniz, sipariş sorguları için bir API bağlarsanız; rutin soruları ele alıp zorları tam bağlamıyla ileten bir asistanınız olur.
Dahili dokümantasyon araması
Mühendislik ekiplerinin Notion, Confluence ve GitHub’a dağılmış çalışma kitapları, mimari dokümanları, olay sonrası raporları ve API referansları vardır. Grep anahtar sözcükler için işe yarar, ancak "bu uyarı en son yükseltildiğinde nasıl başa çıktık?" sorusuna yardımcı olmaz.
RAGFlow size tüm külliyat üzerinde kaynağa geri dönen atıflarla anlamsal arama sunar. Bu, mühendislerin bir tıkla hem pasajı hem de orijinal sayfaya bağlantıyı alması demektir.
Araştırma asistanları
Araştırma ekipleri makaleler, patentler, raporlar ve dahili deneylerle çalışır. RAGFlow’daki Derin Araştırma şablonu bunun için tasarlanmıştır; çünkü çok turlu getirmeyi zincirleme düşünmeyle birleştirir; ajan bir soruyu parçalar, yanıtın parçalarını arar ve sentezler.
Finans, hukuk ve ilaç araştırmalarında her iddiayı bir kaynağa kadar izleyebilmek, asistanı kullanılabilir kılan şeydir.
Bu kullanım durumlarında ortak nokta, belgelerin zorlayıcı olmasıdır. Kaynak materyaliniz temiz ve basitse çoğu RAG aracı çalışır. Dağınık ve yapılandırılmışsa, RAGFlow’un ayrıştırma katmanı hattı sıfırdan yazmaktan muhtemelen daha ileri götürecektir.
RAGFlow’un Konuşlandırılması
RAGFlow üç konuşlandırma yolu sunar. Bunların neler olduğunu göstereyim.
Docker konuşlandırması
Docker Compose birincil yoldur. deposunu klonlar, docker klasörüne geçer ve docker compose up -d komutunu çalıştırırsınız. Bu, RAGFlow sunucusunu Elasticsearch, MinIO, MySQL ve Redis ile birlikte başlatır.
Asgari özellikler 4 CPU çekirdeği, 16 GB RAM ve 50 GB disk alanıdır. Pratikte, büyük belge koleksiyonları çalıştırıyorsanız daha fazla RAM isteyeceksiniz; zira Elasticsearch ve Infinity çok bellek ister.
Docker imajları x86’yı hedefler; akılda tutmakta fayda var. Apple Silicon veya başka bir ARM64 makinedeyseniz, çeviri katmanı sistemi ayağa kaldırır; ancak daha iyi performans için RAGFlow dokümanlarındaki ARM64 kılavuzunu kullanarak imajı kendiniz derlemek isteyeceksiniz.
Yerel geliştirme
RAGFlow’un kaynak kodunu değiştirmek isterseniz, arka ucu ve ön ucu kaynaktan çalıştırabilirsiniz. Python bağımlılıkları için uv kullanır, yalnızca yardımcı servisleri (MinIO, Elasticsearch, MySQL, Redis) ayağa kaldırmak için docker compose -f docker/docker-compose-base.yml up -d çalıştırır, sonra arka ucu bir kabuk betiğiyle ve ön ucu npm run dev ile başlatırsınız.
Bu yol yalnızca projeye katkıda bulunuyor veya hata ayıklıyorsanız değerlidir. Çoğu kullanıcı için Docker Compose yolu daha hızlıdır.
Bulut konuşlandırması
InfiniFlow, cloud.ragflow.io adresinde barındırılan bir sürüm çalıştırır. Aylık 5 uygulama ve 500 kredi içeren bir ücretsiz katmanı ve 29 $, 129 $ ve kurumsal fiyatlandırmalı ücretli katmanları vardır.
Bulut sürümü prototipler ve küçük ekipler için uygundur. Hassas verilerle ciddi üretim kullanımı için çoğu ekip kendi altyapısında, daha küçük konuşlandırmalar için tek bir VM’de ya da daha büyükleri için Helm grafiği kullanarak Kubernetes üzerinde kendi barındırır.
Ölçekleme hususları
RAGFlow’un varsayılan konuşlandırması her şeyi tek bir makinede çalıştırır. Bir noktaya kadar bu iyidir; ancak sonrasında belge sayısı, sorgu yükü veya ekip büyüklüğünde sınıra çarparsınız.
Bağımsız ölçeklenen parçalar belge motoru (Elasticsearch veya Infinity), nesne depolama (MinIO) ve bizzat RAGFlow uygulamasıdır. Daha büyük konuşlandırmalarda bu servisleri makineler arasında ayırır, yönetilen bir Elasticsearch veya S3 uyumlu nesne deposu kullanır ve yük dengeleyici arkasında birden çok RAGFlow uygulama örneği çalıştırırsınız.
DeepDoc için GPU hızlandırması da keşfedilmeye değerdir. Bildiğiniz gibi, ayrıştırma varsayılan olarak CPU yoğundur; ancak yapılandırmada GPU modunu etkinleştirebilir, bu da büyük belge alım çalıştırmalarında büyük fark yaratır.
Geri kalanı standart altyapı işidir ve RAGFlow bunların hiçbirine engel olmaz.
RAGFlow’un Avantajları ve Sınırlamaları
Her aracın ödünleri vardır; RAGFlow da farklı değildir. Kullanmadan önce bilmeniz gerekenler şunlardır.
Avantajlar
- Entegre bir platformdur: Bir ayrıştırıcı, bir vektör veritabanı, bir yeniden sıralayıcı, bir parçalayıcı ve bir UI çerçevesi seçip sonra kod yazmak zorunda kalmazsınız. RAGFlow her şeyi içerir.
- Belge işleme en güçlü kısımdır: DeepDoc, PDF’leri, taranmış dosyaları, tabloları ve karmaşık yerleşimleri çoğu alternatife göre daha iyi işler. Belgeleriniz dağınıksa, bu tek başına RAGFlow’u seçmek için yeterli bir sebeptir.
- İlk günden üretim odaklıdır: Temellendirilmiş atıflar, parça görselleştirme, ajan iş akışları, MCP desteği ve gerçek bir yönetim UI’si yerleşiktir.
- Apache 2.0 altında açık kaynaktır: Kendi altyapınızda barındırabilir, kodu değiştirebilir ve çalıştırabilirsiniz. GitHub deposunun 80 binden fazla yıldızı ve aktif geliştirimi vardır; proje yakın zamanda bir yere gitmiyor.
Sınırlamalar
- Konuşlandırma ilk bakışta göründüğü kadar kolay değil: Docker Compose yardımcı olur, ancak uygulamanın yanında yine Elasticsearch veya Infinity, MinIO, MySQL ve Redis’i çalıştırırsınız. Bir noktada bir şeyler bozulacaktır ve bunu düzeltmek için yeterli Docker bilgisine ihtiyaç duyarsınız.
- Altyapı gereksinimleri: Asgari gereksinim 16 GB RAM ve 4 CPU çekirdeğidir; ancak bu küçük iş yükleri içindir. Gerçek konuşlandırmalar 32 GB veya daha fazlasını ister; özellikle Infinity kullanıyorsanız veya büyük alım işleri çalıştırıyorsanız. RAGFlow’u 5 $’lık bir VPS’de çalıştırmak mümkün değildir.
- Bir öğrenme eğrisi vardır: İş akışı oluşturucu güçlüdür; ancak pek çok bileşeni vardır ve doğru parça şablonunu ve getirme ayarlarını bulmak zaman alır. Üretken olmadan önce alışmak için birkaç gün harcarsınız.
RAGFlow kullanım durumunuza uyuyorsa bunların hiçbiri belirleyici bir engel değildir. Bunları bir kütüphane yerine bir platform edinmenin bedeli olarak düşünün.
RAGFlow’u Kimler Kullanmalı?
RAGFlow her proje için ideal değildir. Kime uyduğunu ve kimin daha hafif bir araçla daha iyi sonuç alacağını burada bulabilirsiniz.
En uygun
Üretim RAG sistemleri kuran yapay zeka mühendisleri. İşiniz çalışan bir RAG uygulaması oluşturmak ve başka bir parçalara ayırma kütüphanesi yazmak değilse, RAGFlow tesisat işlerinin çoğunu ortadan kaldırır.
Kurumsal yapay zeka ekipleri. Hukuk, uyum, finans ve destek ekipleri atıflara ve izlenebilirliğe ihtiyaç duyar. Mühendis olmayanların kullanabileceği bir UI de artıdır.
Dağınık belgelerle çalışan geliştiriciler. Tablolarla dolu PDF’ler, taranmış dosyalar, çok sütunlu yerleşimler ve karma formatlar DeepDoc’un rekabete göre daha iyi olduğu alanlardır. Kaynak materyaliniz temiz metinden başka bir şeyse, RAGFlow’un ayrıştırma kalitesini yakalamak zordur.
Büyük belge koleksiyonlarına sahip kuruluşlar. Birkaç bin belgeyi aştığınızda, ölçekli alım, indeksleme ve arama yapabilen bir sisteme ihtiyaç duyarsınız. RAGFlow bu iş için doğru araçtır.
Daha az ideal
Basit sohbet botu prototipleri. Sadece birkaç Markdown dosyasından soruları yanıtlamanız gerekiyorsa, RAGFlow ağır kaçar. Bir LlamaIndex betiği veya basit bir LangChain hattı sizi daha hızlı sonuca götürür.
Çok küçük projeler. Birkaç PDF üzerinde kişisel Soru-Cevap için altyapı maliyeti çok ağırdır. Gerçek projenizden çok Docker komutlarıyla uğraşırsınız.
Sıfır kurulum isteyen ekipler. Beş dakikada kaydolup çalışan bir RAG istiyorsanız, barındırılan bir hizmet veya hafif bir kütüphane daha uygundur. RAGFlow’un bir bulut sürümü var; ancak asıl değerin olduğu kendi barındırılan yol biraz kurulum işi gerektirir.
Basit kural şudur: Projenizin zor kısmı dağınık belgeler üzerinde getirme kalitesiyse, RAGFlow kurulum maliyetine değerdir. Değilse, daha hafif bir şey kullanın.
Sonuç
RAGFlow, gerçek dünya belgeleri üzerinde üretim RAG uygulamaları oluşturmak için tam yığın bir platformdur.
En büyük gücü, belge işleme, getirme, yeniden sıralama ve üretimin ayrı araçlardan birleştirilmek yerine tek bir iş akışında bulunmasıdır. Tek bir UI ve API arkasında DeepDoc ayrıştırma, hibrit getirme, temellendirilmiş atıflar ve ajan iş akışları elde edersiniz.
Belgeleriniz dağınık ve getirme kalitesi önemliyse, RAGFlow kurulum maliyetine değerdir.
Ücretsiz bulut katmanıyla veya yerel bir Docker konuşlandırmasıyla başlayın, en kötü belgelerinizden birkaçını yükleyin ve yanıtların nasıl geldiğine bakın. Kullanım durumunuza uyup uymadığını anlamanın en hızlı yolu budur.
RAG mimarisi tasarım gereği basittir; ancak bu, karmaşık kullanım durumlarında işe yaramayacağı anlamına gelmez. Yoğun getirme, yeniden sıralama ve çok adımlı akıl yürütme hakkında bilgi edinmek için Gelişmiş RAG Teknikleri blog yazımızı okuyun.
Ragflow
RAGFlow ne için kullanılır?
RAGFlow, kendi belgelerinizin üzerinde Retrieval Augmented Generation uygulamaları oluşturmak için kullanılır. Şirketler bunu kurumsal bilgi tabanları, müşteri destek asistanları, dahili dokümantasyon araması ve PDF’ler, e-tablolar, sunumlar ve diğer dağınık kaynaklardan soru yanıtlaması gereken araştırma asistanları için kullanır. Beş ayrı araç yerine tek bir platformda belge ayrıştırma, getirme, yeniden sıralama, atıflar ve ajan iş akışları sunar.
RAGFlow ücretsiz mi?
Evet, RAGFlow Apache 2.0 lisansı altında açık kaynaktır ve kendi altyapınızda hiçbir ücret ödemeden barındırabilirsiniz. InfiniFlow ayrıca küçük projeler için ücretsiz katmanlı ve daha büyük ekipler için ayda 29 $’dan başlayan ücretli planlara sahip barındırılan bir sürüm de sunar. Çoğu üretim kullanıcısı, özellikle hassas verilerle çalışırken, kendi barındırmayı tercih eder.
RAGFlow, LangChain veya LlamaIndex’ten nasıl farklıdır?
LangChain, LLM çağrılarını, araçları ve ajanları zincirlemek için bir uygulama çerçevesidir. LlamaIndex, alım, indeksleme ve getirme için bir veri çerçevesidir. RAGFlow ise tam bir platformdur; yani konuşlandırır, web UI üzerinden yapılandırır ve boru hattı kodu yazmadan ayrıştırma, getirme, atıflar ve iş akışlarını hazır alırsınız. Bunları birlikte de kullanabilirsiniz - alım için LlamaIndex, orkestrasyon için LangChain, tüm yığını tek yerde istediğinizde RAGFlow.
RAGFlow hangi belge biçimlerini destekler?
RAGFlow; PDF’leri, Word dosyalarını, Excel e-tablolarını, PowerPoint sunumlarını, Markdown, HTML, düz metin, görseller ve taranmış belgeleri destekler. DeepDoc motoru, her biçimi doğru ayrıştırmak için OCR, tablo yapısı tanıma ve yerleşim tanıma kullanır; böylece tablolar sağlam kalır, çok sütunlu sayfalar doğru sırayla okunur ve taranmış dosyalar aranabilir hale gelir. v0.25’ten itibaren Confluence, S3, Notion, Discord ve Google Drive’dan doğrudan eşitleme de yapabilirsiniz.
RAGFlow’u çalıştırmak için asgari donanım gereksinimleri nelerdir?
Resmi asgari gereksinimler 4 CPU çekirdeği, 16 GB RAM, 50 GB disk ve Docker 24.0 veya üstüdür. Pratikte, gerçek belge hacimlerini indekslemeye başladığınızda 32 GB veya daha fazla RAM isteyeceksiniz; çünkü RAGFlow uygulamasının yanında Elasticsearch (veya Infinity), MinIO, MySQL ve Redis de çalışır. DeepDoc için GPU hızlandırma isteğe bağlıdır ancak alımı hızlandırır.

