RAG
Retrieval-Augmented Generation (Getirmeyle Zenginleştirilmiş Üretim)
- Okunuşu
- reg
Kısaca
RAG, bir LLM'in soru anında getirilen ilgili belgelere dayanarak yanıt vermesini sağlayan ve yanıtları güncel, özel verilere dayandıran bir tekniktir.
RAG nedir?
Retrieval-Augmented Generation ya da kısaca RAG, bir arama adımını bir dil modeliyle birleştirir. Bir kullanıcı soru sorduğunda sistem önce şirket belgeleri ya da yardım merkezi gibi bir bilgi kaynağından en ilgili bilgi parçalarını getirir ve bunları prompt'a ekler. LLM daha sonra yanıtını yalnızca eğitimde öğrendiklerine güvenmek yerine sağlanan bu bağlamdan üretir.
Tipik bir RAG hattının iki aşaması vardır. Önceden, belgeler daha küçük parçalara bölünür, her parça bir embedding'e dönüştürülür ve embedding'ler bir vektör indeksinde saklanır. Soru anında soru da embedding'e çevrilir, en yakın parçalar getirilir ve 'yalnızca aşağıdaki kaynakları kullanarak yanıtla' gibi bir yönergeyle birlikte prompt'a eklenir.
Günlük hayattan bir benzetme açık kitap sınavıdır: öğrenci ezberden yanıt vermek yerine önce doğru sayfalara bakar. RAG; şirket içi bilgi asistanlarında, müşteri destek botlarında ve dokümantasyon aramasında yaygın olarak kullanılır, çünkü halüsinasyonları azaltır ve yanıtların kaynaklarını göstermesine imkân verir.
RAG sıklıkla ince ayarla (fine-tuning) karşılaştırılır. İnce ayar, modeli kendi verinizle ek olarak eğitir; bu, modelin davranışını ya da üslubunu değiştirir ama güncellemesi yavaş ve pahalıdır. RAG ise modeli değiştirmeden her istekte ona taze bilgi verir. Sık değişen bilgiler için RAG genellikle daha basit ve daha ucuz bir seçimdir.
Bir bakışta
Önemli noktalar
- RAG önce ilgili veriyi getirir, sonra LLM'den bu veriyi kullanarak yanıt vermesini ister.
- İlgili metin parçalarını bulmak için genellikle embedding'lere ve bir vektör indeksine dayanır.
- Modeli yeniden eğitmeden yanıtları güncel tutar.
- Halüsinasyonları azaltır ama tamamen ortadan kaldırmaz.
- Getirme kalitesi, yanıtın kalitesini büyük ölçüde belirler.
Örnek
// embed, vectorIndex and llm are placeholders for real services
async function answer(question: string): Promise<string> {
// 1. Retrieve: find the text chunks most similar to the question
const queryVector = await embed(question);
const chunks = await vectorIndex.search(queryVector, { topK: 3 });
// 2. Augment: add the retrieved text to the prompt
const sources = chunks.map((chunk) => chunk.text).join("\n\n");
const prompt = `Answer using only these sources:\n${sources}\n\nQuestion: ${question}`;
// 3. Generate: the LLM writes an answer grounded in the sources
return llm.generate(prompt);
}Sık sorulan sorular
RAG ile ince ayar (fine-tuning) arasındaki fark nedir?
RAG, modeli değiştirmeden istek anında ona ilgili bilgiyi verir; ince ayar ise modeli kendi verinizle ek olarak eğitir. RAG sık değişen bilgiler için daha uygundur; ince ayar tutarlı bir üslup, biçim ya da uzmanlaşmış davranış öğretmek için daha uygundur.
RAG halüsinasyonları engeller mi?
RAG, modele üzerinde çalışacağı gerçek kaynaklar sunarak halüsinasyonları azaltır ama ortadan kaldırmaz. Model kaynakları yine yanlış yorumlayabilir ve getirme adımı yanlış belgeleri döndürürse yanıt yine yanlış olabilir.
RAG için vektör veritabanına ihtiyacım var mı?
Şart değil. Birçok RAG sistemi vektör veritabanı kullanır, ancak vektör aramasını destekleyen sıradan bir veritabanı ya da hatta klasik anahtar kelime araması da getirme adımı olarak işlev görebilir.
Sık karşılaştırılanlar
İlgili sayfalar
- LLMYapay Zekâ ve Makine Öğrenmesi, s. 28LLM, çok büyük metin yığınlarıyla eğitilmiş ve bir sonraki en olası metin parçasını tekrar tekrar tahmin ederek dil üreten bir makine öğrenmesi modelidir.
- EmbeddingYapay Zekâ ve Makine Öğrenmesi, s. 18Embedding, metin, görüntü ya da başka verilerin anlamını vektör denen bir sayı listesiyle temsil eden ve benzer öğeleri birbirine yakın konumlandıran yapıdır.
- PromptYapay Zekâ ve Makine Öğrenmesi, s. 35Prompt, bir LLM gibi bir yapay zekâ modeline hangi görevi yapmasını ve nasıl bir yanıt istediğinizi söylemek için verdiğiniz girdi metni ya da yönergelerdir.
- HalüsinasyonYapay Zekâ ve Makine Öğrenmesi, s. 25Halüsinasyon, bir LLM gibi yapay zekâ modelinin kendinden emin bir şekilde kulağa makul gelen ama yanlış, uydurma ya da kaynaksız bilgi üretmesidir.
- Veritabanı İndeksiVeritabanları, s. 38Veritabanı indeksi, tüm tabloyu taramadan satırları hızla bulmayı sağlayan, bir kitabın sonundaki dizine benzeyen bir veri yapısıdır.
- Vektör VeritabanıYapay Zekâ ve Makine Öğrenmesi, s. 47Vektör veritabanı, embedding'leri saklayıp bir sorguya en benzer vektörleri hızla bulmak için tasarlanmış, anlamsal arama ve RAG'in dayandığı veritabanıdır.
- Kosinüs BenzerliğiYapay Zekâ ve Makine Öğrenmesi, s. 27Kosinüs benzerliği, iki vektörün benzerliğini aralarındaki açıyla, -1 ile 1 arasında ölçer; semantik aramada embedding'leri karşılaştırmanın olağan yoludur.
- EvalsYapay Zekâ ve Makine Öğrenmesi, s. 19Evals, yapay zekâ testleridir: beklenen sonucu ya da puanlama kuralı olan girdilerle her değişiklikten sonra bir modelin ya da prompt'un başarısını ölçer.
- ChunkingYapay Zekâ ve Makine Öğrenmesi, s. 9Chunking, uzun belgeleri embedding'e çevrilip saklanmadan önce küçük parçalara böler; böylece bir RAG sistemi yalnızca ilgili kısımları bulup modele iletebilir.
Kaynaklar
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin