Retrieval-Augmented Generation genellikle üç adımlı bir iş akışı olarak özetlenir: belgeleri bölme, chunks'i yerleştirme ve en yakın sonuçları bir dil modeline gönderme. Bu açıklama bir prototip için faydalıdır ancak bir retrieval sisteminin gerçek trafik altında doğru, hızlı ve uygun maliyetli kalıp kalmayacağını belirleyen mühendislik kararlarını gizler.
Üretim retrieval aşamalı bir karar ve sıralama sistemidir. Güvenilir bir ingestion yolu, kaynak materyalin geri alınabilmesini sağlar. Yönlendirme her istek için uygun veri sistemini seçer. Belge yapısı chunk sınırlarını belirler. Embedding modelleri anlamsal alanı tanımlar. Sorgu dönüşümü, kötü biçimlendirilmiş istekleri iyileştirir. Meta veriler ve erişim kontrolü filtreleri hangi kanıtın uygun olduğunu belirler. Sözcüksel arama kesin tanımlayıcıları korurken, yoğun arama anlamsal benzerliği yakalar. Fusion bağımsız aday listelerini birleştirir. Reranking, yalnızca nihai bağlamı değiştirebildiği yerde ek hesaplama harcar. Bağlam birleştirme, nihai kanıt kümesini generation için kompakt, izlenebilir bir girdiye dönüştürür. Değerlendirme, gözlemlenebilirlik ve yaşam döngüsü kontrolleri her aşamayı ölçülebilir ve uygulanabilir hale getirir.
Hiçbir bileşen tek başına diğerlerindeki her zayıflığı telafi edemez. Güçlü bir reranker, chunking sırasında yok edilen bir tablo satırını kurtaramaz. Güçlü bir embedding modelinin, özellikle tanımlayıcılar nadir, opak olduğunda veya eğitim dağıtımında bulunmadığında, her tam tanımlayıcıyı güvenilir bir şekilde alması beklenemez. Daha büyük bir bağlam penceresi, alakasız retrieval'i zararsız hale getirmez. Kalite pipeline'in tamamından ortaya çıkar.
Retrieval, Ingestion ile Başlar
Sorgu zamanı sistemi yalnızca ingestion pipeline'in alınabilir hale getirdiği şeyleri alabilir. embeddings oluşturulmadan önce her belgenin orijinal sayfasının dışında anlamlı kalan birimlere ayrıştırılması gerekir. Üretimde bu, tek bir ayrıştırıcı çağrısı yerine sürümlendirilmiş, yeniden denenebilir bir pipeline verisidir.
Temsili bir ingestion yolu:
File received
↓
MIME and type detection
↓
Integrity, size, and malware checks
↓
Parser or OCR selection
↓
Layout, table, and image extraction
↓
Text and metadata normalization
↓
Document- and page-level validation
↓
Content hashing and duplicate detection
↓
Chunk generation
↓
Embedding and lexical/vector indexing
Dijital bir PDF zaten kullanılabilir bir metin katmanı içeriyor olabilir; taranmış bir PDF ise OCR ve güven odaklı doğrulama gerektirir. pipeline, OCR'ı gelişigüzel uygulamak yerine bu farkı tespit etmelidir. Şifrelenmiş, bozuk, desteklenmeyen veya kısmen ayrıştırılmış dosyaların açık durumlara ihtiyacı vardır. Bir ayrıştırıcı hatası, ikinci bir ayrıştırıcı veya OCR yolu gibi kontrollü bir geri dönüşü tetikleyebilir, ancak bir geri dönüş sonucu, doğrulama olmadan yüksek kaliteli bir çıkarmanın yerini sessizce almamalıdır. Düz metin bütünlüğü yapısal doğruluğu garanti etmediği için tablolar, şekiller, başlıklar, sayfa başlıkları ve okuma sırası kendi çıkarımlarını ve kalite kontrollerini gerektirir.
Üretim ingestion, idempotent olmalıdır. Aynı kaynak sürümünün yeniden işlenmesi, yinelenen chunks veya vektörler oluşturmamalıdır. İçerik karmaları, baytla aynı veya normalleştirilmiş içerik kopyalarını algılayabilir; kararlı belge ve chunk tanımlayıcıları ise güncellemeleri ve silme işlemlerini izlenebilir hale getirir. Geçici hatalar sınırlı yeniden deneme kuyruklarına aittir; tekrar tekrar başarısız olan öğeler orijinal hata, ayrıştırıcı sürümü, deneme sayısı ve kaynak referansıyla birlikte bir dead-letter queue'e aittir. Meta verilerin işlenmesi, received, parsed, validated, indexed, failed ve superseded gibi durumları ayırt etmelidir; böylece eksik belgeler, fark edilmeden sunum dizinine giremez.
İş belgeleri birkaç örnek sunar:
- Bir sözleşme bölüm ve madde sınırlarını korumalıdır.
- Bir ürün kataloğu ürün adlarını, kodlarını, özelliklerini ve açıklamalarını bir arada tutmalıdır.
- Bir fatura tablosu, bir sütun başlığını değerlerinden ayırmamalıdır.
- Soru-cevap koleksiyonunda her çift doğal bir birim olarak kullanılmalıdır.
- Uzun bir rapor, çıkarılan her pasaja bölüm başlıklarını ve belge meta verilerini eklemelidir.
Tüm bu kaynakların yapılandırılmamış metin halinde düzleştirilmesi ve her 500 jetonun kesilmesi, retrieval için gereken ilişkileri yok ederken geçerli dizeler oluşturabilir.
Yararlı chunk meta verileri genellikle belge tanımlayıcısını ve sürümünü, sayfa numarasını, bölüm başlığını, belge türünü, kaynak zaman damgalarını, dili, tedarikçi veya ürün tanımlayıcılarını, erişim kontrol etiketlerini, işleme durumunu, ayrıştırıcı ve parçalayıcı sürümlerini, embedding model sürümünü, dizin sürümünü ve içerik karmasını içerir. Meta veriler, filtrelemeyi, kaynağı, tazelik kontrollerini, silme yayılımını ve güvenli yeniden indekslemeyi destekler.
Chunking Stratejileri
Sabit Boyutlu Chunking
Sabit boyutlu chunking, metni sabit bir belirteç veya karakter uzunluğunda böler. Hızlıdır, öngörülebilirdir ve toplu olarak işlenmesi kolaydır. Zayıflığı yapısal körlüktür. Bir cümle, tablo satırı veya cümle iki chunks'e bölünebilir.
Sabit boyutlu chunking, homojen düzyazı için veya temel olarak kullanışlı olmaya devam ediyor. Evrensel varsayılan olarak değerlendirilmemelidir.
Özyinelemeli Chunking
Özyinelemeli chunking, sınırları giderek küçültmeye çalışır. Bölüme, sonra paragrafa, sonra cümleye ve son olarak karakterlere bölünebilir. Bu yaklaşım, maksimum boyutu uygulamaya devam ederken daha doğal bir yapıyı korur.
Yinelemeli bölme genellikle pratik bir genel amaçlı seçimdir çünkü basitliği temel belge farkındalığıyla dengeler. Bu hala ayrıştırıcının anlamlı ayırıcıları korumasına bağlıdır.
Semantik Chunking
Semantic chunking, metni sabit bir uzunluk yerine konunun değiştiği yerde böler. Cümleler gömülür ve bitişik cümleler arasındaki benzerlik incelenir. Keskin bir düşüş anlamsal bir sınırı gösterebilir.
Bu yöntem tutarlı chunks üretebilir, ancak ingestion maliyetini artırır ve aynı konuya ait olmasına rağmen bitişik cümleler farklı sözcükler kullandığında metni aşırı bölümlere ayırabilir. Bu nedenle minimum ve maksimum chunk boyutları hala gereklidir.
Late Chunking
Geleneksel chunking, bir belgeyi embedding modeli görmeden önce ayırır. Her chunk bağımsız olarak kodlanır, dolayısıyla vektörü belgenin geri kalanına ilişkin hiçbir farkındalık içermez.
Geç chunking bu sırayı tersine çevirir. embedding modeli tarafından desteklenen tam belge veya en büyük belge penceresi ilk önce kodlanarak her simge için bağlamsal bir vektör üretilir. Belirteç vektörleri daha sonra chunk sınırlarına göre gruplandırılır ve chunk vektörlerinde toplanır. Bu nedenle, "bu tutarı" açıklayan bir chunk, tutarın konusunu tanımlayan daha önceki bir pasajdaki bilgileri tutabilir. Bu, son chunking yönteminde açıklanan ana fikirdir [1].
5.000 jetonluk bir belge bir 5000 × 1024 jeton temsili üretiyorsa, ilk 500 jeton vektörünün ortalaması bir 1 × 1024 chunk vektörüne, sonraki 500 jetonun diğerine vb. ortalaması alınabilir. Veritabanı hâlâ chunk düzeyindeki vektörleri saklıyor ancak bu vektörler belge düzeyindeki bağlamla oluşturuldu.
Geç dönem chunking bağlam korumasını iyileştirebilir ancak belirteç düzeyindeki gösterimleri ortaya çıkaran ve belge uzunluğunu destekleyen bir embedding modeli gerektirir. Ayrıca ingestion karmaşıklığını ve bellek kullanımını da artırır. Geç chunking, daha sonra çoklu vektör retrieval kapsamında ele alınan bir sorgu zamanı eşleştirme tekniği olan geç etkileşimle de karıştırılmamalıdır.
Yapı Farkındalığı ve Retrieval Farkındalığı Varyantları
Yukarıdaki dört strateji, kapsamlı bir sınıflandırma değil, ortak kalıplardır. İş belgelerinin çoğu zaman düz sınırlardan daha fazlasını koruyan chunking politikalarına ihtiyacı vardır:
- Yerleşim duyarlı chunking önce sayfayı düzleştirmek yerine algılanan başlıkları, paragrafları, listeleri, sütunları, tabloları, alt yazıları ve sayfa bölgelerini takip eder.
- Hiyerarşik chunking belge, bölüm, alt bölüm ve chunk ilişkilerini korur, böylece retrieval düzeyler arasında hareket edebilir.
- Ebeveyn-çocuk retrieval küçük çocuk chunks'te precision'i arar ve ardından bağlam için yanıt modeline daha büyük bir ana bölüm döndürür.
- Cümle penceresi retrieval tek tek cümleleri veya küçük aralıkları indeksler ve komşu cümleleri dahil ederek bir eşleşme etrafında genişler.
- Tablo uyumlu chunking başlıkları, satır etiketlerini, birimleri ve hücreleri bağlı tutar; başlığı olmayan bir satır nadiren kendini açıklayıcı değildir.
- Öneri tabanlı chunking düzyazıyı daha küçük, bağımsız olarak doğrulanabilir iddialara dönüştürür ve ingestion maliyetini daha atomik retrieval ile değiştirir.
- Bağlamsal chunking her chunk'i, embedding ve sözcüksel indekslemeden önce belgesinin veya bölümünün kısa bir açıklamasıyla zenginleştirir.
Bu yöntemler birleştirilebilir. Bir düzen ayrıştırıcısı öncelikle bir tabloyu veya bölümü tanımlayabilir, hiyerarşik kurallar onun ana ilişkisini koruyabilir ve cümle penceresi genişletmesi daha sonra yerel bağlam ekleyebilir. Arama için doğru birimin, dil modeline gönderilen birimle aynı olması gerekmez.

