İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM
Dersİleri35 dakikaRAG Mühendisi · 4. ders

Bağlam bütçesi ve iddia-kaynak eşlemesi

Getirilen parçaların isteme hangi bütçeyle ve hangi sırayla yerleştirileceğini, her iddianın kaynağa nasıl bağlanacağını ve kaynağı olmayan cevabın kod tarafında nasıl bastırılacağını gösterir.

Önkoşul: Retrieval-Augmented Generation, Reranking, Semantic Search

BU DERSİN SONUNDA

  • Bağlam bütçesini parça sayısı ve jeton olarak ayrı ayrı planlamak
  • Parça yerleşim sırasını bilinçli bir tasarım kararına dönüştürmek
  • İddia ile kaynak parça arasında denetlenebilir bir eşleme kurmak
  • Kaynağı olmayan cevabı bastıran yönerge ve kod denetimlerini tasarlamak
  1. 1

    Teori

    Kavramın çalışma mantığı

  2. 2

    Örnek

    Gerçek bir senaryo üzerinde gösterim

  3. 3

    Lab

    Uygulamalı alıştırma

  4. 4

    Test

    Kısa ölçüm

  5. 5

    Proje

    Rotadaki projeye katkı

Kısa cevap

Bağlam bütçesi, modele gönderilecek parçaların sayısı ve toplam jeton miktarı üzerine önceden verilmiş bir karardır. Referanslı cevap ise her iddianın hangi parçadan geldiğini denetlenebilir biçimde göstermektir. İkisi aynı tasarımın iki yüzüdür: kaynak eşlemesi ancak bağlama giren parçalar kimlikli ve sayılabilir olduğunda kurulabilir.

Teori: pencere geniş, bütçe ayrı#

Bağlam penceresinin sığdırabildiği ile hattın göndermesi gereken aynı şey değildir. Pencereye daha çok parça sığması daha çok parça göndermeyi gerektirmez: her ek parça gecikmeyi ve maliyeti artırır, ayrıca ilgisiz metin modele yanlış izler sunar. Bütçe pencerenin sınırından değil cevabın ihtiyacından türetilir; sınır yalnızca bütçenin üst çerçevesidir.

Bütçeyi iki ayrı sayı olarak tutmak gerekir. Parça sayısı, cevabın kaç farklı kaynağa dayanmasını beklediğinizi söyler; jeton toplamı ise gecikme ve maliyet tarafını bağlar. Yalnızca jeton üstünden bütçe kurmak, tek bir uzun parçanın bütçeyi doldurup diğer kaynakları dışarıda bırakmasına yol açar. Yalnızca parça sayısı üstünden kurmak ise parça uzunlukları geniş bir aralığa yayıldığında gecikmeyi öngörülemez yapar.

Yerleşim bir karardır#

  • Parçaları alaka sırasına göre yerleştirin ve sıranın ne anlama geldiğini isteme açıkça yazın; modelin sıralamayı tahmin etmesini beklemeyin.
  • Her parçanın başına kimliğini, belge adını ve sürümünü koyun; kaynak gösterimi bu kimliğe dayanacak.
  • Aynı belgeden gelen komşu parçaları bitişik yerleştirin ki kesilen cümle kendi devamını yanında bulsun.
  • Sistem yönergesi ile parça metnini açık bir ayraçla ayırın; parça metni yönerge gibi okunmamalı.
  • Bütçe aşıldığında parçayı ortadan kırpmak yerine en alt sıradaki parçayı bütünüyle çıkarın; yarım parça hem kaynaklanamaz hem yanıltır.

İddia-kaynak eşlemesi#

Cevabın altına kaynak listesi eklemek eşleme değildir; hangi cümlenin hangi parçadan geldiği görünmüyorsa liste yalnızca bir güven süsüdür. Denetlenebilir eşleme, modelden cevabı iddia birimlerine bölmesini ve her birimin yanına dayandığı parça kimliğini yazmasını istemekle kurulur. Böylece doğrulama makine tarafından yapılabilir hale gelir: kimlik gerçekten bağlamda mıydı, gösterilen dayanak o parçanın metninde geçiyor mu.

json
{
  "cevap": "Yıllık izin talebi en az yedi gün önce yöneticiye iletilir.",
  "iddialar": [
    {
      "metin": "Talep en az yedi gün önce iletilir.",
      "parca_kimligi": "izin-prosedur-v3#madde-7b",
      "dayanak": "7/b) Yıllık izin talebi, en az yedi gün önce ..."
    }
  ],
  "kaynaksiz_iddia_var": false
}

Bu biçimin değeri, kaynağı doğrulanamayan iddiayı bir hata durumuna dönüştürmesidir. Cevaptaki parça kimliği bağlama gönderdiğiniz kimlik listesinde yoksa cevap reddedilir; gösterilen dayanak, gönderilen parça metninde geçmiyorsa cevap reddedilir. İki denetim de modele değil hattın kendi koduna aittir, bu yüzden istem değiştiğinde bile yerinde kalır.

