İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM
DersOrta40 dakikaRAG Mühendisi · 3. ders

Hibrit aramada birleştirme, filtre ve yeniden sıralama

İki arama yönteminin sonuçlarını sıra üzerinden birleştirmeyi, filtrenin aramanın neresinde uygulanacağını ve yeniden sıralama katmanının gecikme karşılığında ne kazandırdığını anlatır.

Önkoşul: Embedding, Chunking

BU DERSİN SONUNDA

  • Sözcük ve anlamsal aramanın hangi sorgu tipinde çöktüğünü ayırt etmek
  • Filtreyi aramanın doğru adımında uygulamak
  • Aday derinliği ile yeniden sıralama maliyeti arasında bütçe kurmak
  • Yeniden sıralayıcının değer katıp katmadığına ölçümle karar vermek
  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

Hibrit arama, anlamsal arama ile sözcük eşleşmesini paralel koşturup iki sıralı listeyi tek listede toplamaktır. Yeniden sıralama ise bu birleşik listenin yalnızca üst bölümünü, sorgu ile parçayı birlikte okuyan daha pahalı bir modele yeniden dizdirmektir. Birincisi doğru parçayı aday kümesine sokar, ikincisi onu yukarı taşır; ikisi farklı iş yapar ve birbirinin yerine geçmez.

Teori: iki körlük, iki maliyet#

Sözcük tabanlı arama terimi görür, anlamı görmez: belgede geçen kodu, madde numarasını, ürün adını birebir bulur ama kullanıcı kendi kelimeleriyle sorduğunda boş döner. Anlamsal arama anlamı görür, terimi gözden kaçırır: iki metin anlamca neredeyse aynı olduğunda aralarındaki kod farkını ayırt etmeyebilir. Gerçek bir dizinde her iki sorgu tipi de bulunduğu için tek yöntem seçmek, sorguların bir bölümünü peşinen kaybetmek demektir.

Maliyet tarafında da ayrışırlar. Gömme tabanlı arama parçaların vektörünü önceden hesaplar; sorgu anında yalnızca sorgu vektörlenir ve yakınlık aranır, bu yüzden aday sayısını büyütmek görece ucuzdur. Yeniden sıralayıcı ise sorgu ile parçayı aynı anda okur ve her aday için ayrı bir geçiş gerektirir, dolayısıyla maliyeti aday sayısıyla birlikte büyür. Hattın klasik şekli bu asimetriden doğar: geniş getir, dar sırala.

Hangi sorgu hangi yöntemle bulunur#

Sorgu örneğiSözcük aramasıAnlamsal aramaSonuç
madde 7/b izin süresiMadde numarasını birebir yakalarAnlamca yakın başka maddeleri getirirSözcük tarafı belirleyici
çalışanın tatil hakkı ne kadarBu kelimeler belgede geçmiyorsa boş dönerİzin maddesini bulurAnlamsal taraf belirleyici
RX-220 kalibrasyon aralığıModel kodunu tam eşleştirirKomşu model belgelerini karıştırırSözcük tarafı belirleyici
cihaz açılmıyor ne yapmalıyımYalnızca aynı sözcükleri içeren kaydı bulurFarklı ifade edilmiş arıza kaydını da bulurAnlamsal taraf belirleyici
güncel fiyat listesi hangisiSürüm ayrımını yapamazSürüm ayrımını yapamazFiltre olmadan ikisi de yetersiz
Kendi sorgu günlüğünüzü bu satırlara göre sınıflandırmak, ağırlıkları ölçmeye başlamadan önce size yön verir.

Birleştirme: puan değil sıra#

İki yöntemin ürettiği puanlar aynı ölçekte değildir: yakınlık puanı dar bir aralıkta gezerken sözcük puanı belge uzunluğuna ve terim seyrekliğine göre serbestçe büyür. Puanları doğrudan toplamak, ölçeği geniş olan yöntemi sessizce baskın hale getirir ve ağırlık ayarını anlamsız kılar. Yaygın çözüm yalnızca sıraları kullanmaktır: her belge, göründüğü listelerdeki sırasının tersinden bir katkı toplar, böylece hiçbir listede birinci olmayan ama ikisinde de üstlerde duran belge yukarı çıkar.

Filtre aramanın neresinde#

Yetki, dil, sürüm ve tarih filtreleri aramanın parçası olmalı, arama sonrası bir ayıklama adımı değil. Sonradan filtrelemede dizin en yakın adayları filtreden habersiz seçer; adayların çoğu elendiğinde geriye çok az sonuç kalır, kimi sorguda hiç kalmaz. Arama filtreyi bildiğinde ise adaylar zaten izin verilen küme içinden seçilir. Yetkide bu ayrım sadece kaliteyle ilgili de değildir: eleme adımındaki tek bir hata, kullanıcının görmemesi gereken metni bağlama taşır.

