Bilgi grafiği ne zaman düz RAG'den daha iyidir?
Bilgi grafiği, yanıt birçok belgeye yayılmış ilişkilere bağlıysa işe yarar: tedarikçiden parçaya, parçadan ürüne uzanan bir zincir ya da bütün bir koleksiyonda tekrar eden bir tema gibi. Yanıt, aramanın bulabileceği bir ya da birkaç pasajdaysa düz RAG yeterlidir. Microsoft'un GraphRAG belgeleri, temel RAG'in yetersiz kaldığı iki durumu açıkça sayar: yanıt, dağınık bilgi parçalarını ortak özellikleri üzerinden birbirine bağlamayı gerektirdiğinde "noktaları birleştirmekte zorlanır"; büyük bir koleksiyonda, hatta tek bir büyük belgede özetlenmiş kavramları bütünlüklü anlaması istendiğinde de zayıf kalır.
GraphRAG'in arkasındaki araştırma ikinci durumu somutlaştırır. "From Local to Global" makalesi, klasik RAG'in "Veri kümesindeki ana temalar neler?" gibi tüm koleksiyona yönelik genel sorularda başarısız olduğunu gösterir. Önerilen yaklaşım belgelerden bir varlık grafiği çıkarır, birbiriyle yakından ilişkili varlık toplulukları için önceden özetler üretir ve genel bir soruyu bu özetlerden gelen kısmi yanıtları birleştirerek yanıtlar. Yazarlar, yaklaşık bir milyon token büyüklüğündeki veri kümelerinde bu tür sorulara verilen yanıtların kapsamlılığı ve çeşitliliğinde klasik RAG'e göre belirgin iyileşme bildirir. Bu, belirli bir soru türü için elde edilmiş bir sonuçtur; grafiğin RAG'den her durumda üstün olduğu anlamına gelmez.
"Bilgi grafiği" pratikte iki farklı şeyi de ifade eder. Birincisi, zaten güvendiğiniz yapılandırılmış veriden kurulan grafiktir; örneğin ERP sistemindeki tedarikçi, parça ve ürün tabloları kesin kurallarla sorgulanır. İkincisi, GraphRAG'in yaptığı gibi serbest metinden bir dil modeliyle çıkarılan grafiktir. Birincisi kesindir ama yalnızca sistemlerde bulunanı kapsar; ikincisi belgelerin içine ulaşır ama çıkarım hatalarını da beraberinde getirir. Maliyetleri karşılaştırmadan önce hangisinden söz ettiğinize karar verin.
Hangi soru yapısı hangi yaklaşımı gerektirir?
Mimariyi seçmeden önce soruları yapılarına göre sınıflandırın. Aşağıdaki tablo karar aracınızdır: birkaç yüz gerçek soru toplayın, her birini yapısına göre etiketleyin; her yapının payı, yatırımı nereye yapmanız gerektiğini gösterir.
| Soru yapısı | Örnek | Başlangıç noktası | Grafik ne zaman değer katar? |
|---|---|---|---|
| Tek bilgi | "Seyahat politikası sınırın üzerindeki harcamalarda onay için ne diyor?" | Yetki filtreli hibrit arama ve atıf | Pratikte hiçbir zaman |
| Bağımsız çok parçalı | "Ankara ve İstanbul ofislerinin izin kuralları" | Soruyu parçalara ayırma, her parça için RAG | Nadiren |
| Çok adımlı zincir | "X ürün ailesinde kullanılan parçaları hangi tedarikçiler sağlıyor?" | İlişkiler bir sistemde zaten varsa yapılandırılmış veri sorgusu | Zincir belgeler arasında ilerliyor ve varlık eşleştirmesi gerekiyorsa |
| Sayma veya toplama | "Gelecek yıl kaç tedarikçi sözleşmesinin süresi doluyor?" | Bir tabloya çıkarılmış ve kesin sorgulanan alanlar | Grafik ya da tablo; düz RAG güvenilir biçimde sayamaz |
| Varlık profili | "Y tedarikçisi hakkında bildiğimiz her şey" | Varlık filtreli RAG | Varlığın belgeler arasında çok sayıda ilişkisi varsa (GraphRAG yerel arama) |
| Genel tema | "400 olay raporunda tekrar eden kök nedenler" | Temel olarak, getirilen örnekler üzerinde parçala-birleştir (map-reduce) özetleme | Koleksiyon düzeyinde anlamlandırma (GraphRAG genel arama) |
Etiketlemeyi sorunun ifadesine göre değil, yanıtın gerektirdiği kanıta göre yapın. "P-200 pompasındaki vanayı kim tedarik ediyor?" tek bilgi sorusu gibi görünür; ama vananın parça numarası bir ürün ağacında, tedarikçisi ise bir sözleşmede duruyorsa bu iki adımlı bir zincirdir. Doğru bir yanıtın kaç belge ve kaç adım gerektirdiğini sayın; yapıyı ifade değil, bu sayı belirler.
Bu satırlardan ikisi aslında grafikle ilgili değildir. Çok parçalı sorular genellikle soruyu parçalara ayırarak çözülür: Microsoft'un RAG bilgi getirme rehberi, sorgunun basit ya da karmaşık olarak sınıflandırılmasını ve karmaşık sorunun ayrı ayrı aranan alt sorgulara bölünmesini anlatır. Sayma soruları ise ister grafikte ister tabloda dursun, yapılandırılmış alanlar ister.
Grafik çıkarmadan önce neler kararlaştırılmalı?
Çıkarılan bir grafik, ancak onu kuran kurallar kadar işe yarar. İlk dizinlemeden önce şunları yazılı hâle getirin:
- Varlık türleri: modelin bulabildiği her şey değil, sorularınız için önemli olan birkaç tür; örneğin tedarikçi, parça, ürün, tesis ve olay.
- İlişki türleri ve yönü: "tedarik eder", "parçasıdır", "neden oldu" gibi ilişkiler, her biri yönüyle birlikte; böylece bir zincir tahmin yürütmeden izlenebilir.
- Her bağlantının kökeni: kaynak belge, sürüm ve metin birimi ile çıkarım çalıştırması ve komut sürümü. Kaynak pasajı olmayan bir bağlantı ne denetlenebilir ne de atıf olarak gösterilebilir.
- Varlık eşleştirme kuralları: iki ifadenin aynı varlık olduğuna hangi tanımlayıcıların karar verdiği (vergi numarası, parça numarası gibi) ve tanımlayıcı yoksa ne yapılacağı. Kimlik belirsizse iki adayı birleştirmek yerine ayrı tutun.
- Yenileme ve silme kuralları: bir belge güncellendiğinde, yeniden adlandırıldığında veya yürürlükten kaldırıldığında varlıklara, bağlantılara ve özetlere ne olacağı ve bunun ne kadar sürede gerçekleşeceği.
- Çelişkilerin ele alınması: iki belge birbiriyle çelişen ilişkiler bildirdiğinde, son çıkarımın sessizce kazanmasına izin vermek yerine ikisini de tarih ve kaynaklarıyla saklayın.
Aynı ilke sorgu anında da geçerlidir. Bir yanıt çıkarılmış bir ilişkiye dayanıyorsa onu destekleyen pasajları yanıtın yanında gösterin; çıkarım belirsizse ilişkiyi olgu gibi sunmak yerine dayanak metni göstermek daha yararlıdır.
Bilgi grafiğinin gerçek maliyeti nedir?
Dil modeliyle çıkarılan bir grafik, işin büyük bölümünü dizinleme zamanına taşır. GraphRAG hattı her metin biriminden varlıkları, ilişkileri ve temel iddiaları çıkarır, grafiği Leiden yöntemiyle hiyerarşik olarak kümeler ve her topluluk için aşağıdan yukarıya bir özet üretir. Projenin README dosyası, dizinlemenin pahalı bir işlem olabileceği konusunda açık bir uyarı içerir; süreci ve maliyetleri anlatan belgelerin okunmasını ve küçük başlanmasını önerir, çıkarım komutlarının kendi verinize göre ayarlanmasını da güçlü biçimde tavsiye eder.
Dizinleme anında ödemek ile sorgu anında ödemek arasındaki denge, Microsoft Research'ün sonraki çalışmasında da görülür. LazyGraphRAG yazısı (Kasım 2024), dil modeli kullanımını sorgu anına erteleyen ve dizinleme maliyeti vektör tabanlı RAG ile aynı, tam GraphRAG'in ise %0,1'i olan bir yaklaşımı anlatır. Hangi türü düşünürseniz düşünün, dört maliyeti yan yana koyun:
- Kurulum: tüm koleksiyon için çıkarım ve özet üretimine giden model çağrıları.
- Yenileme: belgeler değiştiğinde varlıklar, bağlantılar ve topluluk özetleri de değişmelidir. Haftalık bir politika güncellemesi, düzenlenen sayfadan çok uzaktaki özetleri de etkileyebilir.
- Kalite kontrol: çıkarım hataları grafikte "olgu" hâline gelir. Varlık eşleştirmesi, yani üç farklı yazımla geçen tek bir tedarikçi ya da iki sistem için kullanılan tek bir kısaltma, kural ve inceleme gerektirir.
- Yetkiler: bir topluluk özeti farklı erişim kurallarına sahip belgeleri harmanlayabilir. Özet kısıtlı bir sözleşmeden besleniyorsa, özeti okuyabilen herkes o sözleşmenin bir kısmını da okuyabilir. Özetleri yetki kapsamı başına üretin ya da kısıtlı belgeleri özetlemenin dışında tutun.
Grafiğin değip değmediği nasıl test edilir?
- Önce temeli kurun: yeniden sıralamalı, yetki filtreli hibrit arama ve çok parçalı sorular için soruyu parçalara ayırma.
- Gerçek soruları yapılarına göre etiketleyin ve her yapının payını kaydedin. Soruların onda dokuzu tek bilgi sorusuysa grafik kullanıcı deneyimini pek değiştirmez.
- Grafiği tek bir dilimde deneyin: örneğin tek bir belge ailesinde ve yalnızca temelin başarısız olduğu soru yapıları için.
- İki yolda da aynı şeyleri ölçün: desteklenen yanıt oranı, atıf doğruluğu, yetki doğruluğu, gecikme, kurulum maliyeti ve yenileme maliyeti. Genel sorularda inceleyenlerden yanıt çiftlerini kapsamlılık açısından karşılaştırmalarını ve bildirilen her temayı kaynaklarıyla kontrol etmelerini isteyin.
- Yapıya göre yönlendirin. Her soru yapısını kendisi için kazanan yola gönderin, seçilen yolu kaydedin ve grafik yolu başarısız olursa düz getirmeye dönün.
Varsayımsal örnek: olay raporları ve tedarikçiler
Varsayımsal bir üreticinin 400 olay raporu, birkaç yüz tedarikçi sözleşmesi ve ERP sisteminde bir parça listesi var. Ekip 120 gerçek soruyu etiketliyor: 84 tek bilgi, 12 çok parçalı soru, 14 tedarikçi zinciri ve 10 genel tema. Aşağıdaki sonuçlar örnektir:
| Yapı | Temel sonuç | Grafik denemesi | Karar |
|---|---|---|---|
| Tek bilgi (84) | Çoğunlukla destekli yanıt | Denenmedi | Hibrit RAG'de kalır |
| Çok parçalı (12) | Soruyu parçalara ayırma ile iyileşti | Denenmedi | Soru ayrıştırma |
| Tedarikçi zinciri (14) | Zincirdeki bir halkayı sık sık kaçırıyor | Gerek yok: tedarikçi–parça bağlantıları zaten ERP'de | ERP tabloları üzerinde yapılandırılmış sorgu aracı; sözleşme pasajları atıf olarak |
| Genel tema (10) | İlk 50 pasajdan çıkan dar temalar | Daha geniş temalar; incelemede ikisi desteksiz çıktı | Yalnızca olay raporlarında GraphRAG denemesi; her tema kaynak raporlarıyla birlikte gösterilir |
Sonuç bir platform değişikliği değil, bir yönlendiricidir. Soruların çoğu daha ucuz getirme yolunda kalır, zincir soruları zaten yapılandırılmış veriye gider ve grafik yalnızca yanıtı gerçekten değiştirdiği yerde, yani olay raporlarında kurulur.
Sık yapılan hatalar
- Gerçek soruları yapılarına göre sınıflandırmadan grafik kurmak.
- Bir iş sisteminde zaten temiz biçimde duran ilişkileri metinden çıkarmaya çalışmak.
- Çıkarılan bağlantıları kaynak pasajlara bağlamadan olgu gibi kullanmak.
- Farklı yetkilere sahip belgeler üzerinden ortak topluluk özetleri üretmek.
- Ayarlanmış bir grafik hattını ayarlanmamış bir RAG temeliyle karşılaştırmak.
Nereden başlamalı?
Yüz gerçek soruyu yapılarına göre etiketleyerek başlayın; zincir ve genel tema sorularının payı, grafiği denemeye değip değmeyeceğini belirler. İki yolu aynı ölçütlerle ölçmek için RAG değerlendirme metrikleri yazımıza bakabilirsiniz. RAG ve anlamsal arama hizmet sayfamızdaki karşılaştırma tablosu, kişi, kurum ve olaylar arasındaki ilişkilere dair sorular için daha uygun seçenek olarak GraphRAG'i gösterir.