Chunk Boyutunu ve Örtüşmeyi Seçme
Chunk boyutu, precision bağlamının bir değiş tokuşudur. Daha küçük chunks bireysel gerçekleri izole eder ve retrieval precision'i geliştirebilir. Ayrıca bir ifadeyi ona anlam veren bağlamdan ayırma riskini de taşırlar. Daha büyük chunks bağlamı korur ancak tek bir vektörle ilgisiz birçok konuyu temsil edebilir, bu da anlamsal özgüllüğü azaltır.
Örtüşme, sınırların yakınındaki bilgileri koruyabilir, ancak aşırı örtüşme, yinelenen sonuçlar yaratır ve depolamayı artırır. Orta düzeyde bir örtüşme, belgeye duyarlı sınırların yerine geçmez, bir korumadır.
Gerçek korpus üzerindeki retrieval testleriyle doğru konfigürasyon seçilmelidir. Yararlı deneyler, birden çok chunk boyutunu ve stratejisini altın bir sorgu kümesiyle karşılaştırır. Çıktı, retrieval recall, precision, dizin boyutu, ingestion süresi, sorgu gecikmesi ve dil modeline gönderilen ortalama içerik miktarını göstermelidir.
Bağlamsal başlıklar başka bir gelişme sağlar. chunk'e belge adı, bölüm, ürün ailesi, tedarikçi veya dönem gibi kısa meta veriler eklenebilir. Bu, chunk'i bağımsız olarak anlaşılabilir hale getirir ve embedding'in amaçlanan sorguyla eşleşme olasılığını artırır. Oluşturulan cevapların değiştirilmemiş kanıtları gösterebilmesi için orijinal metin yine de ayrı olarak saklanmalıdır.
Embeddings, Retrieval Modeli olarak
embedding modeli, metni sabit boyutlu bir vektöre dönüştürür. Eğitim sırasında anlamsal olarak ilgili örnekler birbirine yaklaştırılırken ilgisiz örnekler birbirinden uzaklaştırılır. Retrieval, chunks'i bir sorguya göre sıralamak için öğrenilen alanın geometrisini kullanır.
Model seçimi, vektör boyutu veya genel popülerlik yerine hedef göreve odaklanmalıdır. İlgili kriterler şunları içerir:
- Belge dilindeki performans
- Alan terminolojisinin kullanılması
- Maksimum giriş uzunluğu
- Gecikme ve toplu işlem davranışı
- Dağıtım kısıtlamaları
- Gerçek korpusta Retrieval doğruluğu
Birkaç aday modelin aynı koleksiyonu yerleştirmesi ve aynı altın sorguları çalıştırması gerekir. Kazanan, operasyonel kısıtlamalar dahilinde doğru kanıtları en güvenilir şekilde elde eden modeldir.
Domain Fine-Tuning
Embedding fine-tuning, alana özgü pozitif ve negatif çiftleri kullanır. Olumlu bir çift, bir kullanıcı sorusunu ve doğru ürün açıklamasını veya sözleşme maddesini içerebilir. Rastgele bir negatifin alakası yoktur. Dikkatlice çıkarılan sabit negatifler genellikle rastgele negatiflerden daha bilgilendiricidir çünkü sorguyu karşılamadan makul görünürler. Otomatik olarak daha iyi değiller: Yanlış etiketlenmiş bir kesin negatif aslında geçerli kanıtlar içerebilir ve modele gerçekten ilgili bir çifti ayırmayı öğreten bir yanlış negatif oluşturabilir.
Bir ürünün iade koşullarıyla ilgili bir sorgu için, garanti kapsamıyla ilgili başka bir madde yararlı bir olumsuzluk olabilir. Aday negatifleri toplu örneklerden, daha önceki bir retriever'ten, öğretmen modeli madenciliği veya kafa karıştırıcı yakın eşleşmeleri tanımlayan bir çapraz kodlayıcıdan gelebilir. Yanlış negatif filtreleme ve bir örneğin manuel olarak incelenmesi, özellikle birden fazla pasajın aynı soruyu yanıtlayabildiği durumlarda önemlidir. Eş kalitesi, kaynak çeşitliliği ve kolay ile zor negatifler arasındaki denge genellikle eğitim hacmi kadar önemlidir.
Fine-tuning vektör uzayını değiştirir. Mevcut belge vektörleri, güncellenen modelin ürettiği vektörlerle karışık kalamaz. Derlemin ayrı bir dizine yeniden yerleştirilmesi, değerlendirilmesi ve doğrulama sonrasında atomik olarak değiştirilmesi gerekir.
Kosinüs Benzerliği ve Nokta Çarpımı
Kosinüs benzerliği, büyüklüğü göz ardı ederek vektör yönünü karşılaştırır:
cosine(a, b) = (a · b) / (||a|| ||b||)
Bu, anlamsal yönelimin vektör uzunluğundan daha fazla bilgi taşıdığı durumlarda kullanışlıdır. Nokta çarpımı, vektör büyüklüğüne duyarlıdır ve yön hizalaması daha zayıf olsa bile daha yüksek normlu vektörlere daha büyük puanlar atayabilir.
Tüm vektörler birim uzunluğa normalize edildiğinde kosinüs benzerliği ve nokta çarpımı eşdeğer hale gelir. Birçok vektör sistemi, kosinüs benzeri davranışla verimli nokta çarpım araması elde etmek için bu eşdeğerlikten yararlanır.
Benzerlik fonksiyonu model ve indeks konfigürasyonuyla eşleşmelidir. Sorgular ve belgeler tam olarak embedding modelinin beklediği gibi kodlanmalıdır: bazı modeller farklı öneklere veya talimatlara sahip bir kodlayıcı kullanırken diğerleri asimetrik sorgu ve belge kodlayıcıları kullanır. Önemli olan aynı ön işleme değil, eğitilmiş vektör uzayı içindeki uyumluluktur. İlgisiz model konfigürasyonlarından elde edilen vektörler anlamlı bir şekilde karşılaştırılamaz.
Aramadan Önce Sorguyu Yönlendirin
Her istek bir vektör indeksine ait değildir. Yönlendirme, kimlik doğrulama kiracı ve ilke içeriğini sağladıktan sonra, ancak pahalı retrieval çalışması başlamadan önce gerçekleşmelidir. Yönlendirici deterministik kuralları, varlık tespitini, hafif bir sınıflandırıcıyı ve güven eşiklerini birleştirebilir. Düşük güven durumları, keyfi bir model tahmini yerine açık bir varsayılan veya güvenli çoklu yol politikasını izlemelidir.
| Sorgu modeli | Uygun rota |
|---|---|
| “PRD-482 belgesini al” | Tam arama, meta veri veritabanı veya sözcüksel arama |
| “Mart ayındaki toplam satışlar ne kadardı?” | SQL veya bir analiz motoru |
| “A Şirketi B Şirketinin sahibi mi?” | Bilgi grafiği veya yapılandırılmış bir ilişki deposu |
| “İade koşullarını açıklayın” | Metin retrieval |
| “Merhaba” | Hayır retrieval |
| Kaynaklar arası karmaşık karşılaştırma | Birden fazla retrieval aracıyla ayrıştırma veya aracı iş akışı |
Yönlendirmenin kendisi değerlendirilmiş bir karardır. Bir toplama sorgusunun SQL'e gitmesi gerekiyorsa, retriever'in doğru metni yine de başarısız olur ve her karşılamanın retrieval üzerinden gönderilmesi gecikme ve maliyet israfına neden olur. İzlemeler, tespit edilen amacı, seçilen rotayı, yönlendirici güvenini ve herhangi bir geri dönüş rotasını kaydetmelidir. İzne duyarlı sistemlerde yönlendirici, bir araç seçtiğinde istekte bulunanın veri kapsamını genişletmemelidir.
Sorgu Dönüşümü
Kullanıcının orijinal ifadesi her zaman en iyi retrieval sorgusu olmayabilir. Sorgu dönüşümü aday generation'ten önceki girişi iyileştirir.
Sorgunun Yeniden Yazılması
Çok turlu görüşmelerde en son mesaj daha önceki bağlama bağlı olabilir. “Mart ayı fiyatı ne olacak?” bağımsız bir sorgu değildir. Yeniden yazma, konuşma durumunu "PRD-482 ürününün Mart 2026 birim fiyatı neydi?" gibi bağımsız bir isteğe dönüştürür.
Konuşmaya dayalı referans çözümlemesinin genellikle retrieval'ten önce gerçekleşmesi gerekir, ancak yeniden yazma, yönlendirme ve ayrıştırmanın tam sırası orkestrasyon tasarımına bağlıdır. Bir sistem önce bağımsız bir sorgu oluşturabilir ve ardından onu sınıflandırabilir; bir diğeri bileşik amacı tanımlayabilir, ayrıştırabilir ve her alt sorguyu ayrı ayrı yeniden yazabilir. Sipariş gerçek konuşma izlerine göre değerlendirilmelidir.
HyDE
Varsayımsal Belge Embeddings, bir dil modelinden soruyu yanıtlayabilecek kısa bir varsayımsal pasaj oluşturmasını ister [2]. Bu pasaj orijinal sorgunun yerine veya yanına gömülür. Varsayımsal bir yanıt, indekslenen chunks'in stiline ve uzunluğuna kısa bir sorudan daha çok benzeyebilir.
HyDE, sorgular kısa ve belge pasajları açıklayıcı olduğunda kullanışlıdır. Varsayımsal metin yanlış varsayımlara yol açabileceğinden dikkatle değerlendirilmelidir. Varsayımsal belge yalnızca gerçek kanıtları bulmak için kullanılır. Hiçbir zaman kanıt olarak ele alınmamalı, kaynak olarak belirtilmemeli veya güvenilir bağlam olarak yanıt modeline aktarılmamalıdır.
Sorgu Ayrıştırma
Bileşik istek bağımsız alt sorgulara bölünebilir. “A ve B ürünlerinin fiyatlarını ve iade koşullarını karşılaştırın”, iki ürün ve iki boyut için kanıt gerektirir. Ayrı aramalar kapsamı iyileştirir ve eksik kanıtları görünür hale getirir.
Step-Back Prompting
Son derece spesifik bir soru, daha geniş bir tamamlayıcı sorgudan faydalanabilir. Bir fiyat değişikliğine ilişkin talep, ürünün fiyatlandırma geçmişine veya geçerli sözleşme şartlarına ilişkin bir soruyla eşleştirilebilir. Her iki kanıt seti de generation yanıtı sırasında dikkate alınabilir. Geri adımlı ipucu, daha spesifik akıl yürütmeyi desteklemek için daha geniş bir soyutlamanın bu kullanımını resmileştirir [3].
Bu teknikler sorgu özelliklerine göre yönlendirilmelidir. Tüm dönüşümlerin her sorguya uygulanması maliyeti artırır ve precision'i azaltabilir.

