Yapay zekâ ve LLM mühendisliği
RAG araçları (retrieval-augmented generation)
RAG araçları, yani retrieval-augmented generation, bir dil modeline sorgu anında senin kendi gerçeklerini besleyen parçalardır; böylece model uydurmak yerine senin verinden cevap verir. Parçalar bir embedding modeli, bir vektör deposu ve bir retrieval adımıdır ve retrieval'ı doğru yapmak, temellenmiş bir sistemi kendinden emin bir yalancıdan ayıran şeydir.
RAG, retrieval-augmented generation’ın kısaltmasıdır ve bir RAG hattı, bir LLM sisteminin, model cevap vermeden önce senin kendi gerçeklerini çekip ona veren parçasıdır; böylece model eğitim hafızası yerine senin verinden yanıt verir. (Not: tek başına “RAG” alakasız bir anlamla, paçavradan dokunan kilimle karışır; bu yüzden bu rehber net kalmak için terimin tam hâlini kullanır.) Kaldıraç model değildir; retrieval’dır, doğru pasajları modelin önüne koymak, makul bir tahmini temellenmiş, kaynaklı bir cevaba çeviren şeydir. Kendi bilgi sistemlerimizde retrieval-augmented generation yürütüyoruz; o yüzden bu, bir vektör-veritabanı broşürü değil, çalışan hattır.
RAG (retrieval-augmented generation) nedir ve neden kullanılır?
Modelin senin özgün bilgilerini bilmemesinin çaresidir. Bir dil modeli yalnızca eğitim verisini bilir; ona ürünlerini, dokümanlarını ya da kesim tarihinden sonraki herhangi bir şeyi sor, ya reddeder ya da, daha kötüsü, akıcı ve yanlış bir şey uydurur. Retrieval-augmented generation bunu, modelden önce bir adım ekleyerek düzeltir: soruyla ilgili pasajlar için kendi içeriğinde arama yap, sonra o pasajları prompt’a koy ki model onlardan cevap versin. Kazanç temellenmedir, cevapların modelin hafızası yerine gerçek bir kaynağa izlenmesi, ki bu mühendislikle elde edebileceğin en büyük halüsinasyon azalmasıdır. Ayrıca bilgiyi bir modeli yeniden eğiterek değil, dokümanları güncelleyerek tazelemen anlamına gelir.
Bir RAG hattının parçaları nelerdir?
Üç çekirdek parça ve bir de sessiz olan. Bir embedding modeli metni vektöre çevirir ki anlam sayısal olarak karşılaştırılabilsin. Bir vektör deposu o vektörleri tutar ve bir sorguya en yakın eşleşmeleri döndürür, çoğu “RAG (retrieval-augmented generation) araçları” tavsiyesi burada durur, ama depo kolay kısımdır. Retrieval adımı asıl mühendisliktir: dokümanları nasıl parçaladığın, kaç pasaj çekeceğine nasıl karar verdiğin ve onları nasıl sıraladığın, öyle ki ilgili pasaj, sadece benzer olanı yensin. Sessiz parça ise üretim prompt’unun kendisidir, modele yalnızca çekilen pasajlardan cevap vermesini ve cevap orada yoksa bunu söylemesini bildiren talimat. Parçalamayı ve sıralamayı yanlış yap, en şık vektör deposu bile modele çöp besler.
RAG sistemleri neden başarısız olur ve retrieval nasıl düzeltilir?
Retrieval’da başarısız olurlar, neredeyse hiçbir zaman üretimde değil. Klasik hata, doğru pasaj hiç çekilmediği için modelin kendinden emin yanlış bir cevap vermesidir, parçalar ya çok büyüktü ve gerçeği gömdü, ya çok küçüktü ve bağlamı yitirdi, ya da sıralama benzer-ama-alakasız bir pasajı öne çıkardı. Çözüm, retrieval’ı ölçtüğün şey olarak ele almaktır: bilinen doğru kaynaklara sahip gerçek sorulardan bir set kur ve prompt’u suçlamadan önce hattın o pasajları gerçekten çekip çekmediğini kontrol et. Parça boyutunu içeriğe göre ayarla, benzerliğin değil ilginin kazanması için yeniden sıralama (re-ranking) ekle ve her cevap için neyin çekildiğini logla ki yanlış bir yanıt kara kutuya değil “ona yanlış pasajı besledik”e izlensin. Dürüst disiplin şudur: retrieval-augmented generation, üretim kostümü giymiş bir retrieval problemidir.
RAG ne zaman gerekmez?
Bilgi küçük, sabit ya da zaten prompt’un içindeyse. Gerçekler bağlam penceresine rahatça sığıyor ve nadiren değişiyorsa, onları doğrudan prompt’a koy, bir retrieval hattı, ihtiyacın olmayan bir yüktür. Retrieval-augmented generation, hata bilgi değil akıl yürütme olduğunda da çözüm değildir: model gerçeklere sahipken hâlâ mantığı yanlış kuruyorsa, bu bir prompt ya da orkestrasyon problemidir, retrieval değil. Bilgi tabanı büyük olduğunda, sık değiştiğinde ya da kaynaklı olması gerektiğinde retrieval-augmented generation’a uzanırız; iyi kurulmuş bir prompt modelin ihtiyacı olan her şeyi zaten taşıyorsa atlarız. İhtiyacı olmayan bir probleme vektör deposu eklemek, basit bir sistemi yavaş ve kırılgan kılmanın yaygın bir yoludur.
Bu, daha geniş bir disiplinin temellendirme katmanıdır. Modelin talimat sözleşmesi için prompt mühendisliği araçları, retrieval ile model çağrılarını güvenilir bir akışta zincirlemek için LLM orkestrasyon ve tam işletim resmi için yapay zekâ ve LLM mühendisliği sayfasına bak.