Yeniden sıralama ne zaman değer katar#

  1. 1Önce tavanı ölçün

    Aday kümesini genişletip doğru parçanın adaylar arasına girme oranına bakın. Bu oran düşükse yeniden sıralayıcı işe yaramaz; olmayan parçayı yukarı taşıyamaz, önce getirme tarafı düzeltilir.

  2. 2Aday derinliğini seçin

    Yeniden sıralayıcıya verilecek aday sayısı, tavana ulaşan en küçük sayı olmalı. Derinliği artırmak isabeti bir noktadan sonra artırmazken gecikmeyi büyütmeye devam eder.

  3. 3Gecikme bütçesini bölün

    Kullanıcının kabul ettiği toplam süreden üretim adımının payını düşün; kalan süre getirme ve yeniden sıralamaya aittir. Katman bu payı aşıyorsa ya derinlik düşürülür ya da katman yalnızca belirli sorgu tiplerinde çalıştırılır.

  4. 4Ölçüp karşılaştırın

    Aynı soru setini katmanlı ve katmansız koşturup ilk sıralardaki ilgili parça sayısını ayrı ayrı raporlayın. Fark ölçülebilir değilse katman gecikmeyi karşılıksız artırıyordur.

Sık yapılan hata#

Sahada en sık görülen yanılgı, yeniden sıralayıcıyı getirme sorununun çaresi saymaktır. Yeniden sıralayıcı yalnızca kendisine verilen adayların sırasını değiştirir; doğru parça aday kümesinde yoksa yapabileceği hiçbir şey yoktur ve eklenen gecikme tamamen boşa gider. İkinci yanılgı, iki arama yönteminin ağırlığını bir kez ayarlayıp sabitlemektir: sorgu dağılımı değiştikçe doğru ağırlık da değişir, bu yüzden ağırlık ölçümle birlikte yaşayan bir karardır.

LAB · UYGULAMALI ALIŞTIRMA

Sorgu günlüğünüzü üç arama düzeniyle koşturun

  1. 1Gerçek kullanıcı sorularından 20 tanesini seçin ve her birini iki sınıftan birine koyun: terim ağırlıklı (kod, madde numarası, ürün adı içeren) veya ifade ağırlıklı (kullanıcının kendi kelimeleri).
  2. 2Aynı dizinde üç arama koşturun: yalnız anlamsal, yalnız sözcük tabanlı ve sıra birleştirmeli hibrit.
  3. 3Her sorgu için ilk beş sonucu elle ilgili veya ilgisiz diye işaretleyin ve sayıları iki sorgu sınıfı için ayrı toplayın.
  4. 4Hibritin hangi sınıfta tek yöntemi geçtiğini, hangisinde altında kaldığını yazın.
  5. 5Aday derinliğini iki kademede deneyin (bu alıştırmada 20 ve 60 aday varsayın) ve her sorgu için iki şeyi ayrı yazın: işaretlediğiniz metin aday kümesine girdi mi (tavan) ve ilk beşe girdi mi.
  6. 6Tavana girip ilk beşe giremeyen sorguları sorgu sınıfına göre sayın; yeniden sıralamayı yalnızca bu sayının yüksek olduğu sınıfta denemeyi, tavanı zaten düşük olan sınıfta ise önce getirme tarafını düzeltmeyi öneren tek paragraflık bir karar notu yazın.

Beklenen çıktı

İki sorgu sınıfında üç arama düzeninin tavan ve ilk-beş isabet tablosu, artı yeniden sıralamanın hangi sorgu sınıfında deneneceğini tavan sayısına dayandıran yazılı bir karar notu.

Sık sorulan sorular

Hibrit aramada iki yönteme eşit ağırlık vermek doğru mu?

Eşit ağırlık makul bir başlangıçtır ama sonuç değildir. Doğru ağırlık sorgu dağılımınıza bağlıdır: kullanıcılar çoğunlukla belgedeki terimi birebir yazıyorsa sözcük tarafı, kendi ifadeleriyle soruyorsa anlamsal taraf daha ağır olmalıdır. Kararı kendi sorgu günlüğünüzle ölçün ve dağılım değiştikçe yeniden bakın.

Yeniden sıralayıcı neden aday kümesinin tamamına uygulanmıyor?

Çünkü maliyeti aday sayısıyla birlikte büyür: sorguyu ve parçayı birlikte okuyup her aday için ayrı bir geçiş yapar. Gömme araması ise parça vektörlerini önceden hesapladığı için aday kümesini büyütmeye çok daha dayanıklıdır. Hattın geniş getirip dar sıralamasının nedeni tam olarak bu maliyet farkıdır.

Yetki filtresini arama sonrasında uygulamak neden riskli?

Filtre arama sonrasına bırakıldığında kullanıcının görmemesi gereken parçalar dizin tarafından zaten seçilmiş olur ve onları yalnızca bir eleme adımı durdurur. O adımdaki tek bir aksaklık, örneğin eksik bir alan veya hata durumunda atlanan bir kod yolu, metni doğrudan bağlama taşır. Filtre aramanın parçası olduğunda o parçalar hiç seçilmez ve risk kaynağında kapanır.

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.