Yaklaşık En Yakın Komşu Dizinleri
Tam en yakın komşu araması, bir sorguyu depolanan her vektörle karşılaştırır. Yararlı bir temel gerçek temeli sağlar ancak maliyeti, koleksiyonla birlikte doğrusal olarak artar ve birçok üretim iş yükü için kullanışsız hale gelir. Yaklaşık en yakın komşu veya YSA indeksleri, bazı gerçek en yakın komşuların gözden kaçmasının kontrollü olasılığını kabul ederek bu arama alanını azaltır.
HNSW, vektörleri gezinilebilir çok katmanlı bir grafik olarak düzenler [4]. Arama seyrek üst katmanlarda başlar ve daha yoğun yerel mahallelere doğru iner. Genellikle M olarak gösterilen grafik bağlantısı ve genellikle efConstruction veya ef_construction olarak gösterilen yapı genişliği, derleme süresini, recall'i ve belleği etkiler. Genellikle efSearch veya ef_search olarak sunulan sorgu genişliği, istek zamanında kaç adayın araştırıldığını kontrol eder. Yükseltilmesi genellikle recall'i iyileştirir, ancak aynı zamanda gecikmeyi de artırır. IVF farklı bir yaklaşım benimser: öğrenilen merkezler etrafındaki vektörleri bölümlere ayırır ve bu bölümlerin yalnızca bir alt kümesini arar. nprobe parametresi kaç bölümün ziyaret edildiğini kontrol eder; daha büyük değerler genellikle daha fazla bilgi işlem tüketirken recall'i iyileştirir. HNSW genellikle yüksek recall'i, daha fazla bellek kullanımıyla düşük gecikmeli aramayı tercih ederken IVF, belleğin ve toplu iş hacminin önemli olduğu çok büyük koleksiyonlar ve konfigürasyonlar için çekici olabilir.
Niceleme başka bir değiş tokuş ekler. Skaler veya ürün nicemleme, sıkıştırılmış vektör temsillerini saklar, belleği azaltır ve çoğu zaman önbellek verimliliğini artırır, ancak sıkıştırma en yakın komşu sıralamasını değiştirebilir [5]. Bu nedenle dizin, şeffaf bir depolama ayarı olarak değil, retrieval modelinin bir parçası olarak değerlendirilmelidir. Yararlı bir kıyaslama, YSA sonuçlarını tam aramayla karşılaştırır ve aday derinliğinde recall'i, P95 gecikmesini, verimi, dizin oluşturma süresini ve arama derinliği, bölümleme ve niceleme ayarları genelinde bellek tüketimini bildirir.
Meta veri filtreleme bu ölçümleri değiştirir. Ön filtrelemeyle YSA araması, veritabanı ve dizin bu davranışı desteklediğinde yalnızca uygun kayıtlar üzerinde çalışır. Son filtrelemeyle, sistem önce yaklaşık komşuları alır ve ardından istenen sayıda adayın daha azını bırakabilecek uygun olmayan sonuçları kaldırır. Yüksek seçiciliğe sahip filtreler daha derin bir ef_search, daha fazla aranan bölüm veya retrieval üzerinden kontrol edilmesini gerektirebilir. Bu nedenle YSA parametreleri ve filtre stratejisi ayrı ayrı ayarlanmak yerine gerçekçi filtrelenmiş sorgular üzerinde birlikte test edilmelidir.
Dizin topolojisi aynı zamanda operasyonel bir karar haline gelir. Parçalama, her düğüm tarafından tutulan vektörlerin sayısını azaltır, ancak bir sorgunun parçalar arasında yayılması ve kısmi sıralamaların birleştirilmesi gerekebilir. Zayıf parça anahtarları, ilgili belgeler eşit olmayan şekilde dağıtıldığında etkin bölümler oluşturabilir veya recall'i azaltabilir. Çoğaltma, kullanılabilirliği ve okuma kapasitesini artırır ancak oluşturma, güncelleme ve depolama maliyetlerini artırır. Üretim testleri, tamamen ısınmış bir düğümde yalnızca kararlı durum gecikmesini raporlamak yerine düğüm kaybını, çoğaltma gecikmesini, parça yeniden dengelemeyi ve dizin ısınmasını içermelidir.
Yoğun Retrieval Neden Yeterli Değil
Yoğun retrieval, başka sözcüklerle ifade etme ve anlamsal ilişkiler konusunda güçlüdür. "İade koşullarını" "satın alınan bir ürünü iade etme kuralları" ile bağlayabilir. Önemi anlamdan ziyade tam kimlikten gelen dizeler için daha az güvenilirdir:
PRD-482gibi ürün kodları- Fatura numaraları
- Hesap veya belge tanımlayıcıları
- Kısaltmalar
- Nadir teknik terimler
- Tam sayısal değerler
BM25 gibi sözcüksel retrieval tamamlayıcı bir profile sahiptir: özellikle kesin terimler, tanımlayıcılar ve nadir belirteçler için etkilidir, ancak başka sözcüklerle ifade etme ve anlamsal farklılıklara karşı daha az dayanıklıdır. Bir üretim sistemi, sorguları hem anlamsal amaç hem de kesin tanımlayıcılar içerdiğinde her ikisini de kullanmalıdır.
Örneğin, “PRD-482'nin kurulum gereksinimleri nelerdir?” tam bir kod ve açık uçlu bir anlamsal istek içerir. BM25, kodu içeren geçitleri güvenilir bir şekilde bulabilir, yoğun retrieval ise kavramsal olarak ilgili kurulum kılavuzunu bulabilir. Daha sonra iki aday listesi birleştirilebilir.
BM25 Sözcüksel Kanıtı Nasıl Puanlıyor?
BM25, terim sıklığını, ters belge sıklığını ve belge uzunluğu normalizasyonunu birleştirerek ham terim sayımını geliştirir [6]. Yaygın bir form:
BM25(D, Q) = Σ IDF(q) × [f(q,D) × (k1 + 1)]
/ [f(q,D) + k1 × (1 - b + b × |D| / avgdl)]
Terim-frekans doygunluğu bu tasarımın merkezinde yer alır. Bir sorgu teriminin ilk birkaç kez tekrarlanması güçlü kanıtlar sağlar, ancak aynı terimin daha fazla tekrarlanması, azalan kazançlara neden olur. k1 parametresi bu doygunluğun ne kadar hızlı oluştuğunu kontrol eder: daha büyük bir değer, tekrarlanan olayların daha uzun süre katkıda bulunmaya devam etmesine izin verirken, daha küçük bir değer daha erken doygunluğa ulaşır. IDF, nadir terimlere daha fazla ağırlık verirken, bütünün tamamında geçen kelimelere daha az ağırlık verir. BM25'in ürün kodları, özel terminoloji ve yoğun benzerlikle yeterince temsil edilemeyen yaygın olmayan adlar için etkili olmasının nedeni budur.
Belge uzunluğunun normalleştirilmesi, uzun chunks'in yalnızca daha fazla kelime içermesi ve dolayısıyla daha fazla eşleşme fırsatı içermesi nedeniyle kazanmasını engeller. b parametresi bu düzeltmeyi kontrol eder: b = 0 uzunluk normalizasyonunu devre dışı bırakırken, 1'e yakın değerler bunu daha güçlü bir şekilde uygular. Hem k1 hem de b, yapıya bağlı seçimlerdir. Özellikle dizin kısa tablo satırlarını, orta ürün açıklamalarını ve uzun anlatım bölümlerini karıştırdığında, chunking ve yoğun retrieval için kullanılan aynı altın sorgularla ayarlanmaları gerekir. Belirteçleştirme, büyük/küçük harf normalleştirme, kök ayırma ve tanımlayıcıların içindeki noktalama işaretlerinin ele alınması aynı derecede önemlidir çünkü bir sözcük motoru, analizcisinin yanlış böldüğü bir terimle eşleşemez.
Analizör konfigürasyonu, sayısal parametreler kadar BM25 kalitesini de değiştirebilir. Dile özgü simgeleştirme, kök ayırma veya lemmatizasyon, durdurma sözcüğü politikası, büyük/küçük harf normalleştirme, aksan yönetimi ve noktalama işaretleri kuralları sürümlendirilmeli ve değerlendirilmelidir. Örneğin, bir analizör PRD-482'i PRD ve 482'e bölebilir; bu kısmi eşleşmeye yardımcı olabilir ancak normalleştirilmiş tam kod bir anahtar kelime alanına da dizine eklenmedikçe tam kimliği zayıflatabilir. Alan adı araması, bir analizciyi her iki amaca hizmet etmeye zorlamak yerine genellikle analiz edilen metin alanlarını tam eşleşen tanımlayıcı alanlarla birleştirir.
Reciprocal Rank Fusion
Yoğun ve sözcüksel puanlar her zaman doğrudan karşılaştırılabilir değildir. Reciprocal Rank Fusion, ham puanların bir ölçeği paylaşmasını gerektirmeden sıralanmış listeleri birleştirir [7]. Her sonuç, her listedeki sırasına göre bir katkı alır:
RRF score(d) = Σ 1 / (k + rank_i(d))
Her iki sistemde de üst sıralarda yer alan belgeler kredi alırken, her iki liste tarafından desteklenen belgeler özellikle rekabetçi hale gelir. Sabit k, üst konumların ne kadar güçlü bir şekilde hakimiyet kurduğunu kontrol eder. Tipik bir başlangıç değeri 60'tir; k'in arttırılması, en yüksek sıradaki pozisyonların hakimiyetini azaltır ve daha düşük sıralardaki katkıların daha benzer olmasını sağlar.
Bu gösterimde rank_i(d) normalde 1'te başlar. i listesinde bulunmayan bir belge, bu listeden hiçbir katkı almaz. Ağırlıklı RRF, örneğin tam sözcüksel eşleşmelerin tanımlayıcı sorgular için daha güvenilir olduğu durumlarda her listenin katkısını doğrulanmış bir ağırlıkla çarpabilir. Bu ağırlıklar, zayıf bir retriever'i gizlemek için kullanmak yerine sorgu sınıfı başına veya değerlendirme yoluyla seçilmelidir. Fusion ayrıca içerik düzeyinde tekilleştirmeye de ihtiyaç duyar: çeşitli chunk tanımlayıcıları altında döndürülen aynı pasaj, yalnızca ingestion kopyalar veya çakışan pencereler ürettiği için yapay destek almamalıdır.
Fusion yeterince geniş bir aday kümesi üzerinde çalışmalıdır. Her sistemden yalnızca ilk üç sonucun alınması, sonraki aşamalarda hataların düzeltilmesi için çok az alan sağlar. Yaygın bir model, düzinelerce adayı toplamak, bunları birleştirmek ve daha küçük bir grubu aşağıda tanıtılan daha doğru bir puanlama aşamasına geçirmektir.
Çift Kodlayıcılar, Geç Etkileşim Modelleri ve Çapraz Kodlayıcılar
Yoğun retrieval genellikle iki kodlayıcı kullanır: sorgu ve belge bağımsız olarak kodlanır ve vektör benzerliği aracılığıyla karşılaştırılır. Belge vektörleri önceden hesaplanabilir, bu da yöntemi büyük koleksiyonlar için uygun hale getirir. Sınırlama, sorgulama ve belgenin puanlama sırasında doğrudan birbiriyle ilgilenmemesidir. Cümle-BERT, bağımsız kodlama yaklaşımının etkili bir örneğidir [8].
Çapraz kodlayıcı, sorguyu ve aday belgeyi birlikte alır. Belirteç düzeyindeki etkileşimleri inceleyebilir ve daha doğru bir alaka düzeyi puanı üretebilir. Bu doğruluk pahalıdır çünkü her sorgu-belge çiftinin istek zamanında değerlendirilmesi gerekir.
Geç etkileşim modelleri orta bir zemini işgal eder. Belge tarafı belirteç temsillerini önceden hesaplarlar ancak tek vektörlü çift kodlayıcıya göre daha zengin sorgu-belge eşleşmesini korurlar. Koleksiyon büyüklüğüne ve altyapıya bağlı olarak birinci aşama geri çağırıcılar veya ara puanlama aşamaları olarak kullanılabilirler. Bu nedenle tam bir çapraz kodlayıcı, reranking'in tek tanımı değil, önemli bir seçenektir.
Çoklu Vektör Retrieval ve ColBERT
Tek vektörlü bir retriever, sorgunun tamamını ve her chunk'i tek bir vektöre sıkıştırır. Bu, aramayı verimli hale getirir, ancak havuzlama sırasında ince taneli kanıtlar kaybolabilir. Çok vektörlü alıcılar belge başına çeşitli temsilleri genellikle belirteç veya geçiş düzeyinde korur, böylece bir sorgunun farklı bölümleri aynı adayın farklı bölümleriyle eşleşebilir.
ColBERT öne çıkan bir geç etkileşim tasarımıdır [9]. Sorguları ve belgeleri bağımsız olarak kodlar, belirteç düzeyindeki vektörleri korur ve tek bir küresel vektör karşılaştırması yerine belirteç bazında maksimum benzerlikler aracılığıyla alaka düzeyini hesaplar. Belge gösterimleri hâlâ önceden dizine eklenebilir ancak sorgu, puanlama sırasında bunlarla daha kesin bir şekilde etkileşime girer. Bu, retrieval'i uzun pasajlar, çok yönlü sorular ve anlamsal olarak ilgili metinlerle çevrelenmiş kesin terimler için geliştirebilir.
Geç etkileşim geç chunking ile karıştırılmamalıdır. Son dönem chunking, chunk başına bağlamsallaştırılmış bir vektör üretmek için belge düzeyinde belirteç bağlamını kullanır. ColBERT tarzı retrieval birden fazla vektörü tutar ve sorgu zamanında daha zengin bir eşleştirme işlemi gerçekleştirir. Bu ek ifade, dizin boyutunu, bellek baskısını ve puanlama maliyetini artırır; bu nedenle, varsayılan olarak etkinleştirilmek yerine güçlü tek vektör ve yeniden sıralanmış taban çizgilerine göre değerlendirilmelidir.
Diğer puanlama seçenekleri arasında hafif çapraz kodlayıcılar, liste şeklinde veya LLM tabanlı yeniden sıralamalar, sıralamayı öğrenme modelleri ve meta veriler, tazelik veya kesin tanımlayıcılar için deterministik güçlendirmeler yer alır. Bir LLM reranker, incelikli alaka kriterleri üzerinde mantık yürütebilir ancak gecikme, maliyet ve çıktı tutarlılığı endişelerini ekler. Kurala dayalı güçlendirmeler hızlıdır ve denetlenebilir ancak metinsel alaka düzeyini aşmamalıdır. Seçim sorgu sınıfı, aday derinliği, donanım ve arıza davranışına göre test edilmelidir.
Dolayısıyla bu modeller farklı aşamalara hizmet eder:
- Yoğun retrieval geniş bir anlamsal aday kümesi üretir.
- BM25 geniş bir sözcüksel aday kümesi üretir.
- Fusion listeleri birleştirir.
- Çapraz kodlayıcı, geç etkileşim puanlayıcı veya başka bir doğrulanmış sıralama modeli, en iyi birleştirilmiş adayları yeniden sıralar.
- chunks'in en önemli kanıtları dil modeli için bir araya getirilmiştir.
Temsili bir dönüşüm hunisi, 50 yoğun ve 50 sözcüksel adayı alabilir, bunları ilk 20'ye yerleştirebilir, bu 20'yi yeniden sıralayabilir ve en iyi 3 ila 5 chunks'i aşağı akışa gönderebilir. Kesin sayılar, evrensel varsayılanlar olarak kopyalanmak yerine, değerlendirme yoluyla belirlenmelidir. reranker kullanılamıyorsa veya gecikme bütçesini aşarsa, bu bozulmuş modun ölçülmesi ve izler halinde gösterilmesi koşuluyla, bir üretim sistemi, isteğin tamamını başarısız kılmak yerine birleştirilmiş sıralamaya geri dönebilir.

