Hybrid RAG: sens și cuvinte exacte
Hybrid combină căutarea semantică și lexicală.
Ce vei învăța
- Explici: căutarea și clasamentul sunt etape diferite
- Aplici ideea într-un exemplu: Hybrid RAG: sens și cuvinte exacte
- Recunoști limitele și verifici rezultatul exercițiului
Hybrid combină căutarea semantică și lexicală. Este util pentru întrebări cu coduri exacte și descrieri în limbaj natural.
Pașii se referă la funcționalități identificate în codul aplicației. Validarea pe o instanță live nu a fost efectuată pentru acest material; verifică documentația și opțiunile din versiunea ta.
Cum funcționează, pas cu pas
Căutarea și clasamentul sunt etape diferite
Retrieval selectează candidați, iar ranking stabilește ordinea lor. top_k este numărul de rezultate cerut; mărirea lui poate aduce dovezi, dar și zgomot. Un reranker analizează mai atent întrebarea și candidații. Nu poate recupera un pasaj care nu a intrat în lista inițială. BM25 caută potriviri lexicale și ajută pentru coduri exacte; căutarea vectorială caută asemănări semantice. Fuziunea RRF combină pozițiile din liste, nu adună scoruri cu unități incompatibile. Mai multe etape trebuie justificate prin teste, timp și cost.
Coordonate ale sensului
Un embedding este un vector de numere calculat de un model. Texte cu sens apropiat tind să fie apropiate în spațiul acelui model, dar similaritatea nu garantează relevanța. Întrebarea și documentele trebuie reprezentate într-un spațiu compatibil: model și dimensiune potrivite. O hartă cu două axe este doar o ilustrare; vectorii reali pot avea sute sau mii de dimensiuni. Când schimbi modelul ori dimensiunea, reconstruiește indexul și retestează. Similaritatea cosinus compară direcția vectorilor; nu este probabilitatea ca un răspuns să fie adevărat.
Definește succesul înainte de optimizare
Pregătește un set de cereri reprezentative și răspunsuri sau proprietăți așteptate. Include cazuri obișnuite, ambigue, fără date și cu erori de unelte. Pentru RAG măsoară separat găsirea dovezii și corectitudinea răspunsului. Recall@k urmărește proporția dovezilor relevante găsite în primele k rezultate; precision@k urmărește proporția rezultatelor relevante. Pentru agenți urmărește și acțiunile, accesul și oprirea. Un LLM-as-judge poate accelera evaluarea, dar se calibrează față de oameni. Nu modifica simultan promptul, modelul și indexul dacă vrei să înțelegi cauza îmbunătățirii.
Laborator detaliat
Ce combină RRF?
RRF favorizează documentele bine poziționate în una sau mai multe liste; folosește rangul, nu presupune că scorul BM25 și similaritatea vectorială au aceeași scară. În template-ul local, lista fuzionată trece prin rerank înainte de construirea contextului.
Un exemplu: vector search ordonează manualul înainte de catalog; BM25 pune catalogul cu LX-240 pe primul loc. Fuziunea poate păstra ambele dovezi. Rerankerul verifică relevanța pentru întrebare. Dacă niciuna dintre liste nu conține pasajul necesar, fuziunea nu îl inventează.
Harta vizuală
Urmărește săgețile continue pentru fluxul principal. Săgețile albastre punctate furnizează date sau context; cele roz punctate arată feedback sau rezultate care revin. Culorile și formele disting modelele, stocările, deciziile și rezultatele. Listele semantice și BM25 sunt combinate prin RRF, apoi rerankate. Căutările sunt complementare; desenul nu implică execuție concurentă. Recuperarea întoarce dovezi. Dacă este activat un model de răspuns, acesta compune și un răspuns; dovezile recuperate trebuie verificate. Pe ecrane mici, derulează orizontal pentru a urmări întreaga diagramă.
Un exemplu complet
Pentru „adaptor pentru LX-240”, vector search găsește sensul, iar BM25 ajută cu identificatorul exact. Template-ul Hybrid local aplică RRF, apoi rerank și generare.
template: Hybrid
vector_k: 15
bm25_k: 15
final_top_k: 5
Încearcă tu
- Configurează vector_k=15, bm25_k=15 și final_top_k=5; compară cu Naive pe coduri exacte.
- Notează intrarea, sursa și rezultatul așteptat înainte să rulezi experimentul. Folosește doar datele fictive din exemplu.
- Urmărește etapele din diagramă. La fiecare pas scrie ce informație primește și ce produce; nu confunda rezultatul intermediar cu rezultatul final.
- Repetă cazul după eliminarea unei informații necesare sau după o intrare ambiguă. Verifică dacă sistemul cere clarificare, se oprește sau inventează.
- Compară cu soluția comentată. Păstrează configurația, data, rezultatul și o explicație pentru orice diferență. Schimbă un singur lucru și retestează.
Soluție comentată
Pasajul corect ajunge în lista finală fără a aduna direct scoruri vector și BM25 incompatibile. Pentru a considera exercițiul reușit, poți arăta legătura dintre intrare, etapele parcurse și rezultat. Dacă lipsesc date, un răspuns prudent este mai util decât o completare inventată. Nu compara doar stilul: verifică și condițiile, sursele și operațiile efectuate.
Când merită și ce poate merge prost
O potrivire lexicală exactă poate fi totuși dintr-o versiune greșită. Alege această abordare când îmbunătățește o nevoie măsurată. Păstrează o variantă simplă ca referință și compară rezultatele pe aceleași intrări. Un singur exemplu reușit nu stabilește fiabilitatea în toate situațiile.
Verifică ce ai înțeles
Un reranker repară un document neindexat?
Nu. Mai întâi trebuie ca pasajul să existe în index și în lista de candidați.
Poți compara direct vectori de la două modele diferite?
În general nu; spațiile lor nu sunt automat compatibile.
Ce rezultat trebuie să obții în acest exercițiu?
Pasajul corect ajunge în lista finală fără a aduna direct scoruri vector și BM25 incompatibile.
Cuvinte de ținut minte
- Rerank: Reordonarea mai atentă a candidaților deja găsiți.
- Embedding: Reprezentare numerică folosită pentru compararea conținutului.
- Regresie / Regression: O schimbare care strică un caz anterior corect.
Surse și următorul pas
Pentru pregătire: R06 — Graph RAG și grafuri de cunoștințe