Geçtiğimiz yıl, bir proje yöneticisinden oldukça basit görünen bir soru aldım: "Proje A ve Proje B’nin ortak teknik zorlukları nelerdir?" Standart bir RAG sistemi, her projeye ait belgelerden ilgili parçaları bulup getirdi. Ancak bu parçalar, projelerin ortak yönlerini hiçbir şekilde ortaya koymuyordu. Sistem sadece benzer cümleleri değil, ilişkili olanları da bulamıyordu. Haftalarca prompt’ları ve kod yapısını yeniden düzenledim; sonunda mimarinin kendisinin bu soruna çözüm üretemeyeceğini anladım. Kaybettiğim bir hafta boyunca, RAG sistemlerinin sınırlarını bir kez daha görmüş oldum.
Bu deneyim, standart RAG (Retrieval-Augmented Generation) sistemlerinin en büyük zayıflığını gözler önüne serdi: Belgeler arasındaki derin bağlantıları anlamakta yetersiz kalıyorlar. Peki, neden? Çünkü vektör tabanlı arama, metinleri sadece benzerliklerine göre sıralıyor — ilişkilerini değil.
Vektör aramanın ötesinde: Neden sorularını yanıtlayamıyor?
Standart RAG sistemleri, metni sayısal gösterimlere (vektörlere) dönüştürür ve kullanıcının sorusuna en yakın belge parçalarını bulur. Eğer sorunuz doğrudan bir belge parçasında yanıtı olan bir konuya odaklanıyorsa, sistem gayet iyi çalışır. Örneğin, "Fonksiyon X ne işe yarar?" gibi sorular vektör arama için ideal senaryolardır.
Ancak durum biraz daha karmaşıklaştığında sistemin yetersiz kaldığı görülür:
- "Bu veri kümesindeki temel temalar nelerdir?"
- "Ekip üçüncü çeyrekte neden yön değiştirdi?"
- "Hangi departmanlar benzer risk faktörlerine sahip?"
Bu tür sorular, çoklu belgeler arasında mantıksal bağlantılar kurmayı gerektirir. Vektör benzerliği ise belgeleri izole bir şekilde ele alır; aralarındaki ilişkileri ortaya çıkaramaz. Aynı kütüphanede aynı rafta duran kitapları bulmak gibi — o kitapların birbirine atıf yaptığı ya da aynı konuyu işlediği bilgisine ulaşamazsınız.
Microsoft’un 2024 Şubat ayında tanıttığı GrafRAG (Graph Retrieval-Augmented Generation) yaklaşımı, tam da bu boşluğu doldurmayı hedefliyor. Sistem, belgelerden otomatik olarak bir bilgi grafiği oluşturuyor ve kullanıcı sorularını yanıtlamak için bu grafiğin yapısal bilgilerinden faydalanıyor.
GrafRAG nasıl çalışıyor? 4 aşamalı işlem
GrafRAG’ın kalbi, bir dizi otomatik adımla belgelerden bir bilgi ağı inşa etmek. İşte bu sürecin adımları:
Aşama 1: Varlık ve ilişki çıkarımı
Öncelikle, büyük dil modelleri (LLM) ilgili belgeleri tarar ve içindeki varlıkları (kişiler, kurumlar, kavramlar, teknolojiler) ve bunların birbirleriyle olan ilişkilerini tanımlar. Örneğin, aşağıdaki cümleyi ele alalım:
"Microsoft’un GrafRAG ekibi, Neo4j’nin özellikli grafik modeline dayanan bir LLM tabanlı bilgi grafiği oluşturma yöntemi geliştirdi."
Bu cümleden çıkarılan ilişkiler şu şekilde temsil edilir:
(Microsoft) --[has_team]--> (GrafRAG Ekibi)
(GrafRAG Ekibi) --[developed]--> (LLM Tabanlı KG Yöntemi)
(LLM Tabanlı KG Yöntemi) --[references]--> (Özellikli Grafik Modeli)
(Özellikli Grafik Modeli) --[originated_from]--> (Neo4j)Bu adımda, belgelerdeki tüm varlıklar ve onların birbirleriyle olan bağlantıları sistematik olarak haritalanır.
Aşama 2: Leiden kümeleme
Çıkarılan grafik, yoğun bağlantılar içeren düğümleri doğal gruplara ayırmak üzere Leiden algoritması ile kümeleştirilir. Bu algoritma, tıpkı yeni bir okulda öğrencilerin ilk günkü gruplaşmalarını andırır — oyunculardan oluşan grup, futbolcular, sessiz okuyucular gibi. Leiden, belgelerdeki doğal toplulukları otomatik olarak tanımlar ve her bir küme sistematik bir şekilde etiketlenir.
Aşama 3: Topluluk özetlerinin oluşturulması
Her bir küme için, bir LLM aracılığıyla o grubun ne hakkında olduğunu özetleyen kısa bir metin üretilir. Bu özetler, sistemin arama dizinini oluşturur ve kullanıcı sorgularına yanıt verirken referans alınır.
Aşama 4: Grafik destekli bilgi alma
Kullanıcı bir soru sorduğunda, sistem ilgili topluluk özetlerini ve varlık ilişkilerini toplar, ardından bunları LLM’e göndererek yanıtın oluşturulmasını sağlar. Bu sayede sistem, sadece ilgili belgeleri değil, belgeler arasındaki ilişkileri de dikkate alarak daha kapsamlı yanıtlar üretebilir.
Standart RAG mı, GrafRAG mı? Hangi yaklaşım ne zaman işe yarıyor?
İki yaklaşımın birbirinden farklı güçlü ve zayıf yanları bulunuyor. Aşağıdaki karşılaştırma, hangi durumlarda hangi sistemin tercih edilmesi gerektiğini gösteriyor:
| Boyut | Standart RAG | GrafRAG | |----------------------|-----------------------------------|-----------------------------------| | Arama birimi | Belge parçaları | Topluluk özetleri + varlıklar | | En iyi kullanım alanı| Basit olgusal sorgular | Çoklu belgeye yayılan sorgular | | Muhakeme düzeyi | Tek belge içinde | Belgeler arası bağlantı kurma | | Dizine ekleme maliyeti| Düşük (gömü oluşturma) | Yüksek (LLM grafik inşa eder) | | Yanıtın dayanağı | Alıntılanan belge parçaları | Grafik tabanlı muhakeme yolları |
Microsoft Research’ün VIINA veri kümesi (Ukrayna çatışmasıyla ilgili raporlar) üzerinde yaptığı karşılaştırmalı testlerde GrafRAG, kapsamlılık ve çeşitlilik açısından standart RAG’ı geride bıraktı. Bağımsız bir değerlendirme yapan NTT Data da aynı sonuca ulaşarak GrafRAG’ın çoklu belge sorgularında belirgin bir üstünlük sağladığını doğruladı.
Standart RAG’ın yerini tamamen almayacak olsa da, pratik kullanımda yalnızca basit "ne?
Yapay zeka özeti
RAG sistemleri genellikle basit sorulara yanıt verebilirken, neden-sonuç ilişkilerini açıklamakta zorlanıyor. Microsoft'un GrafRAG yaklaşımı, belge koleksiyonları arasındaki bağlantıları otomatik olarak haritalayarak bu boşluğu dolduruyor. Maliyetleri artık %99,9 daha ucuza indiren yenilikler neler?