Bağlam Birleştirmesi Bir Sıralama Aşamasıdır
Üst chunks seçildiğinde Retrieval bitmiyor. Sıraları, formatları, meta verileri ve artıklıkları generation kalitesini etkiler.
Bağlam oluşturucu şunları yapmalıdır:
- Neredeyse yinelenen chunks'i kaldırın
- Belge ve sayfa referanslarını koruyun
- Tablo satırlarını ve başlıklarını bir arada tutun
- Ayrıştırma kullanıldığında alt sorguya göre grup kanıtları
- En güçlü kanıtları öne çıkan konumlara yerleştirin
- Bir token bütçesini zorunlu kılın
- Talep sahibinin erişim yetkisine sahip olmadığı içeriği hariç tutun
Uzun bağlamlar, genellikle ortada kaybolma etkisi olarak adlandırılan konuma bağlı bozulma sergileyebilir [10]. Ciddiyeti modele, göreve, bağlam uzunluğuna ve biçimlendirmeye bağlıdır; dolayısıyla değişmez bir kuraldan ziyade ölçülmesi bir risktir. Bu nedenle daha fazla chunks göndermek her zaman daha güvenli değildir. Retrieval bağlam hacmini değil kanıt yoğunluğunu optimize etmelidir.
Bağlam oluşturucunun ayrıca güvenilir kanıtların yokluğunu da ele alması gerekir. Tüm adayların yetkilendirme, tazelik, uygunluk veya güven kontrollerinden geçememesi durumunda, yalnızca top-k hedefine ulaşmak için bağlam penceresini zayıf eşleşmelerle doldurmamalıdır. Sistem yapılandırılmış bir kanıt yok sinyali döndürebilir, sözcüksel, yapılandırılmış, grafik veya daha geniş retrieval gibi tanımlanmış bir geri dönüşü deneyebilir, talebi incelemeye yönlendirebilir veya oluşturucuya çekimser kalması talimatını verebilir. Boş bir sonuç mutlaka bir retrieval hatası anlamına gelmez; derlem bir yanıtı desteklemediğinde bu doğru retrieval kararı olabilir.
Metadata Filtreleri, Erişim Kontrolü ve Güncellik
Bir sorgunun katı kısıtlamaları olduğunda anlamsal alaka yeterli değildir. Bir pasaj oldukça benzer olabilir ve yine de yanlış tedarikçiye, ürün ailesine, dile, döneme veya erişim kapsamına ait olabilir.
Filtreler açık sorgu varlıklarından ve güvenilir uygulama bağlamından türetilmelidir. Yararlı filtre boyutları şunları içerir:
- Organizasyon ve çalışma alanı
- Belge türü
- Ürün veya tedarikçi tanımlayıcı
- Dil
- Yürürlük tarihi veya versiyonu
- Erişim kontrol grubu
- İşleme ve doğrulama durumu
Yetkilendirme filtreleri hiçbir zaman bir dil modeline devredilmemelidir. Uygulama bunları kimliği doğrulanmış kimlik ve politika durumundan eklemelidir. Model, bir sorgunun belirli bir ürün veya dönemle ilgili olduğunu belirleyebilir ancak talepte bulunan kişinin hangi korumalı belgeleri almasına izin verileceği konusunda karar vermemelidir.
Filtre çıkarma da değerlendirme gerektirir. Bir sorgu Tedarikçi Beta adını verirse ancak yapılandırılmış filtre atlanırsa, arama koleksiyonun tamamında gerçekleştirilebilir ve başka bir tedarikçiden anlamsal olarak benzer bir pasaj döndürebilir. İzlemeler hem çıkarılan varlıkları hem de her retrieval sistemine gönderilen son filtreleri saklamalıdır.
Tazeliğin açık bir politikaya ihtiyacı var. Güncel fiyat talebi en son geçerli fiyat listesini tercih etmeli, geçmiş talep ise talep edilen döneme göre filtrelenmelidir. Kaynak tarihi, ingestion tarihi, sürümü ve yerine geçme ilişkileri, sorgu zamanında düzyazıdan çıkarım yapmak yerine meta veriler olarak saklanmalıdır.
Filtreleme, yaklaşık en yakın komşu performansını etkileyebilir. Oldukça seçici bir filtre, sığ bir vektör aramasından sonra uygulanırsa çok az aday bırakabilir. Sistem, seçilen veritabanıyla ön filtreleme ve filtreleme sonrası davranışı test etmeli, gerektiğinde aday derinliğini ayarlamalı ve filtrelenen alt kümeler içinde recall'i ölçmelidir.
Bağlam oluşturucunun prompt derlemesinden önce son bir politika kontrolü yapması gerekir. Seçilen her chunk, istekte bulunanın erişim kapsamını, temporal kısıtlamalarını ve belge durumu gereksinimlerini karşılamalıdır. Retrieval kalitesi, doğru kanıtların geri getirilmesini ve katılmaması gereken kanıtların hariç tutulmasını içerir.
Erişim Filtrelerinin Ötesinde Güvenlik
Erişim kontrolü gerekli ancak yeterli değil. Çok kiracılı sistemler belgelenmiş bir izolasyon sınırına ihtiyaç duyar. Riske ve ölçeğe bağlı olarak bu, kiracı başına ayrı dizinler veya ad alanları veya zorunlu kiracı filtreleri ve satır veya chunk düzeyi ACL'lerle paylaşılan dizinler anlamına gelebilir. Kiracı kapsamının kimliği doğrulanmış sunucu durumundan her sözcük, vektör, önbellek ve kaynak aramasına eklenmesi gerekir. Kullanıcı metninden veya model çıktısından gelmemelidir. Testler, sonuç önbellekleri ve geri dönüş yolları da dahil olmak üzere, kiracılar arası retrieval'i doğrudan denemelidir.
Alınan belgeler talimat değil, güvenilmeyen kanıtlardır. Kötü amaçlı veya güvenliği ihlal edilmiş bir kaynak, prompt sistemini geçersiz kılmaya, sırları istemeye veya araçları tetiklemeye çalışan metinler içerebilir. prompt ve orkestrasyon katmanı, kanıtları güvenilir talimatlardan açıkça ayrı tutmalı, kaynak kimliğini korumalı, araç izinlerini alınan metinden bağımsız olarak kısıtlamalı ve uygulamaya uygun içerik riski kontrolleri uygulamalıdır. Modelin yalnızca alınan bir pasaj ona bunu yapmasını söylediği için eylemlere izin vermesine izin verilmemelidir.
Güvenlik politikası aynı zamanda PII düzenlemesini, veri yerleşimini, şifrelemeyi, saklamayı, denetim günlüğü tutmayı ve silmenin yayılmasını da kapsar. Telemetri onaylı sınırı terk etmeden önce hassas alanlar maskelenmeli, izler ise yetkili incelemeye izin veren sabit tanımlayıcıları muhafaza etmelidir. Kaynağın silinmesi, türetilmiş chunks'i, vektör ve sözcüksel girişleri, önbellekleri, kopyaları ve aynı saklama ilkesine tabi tüm aşağı yönlü değerlendirme örneklerini geçersiz kılmalıdır. Denetim kayıtları, gereksiz hassas içerikleri günlüklere kopyalamadan kimin hangi kapsamı sorguladığını, hangi kaynakların seçildiğini ve hangi politika kontrollerinin uygulandığını göstermelidir.
Aşamaya Göre Değerlendirme
Tek bir uçtan uca puan, retrieval'in neden başarısız olduğunu açıklayamaz. Değerlendirme, ingestion kapsamını, aday generation'i, füzyonu, reranking'i, bağlam derlemesini ayırmalı ve generation'e yanıt vermelidir. BEIR gibi yaygın olarak kullanılan retrieval kıyaslamaları çeşitli sıralama ölçümlerini rapor eder çünkü tek bir sayı her sıralama davranışını kapsamaz [11].
| Metrik | Neyi ortaya koyuyor |
|---|---|
Recall@k | İlk k sonuçlarında bulunan tüm ilgili öğelerin oranı |
Precision@k | İlgili ilk k sonuçlarının oranı |
| İsabet oranı | k |
MRR@k | İlgili ilk sonuç ne kadar erken ortaya çıkıyor |
nDCG@k | İlgi derecelendirildiğinde ve konum önemli olduğunda sıralama kalitesi |
| HARİTA | İlgili belgelerin bulunduğu sıralarda Precision, sorguların ortalaması |
| ANN recall | Yaklaşık arama, aynı filtreler altında tam arama komşularını ne kadar yakından yeniden üretir |
| Cevapsız doğruluk | Derlem bir yanıtı desteklemediğinde sistemin çekimser kalıp kalmayacağı |
| Filtre çıkarma doğruluğu | Varlık, tarih, kiracı ve diğer yapısal kısıtlamaların doğru şekilde ayıklanıp çıkarılmadığı |
| Alıntı doğruluğu | Alıntı yapılan kaynakların ilgili iddiaları gerçekten destekleyip desteklemediği |
| Yanıt faithfulness | Yanıtın sağlanan deliller dahilinde kalıp kalmadığı |
| Kanıtların eksiksizliği | Nihai bağlamın cevap için gerekli tüm kanıtları içerip içermediği |
Metrikler pipeline aşamalarına eklenmelidir. Düşük chunk kapsamı, bir ingestion veya chunking arızasını gösterir. İyi aday recall ve ardından zayıf nDCG@k, füzyona veya reranking'e işaret ediyor. Zayıf faithfulness ile güçlü retrieval bir generation sorunudur, embedding modelinin değiştirilmesi gerektiğinin kanıtı değildir. Hizmet bütçesini karşılayamayan bir yapılandırma üretim iyileştirmesi olmadığından gecikme, bellek, aktarım hızı ve maliyetin kalitenin yanında raporlanması gerekir.
golden dataset yalnızca tek bir ortalamayla temsil edilmek yerine katmanlara ayrılmalıdır. Yararlı sorgu grupları arasında tam tanımlayıcı, semantik, çok atlamalı, çoklu belge, sayısal, temporal, çok dilli, belirsiz, izne duyarlı ve yanıtsız istekler bulunur. Her öğe beklenen rotayı, izin verilen kaynak kapsamını, ilgili kanıtları ve uygun olduğu yerde bir yanıtı ve alıntıları içermelidir. İzin testleri, sistemin yasak delilleri ele geçirmesi nedeniyle kredi almamasını sağlamak için ilgi çekici ancak yetkisiz belgeleri içermelidir.
Çevrimdışı testler kontrollü karşılaştırmayı mümkün kılar ancak çevrimiçi değerlendirmenin yerini almaz. Güvenli dağıtımlar gölge trafiği, canary sorgularını veya A/B testlerini kullanabilir. Çevrimiçi sinyaller arasında yanıt kabulü, kaynak tıklamaları, kullanıcı düzeltme oranı, sorgunun yeniden oluşturulması, retrieval'in terk edilmesi ve bir insana iletilmesi yer alabilir. Bu sinyaller kusurludur ve sorgu sınıfına göre yorumlanmalıdır; bir kaynak tıklaması yararlı bir kanıta veya kafa karıştırıcı bir cevaba işaret edebilir. İnsan değerlendirmesi, incelikli alaka ve alıntı kararları açısından önemini korumaya devam etmektedir.
Bir deneme tablosu, aynı sorgu kümesindeki ve trafik profilindeki yapılandırmaları karşılaştırmalıdır. top-k'i artırmak, ef_search'i yükseltmek, bir reranker eklemek veya HyDE uygulamak, yalnızca ölçülen kalite kazancının ek gecikme, bellek ve maliyete değdiği durumlarda haklı çıkar. Filtreler olmadan iyi performans gösteren bir YSA yapılandırması, dar erişim veya meta veri kısıtlamaları altında recall'i kaybedebileceği için filtre seçiciliği dahil edilmelidir. Her sürüm, mevcut üretim temeline göre regresyon testleri çalıştırmalı ve kritik izin, yanıtsızlık veya tanımlayıcı sorgu eşikleri kötüleştiğinde dağıtımı engellemelidir.
Dizin Yaşam Döngüsü ve Artımlı Yeniden Dizin Oluşturma
Dizin, kalıcı bir kapsayıcı değil, sürümlendirilmiş bir hizmet yapısıdır. Bir kaynak güncellemesinin normalde artımlı yeniden indekslemeyi tetiklemesi gerekir: oluşturulan, değiştirilen ve silinen belge sürümlerini tanımlamalı, yalnızca etkilenen chunks'i yeniden oluşturmalı ve sözcüksel ve vektör indekslere tutarlı bir şekilde artışlar ve işaret taşları uygulamalıdır. Kararlı belge ve chunk tanımlayıcıları önemlidir çünkü eski girişlerin sessizce biriktirilmesi yerine kaldırılmasına olanak tanırlar. İçerik karmaları, değişmeyen malzemenin ayrıştırılıp yeniden gömülmesini önler.
Yararlı bir sürüm kaydı, embedding modelinden daha fazlasını içerir:
{
"document_id": "...",
"document_version": "...",
"parser_version": "...",
"chunker_version": "...",
"embedding_model": "...",
"embedding_version": "...",
"index_schema_version": "...",
"source_updated_at": "...",
"indexed_at": "..."
}
Ayrıştırıcı, parçalayıcı, analizör, embedding, niceleme ve şema değişikliklerinin her biri retrieval davranışını değiştirebilir. Yeni bir embedding modeli veya uyumsuz bir chunking politikası genellikle yerinde mutasyon yerine tam paralel indeks gerektirir. Aday dizini oluşturulurken yeni güncellemeleri alabilir, ardından sıralamayı, gecikmeyi ve filtrelenmiş recall'i üretimle karşılaştırmak için gölge trafiğin veya ikili okumaların arkasında çalıştırılabilir. Mavi-yeşil dizin geçişi ve atomik takma ad anahtarı, kısmen taşınan bir vektör alanına hizmet etmekten kaçınır. Önceki takma ad ve dizin, geri alma için yeterince uzun süre kullanılabilir kalmalıdır.
Yaşam döngüsü izleme, yeniden indeksleme ilerlemesini, verimi, aşamaya göre hataları, yeniden deneme ve atılan harf sayımlarını, kaynak-dizin sürümü uyumsuzluklarını, güncelleme gecikmesini, silme gecikmesini, çoğaltma gecikmesini ve eski ve yeni dizinler arasındaki eşitliği raporlamalıdır. Bir geçiş yalnızca tüm vektörlerin yazılmış olması nedeniyle tamamlanmaz; doğrulama geçtiğinde, canlı güncellemeler senkronize edildiğinde, bağımlı önbellekler sürümlendirildiğinde veya geçersiz kılındığında ve geri alma test edildiğinde tamamlanır.
Güvenilirlik ve Maliyet Yönetimi
Önbelleğe alma tekrarlanan çalışmaları ortadan kaldırabilir ancak her önbelleğin açık bir geçerlilik sınırına ihtiyacı vardır. embeddings sorgusu normalleştirilmiş sorgu metni, model yapılandırması ve ön işleme sürümü tarafından önbelleğe alınabilir. Retrieval sonuç önbellekleri ayrıca kiracıyı, erişim kapsamını, filtreleri, rotayı, dizin sürümünü ve güncellik gereksinimlerini içermelidir; aksi takdirde hızlı bir önbellek isabeti, eski veya yetkisiz kanıtları döndürebilir. Ayrıştırılmış belgeler, chunks ve embeddings belgesi içerik karması tarafından önbelleğe alınabilir, böylece değiştirilmemiş girişler yeniden işlenmez.
Her çevrimiçi aşamanın bir gecikme bütçesi ve tanımlanmış bir bozulmuş modu olmalıdır. Geçici bir embedding veya retrieval hatası, titreşimli sınırlı bir yeniden denemeyi haklı gösterebilir; deterministik doğrulama hatasını yeniden denemek yalnızca yük ekler. Çapraz kodlayıcı zaman aşımına uğrarsa sistem birleştirilmiş sonuçlarla devam edebilir. Bir retriever sağlıksızsa bir devre kesici, yanıtı bozulmuş olarak işaretlerken onu geçici olarak kaldırabilir. Yük atma ve hız sınırlama, kabul edilen trafik için gecikmeyi korurken, kiracı başına kotalar bir iş yükünün paylaşılan kapasiteyi tüketmesini önler.
Ingestion, ayrıştırma, embedding ve indeksleme aşamaları arasında backpressure ile eşzamansız çalışmalıdır. Embeddings, GPU verimini artırmak için toplu hale getirilebilir ancak toplu bekleme süresi, tazelik hedeflerine dahil edilmelidir. Küçük veya gecikmeye dayanıklı yeniden sıralamalar için CPU dağıtımı tercih edilebilirken, GPU hizmeti eş zamanlılık ve aday hacmine göre gerekçelendirilebilir. Aday derinliği sorgu türüne veya yüke göre ayarlanabilir ancak dinamik azaltma, tam tanımlayıcılar ve izne duyarlı sorgular gibi yüksek riskli sınıflar için daha katı minimum değerleri korumalıdır. Sorgu başına maliyet, embedding, sözcüksel ve vektör arama, reranking, dönüşüm modeli çağrıları, oluşturulan bağlam belirteçleri ve önbellek altyapısını içermelidir.
Gözlemlenebilirlik ve Hizmet Hedefleri
Her istek, yönlendirmeyi, retrieval'i ve bağlam derlemesini birbirine bağlayan bir iz üretmelidir. Yararlı bir izleme kayıtları:
- Orijinal sorgu ve konuşmaya duyarlı bağımsız sorgu
- Algılanan amaç, rota, varlıklar, tarihler ve yönlendirici güveni
- Güvenli bir şekilde temsil edilen, kimliği doğrulanmış kiracı ve politika tanımlayıcıları
- Uygulanan meta veriler ve erişim filtreleri
- Puanları ve sıralama pozisyonları ile yoğun ve BM25 adayları
- ANN, fusion ve reranker parametreleri ve çıkışları
- Düşme nedenleri de dahil olmak üzere chunks seçildi ve bırakıldı
- Nihai bağlam sırası, kaynak tanımlayıcıları ve belirteç sayısı
- Önbellek kararları, geri dönüş veya bozulmuş mod olayları
- Model, ayrıştırıcı, parçalayıcı, analizör ve dizin sürümleri
- Aşama başına gecikme, toplam gecikme ve tahmini maliyet
Hassas sorgu veya belge metni, yalnızca onaylanmış bir sınır içinde düzenlenmeli, karma hale getirilmeli, örneklenmeli veya saklanmalıdır. Gözlemlenebilirlik, derlemin ikinci bir yönetilmeyen kopyasını oluşturmamalıdır.
Operasyonel kontrol panelleri p50, p95 ve p99 gecikmesini, hata ve zaman aşımı oranlarını, boş retrieval oranını, önbellek isabet oranını, reranker arıza ve geri dönüş oranlarını, embedding kuyruk gecikmesini, dizin yenileme gecikmesini ve sorgu başına maliyeti göstermelidir. Kalite izleme, canary sorgu geçiş hızını, retrieval regresyon uyarılarını, yanıtsızlık doğruluğunu ve izin testi hatalarını eklemelidir. Hizmet hedefleri daha sonra kullanılabilirlik, gecikme, tazelik ve kritik retrieval kalitesini birleştirebilir. Sistem eski veya ilgisiz kanıtlarla HTTP 200 yanıtları döndürdüğünde düşük hata oranı yetersizdir.
Bir Üretim Retrieval Planı
Olgun bir retrieval yolu şu şekilde özetlenebilir:
Authenticated request + tenant and access context
↓
Intent classification and retrieval routing
├── No retrieval
├── Exact lookup / metadata database
├── SQL / analytics engine
├── Knowledge graph
└── Text retrieval
↓
Conversation-aware standalone rewrite
↓
Entity, date, and filter extraction
↓
Filter validation and ACL injection
↓
Optional decomposition, multi-query, or HyDE
↓
Dense ANN retrieval + BM25 / lexical retrieval
↓
Rank fusion or weighted fusion
↓
Cross-encoder, late-interaction, or other reranking
↓
Deduplication, diversity, and parent/neighbor expansion
↓
Token-budget-aware context assembly
↓
Final authorization and policy check
↓
Language model with source citations
↓
Tracing, evaluation, and feedback logging