Kaynağı olmayan cevabı bastırmak#

  1. 1Boş sonucu meşrulaştırın

    Yönergede "bilgi bağlamda yoksa bilmiyorum de" demek yetmez. Bilmiyorum demenin beklenen ve doğru davranış olduğunu, cevabın alacağı biçimi de vererek belirtin; aksi halde model boşluğu genel bilgisiyle doldurur.

  2. 2Eşiği getirme tarafında kurun

    Hiçbir aday makul bir alaka eşiğini geçmiyorsa modele hiç gitmeyin. Eşiği ham benzerlik puanına sabit bir sayı koyarak kurmayın; puanın gezindiği aralık sorgudan sorguya kayar, bu yüzden eşik kendi değerlendirme kümenizde kalibre edilir. Zayıf parçalarla üretim yapmak, uydurma ihtimalini en çok artıran durumdur.

  3. 3Kimlik denetimini koda alın

    Cevaptaki her kaynak kimliğini bağlama gönderdiğiniz listeyle karşılaştırın. Listede olmayan kimlik uydurulmuş demektir ve cevap kullanıcıya ulaşmadan durdurulur.

  4. 4Reddi kullanıcıya anlamlı gösterin

    Durdurulan cevabın yerine, hangi belge kümesinde arandığını ve neyin bulunamadığını söyleyen bir metin koyun. Sessiz bir hata, kullanıcıyı aynı soruyu farklı biçimlerde tekrar sormaya iter.

Sık yapılan hata#

Yaygın yanılgı, geri getirmenin uydurmayı ortadan kaldırdığını varsaymaktır. Geri getirme, doğru parça geldiğinde uydurma ihtimalini düşürür; yanlış ama ilgili görünen parça geldiğinde tersini yapar, çünkü model artık dayanak gösterebildiği için daha kendinden emin yazar. İkinci yanılgı, bağlama ne kadar çok parça konursa cevabın o kadar iyi olacağını sanmaktır: ilgisiz parçalar cevabı seyreltir ve yanlış kaynağa dayanma ihtimalini artırır.

LAB · UYGULAMALI ALIŞTIRMA

Bütçeyi ve kaynak eşlemesini birlikte deneyin

  1. 1Belge setinizden, cevabı iki farklı belgeden parça gerektiren 8 soru yazın.
  2. 2Hattınızı iki bütçeyle koşturun: dar bütçe (bu alıştırmada 3 parça, parça başına en çok 400 jeton varsayın) ve geniş bütçe (aynı üst sınırla 10 parça).
  3. 3Cevabı düz metin yerine iddia listesi olarak isteyin; her iddianın yanında kullanılan parça kimliği bulunsun.
  4. 4Her cevap için iki sayım yapın: bağlamda bulunmayan kimlik sayısı ve dayanağı gönderilen parçada geçmeyen iddia sayısı.
  5. 5İki bütçenin cevaplanan soru sayısını ve kaynaksız iddia sayısını yan yana yazın.
  6. 6Kaynaksız iddiaların hangi durumda ortaya çıktığını tek cümleyle özetleyip bütçenizi bu gözleme göre sabitleyin.

Beklenen çıktı

İki bağlam bütçesinin cevaplanabilirlik ve kaynaksız iddia sayısı karşılaştırması, artı seçilen bütçe için yazılmış bir kabul kuralı.

Sık sorulan sorular

Parçaları alakaya göre sıralamak yerine belgedeki doğal sıraya koysam olmaz mı?

Aynı belgeden gelen parçalar için doğal sıra doğru tercihtir; okuma akışını bozmaz ve kesilen cümle devamını yanında bulur. Farklı belgelerden gelen parçalar arasında ise ölçütünüz alaka olmalı ve hangi ölçütü kullandığınızı isteme yazmalısınız. Karışık kullanımda, yani belge içinde doğal ve belgeler arasında alaka sırasında, iki fayda da korunur.

Model kaynak kimliğini uyduruyorsa istemi düzeltmek yeterli mi?

Yeterli değil. İstem uydurma sıklığını düşürür ama sıfırlamaz; tek güvenilir önlem kod tarafındaki denetimdir. Cevaptaki kimlikleri bağlama gönderdiğiniz listeyle karşılaştırıp eşleşmeyeni hata sayın. Bu denetim aynı zamanda istem değişikliklerinin işe yarayıp yaramadığını gösteren sayacı da verir.

Bağlam penceresi çok genişse getirme adımını gevşetebilir miyim?

Gevşetmek, ilgisiz parçaların bağlama girmesi demektir ve iki maliyet üretir: gecikme artar, cevabın yanlış kaynağa dayanma ihtimali yükselir. Pencerenin genişlemesi getirme kalitesinin yerine geçmez; yalnızca doğru parçaları daha rahat sığdırma payı verir.

LEARN

RAG Mühendisi rotasına devam et

Dersler tek başına da okunabilir, ama sıralı ilerlemek önkoşul boşluklarını kapatır.