Metin dalı her sorgu için bir gereklilik değildir. Yönlendirme, bir vektör indeksinin kazara evrensel bir veritabanı haline gelmesini önler. retrieval metninde aşamalı sıralama güvenilir bir denge sağlar: Ucuz yöntemler geniş kapsamlı arama yapar, pahalı yöntemler dar yargıda bulunur ve bağlam genişletme yalnızca ilgili adaylar bilindikten sonra gerçekleşir.
Üretim seviyesinde retrieval, belirli bir çerçeve veya vektör veritabanı tarafından tanımlanmamıştır. ingestion sırasında kanıtları koruyarak, her isteği doğru retrieval sistemiyle eşleştirerek, her veri sınırında politikayı uygulayarak, dizin ve önbellek yaşam döngüsünü yöneterek, kısmi hatalardan kurtularak ve her sıralama kararını test edilebilir ve gözlemlenebilir hale getirerek tanımlanır.
Referanslar
- Günther, M., Mohr, I., Williams, D.J., Wang, B. ve Xiao, H. (2024). "Son Dönem Chunking: Uzun Bağlamlı Embedding Modellerini Kullanan Bağlamsal Chunk Embeddings." arXiv:2409.04701.
- Gao, L., Ma, X., Lin, J. ve Callan, J. (2023). "İlgili Etiketler olmadan Hassas Sıfır Atış Yoğun Retrieval." ACL 2023.
- Zheng, H.S., Mishra, S., Chen, X., Cheng, H.-T., Chi, E.H., Le, Q.V. ve Zhou, D. (2024). "Bir Adım Geri Atın: Büyük Dil Modellerinde Soyutlama Yoluyla Akıl Yürütmeyi Çağırmak." ICLR 2024.
- Malkov, Y. A. ve Yashunin, D. A. (2020). "Hiyerarşik Gezinilebilir Küçük Dünya Grafiklerini Kullanarak Verimli ve Sağlam Yaklaşık En Yakın Komşu Araması." IEEE TPAMI, 42(4).
- Jégou, H., Douze, M. ve Schmid, C. (2011). "En Yakın Komşu Araması için Ürün Niceleme." IEEE TPAMI, 33(1).
- Robertson, S. ve Zaragoza, H. (2009). "Olasılıksal Uygunluk Çerçevesi: BM25 ve Ötesi." Bilgideki Temeller ve Eğilimler Retrieval, 3(4).
- Cormack, G.V., Clarke, C.L.A. ve Büttcher, S. (2009). "Reciprocal Rank Fusion, Condorcet ve Bireysel Dereceli Öğrenme Yöntemlerinden Daha İyi Performans Gösteriyor." SIGIR 2009.
- Reimers, N. ve Gurevych, I. (2019). "Cümle-BERT: Siyam BERT Ağlarını kullanan Cümle Embeddings." EMNLP-IJCNLP 2019.
- Hattab, O. ve Zaharia, M. (2020). "ColBERT: BERT Üzerinden Bağlamsallaştırılmış Geç Etkileşim Yoluyla Verimli ve Etkili Geçiş Araması." SIGIR 2020.
- Liu, N.F., Lin, K., Hewitt, J., Paranjape, A., Bevilacqua, M., Petroni, F. ve Liang, P. (2024). "Ortada Kaybolmak: Dil Modelleri Uzun Bağlamları Nasıl Kullanır?" TACL, 12.
- Thakur, N., Reimers, N., Rücklé, A., Srivastava, A. ve Gurevych, I. (2021). "BEIR: Retrieval Modellerinin Sıfır Atımlı Bilgi Değerlendirmesi için Heterojen Bir Karşılaştırma." NeurIPS 2021 Veri Kümeleri ve Karşılaştırmalar İzleme.
