Eining 4 / 11

Endurheimtunaraðferðir: Top-k, Hybrid, Endurröðun

Hagnaður:

  • Innleiðing blendingsleitar sem sameinar topp-k val og merkingar- og leitarorðaleit
  • Auka nákvæmni fyrstu leitarinnar með endurröðun
  • Gerðu erfiðar spurningar leitarhæfari með tækni eins og fyrirspurnarumbreytingu og HyDE

Þú tættir skjölin fallega og settir inn í vektorgagnagrunninn. Nú er raunveruleg vinna: að sækja réttu hlutina þegar notandinn spyr spurningar. Þetta er kallað endurheimt og er burðarás RAG gæða. Mundu setninguna "Retrieval quality = RAG quality"; Þessi eining er einmitt listin að bæta þessi gæði. Við munum fara yfir hagnýta tækni frá topp-k vali til blendingsleitar, frá endurröðun til umbreytingar fyrirspurnar.

Top-k: Hversu mörg stykki munum við koma með?

Grunnstillingin: hversu mörg stykki (k) á að skila úr leitinni. Ef þú kemur með minna (k=1) er mikil hætta á að þú missir af réttu stykkinu; Ef þú bætir við of miklu (k=20) mun það bæta hávaða við líkanið og táknkostnaðurinn hækkar.

Gerðu greinarmun á tveimur hugtökum. Muna: Hraðinn sem réttur hlutur er á meðal þeirra sem sóttir eru. Nákvæmni: hraðinn sem það er sótt á skiptir máli. Með því að auka k eykst munurinn en dregur úr nákvæmni. Markmiðið er að jafna þetta tvennt.

topp-k

Áhrif

viðeigandi aðstæður

1-3

Mikil nákvæmni, hætta á missi

Einfaldar spurningar með einu svari

4-8

Jafnvægi; flestar aðstæður

Almennt fyrirtæki RAG

10-20

Hærri innköllun, hávaði eykst

Með endurröðun (fyrir neðan)

Ábending: Algengt og kröftugt mynstur: sækið breitt (k=20), mjókkið síðan með endurröðun (efst 4). Þannig missirðu ekki af neinu og gefur líkaninu hreint samhengi.

Hybrid leit: Kraftur tveggja leita

Merkingarfræðileg (vektor) leit fangar merkinguna en missir af hlutum: fullur vörukóði ("XR-4471"), sjaldgæf skammstöfun, eiginnafn, útgáfunúmer. Fyrir þessi nákvæmlega samsvörun verkefni er leitarorðaleit í gamla skólanum - sérstaklega klassíska reikniritið sem kallast BM25 - mjög gott.

Blönduð leit sameinar þetta tvennt: bæði merkingarleit og leitarorðaleit virka, sameinar niðurstöðurnar. Svona, í spurningu eins og "Ábyrgðartími á

Samruni er venjulega gert með RRF (Reciprocal Rank Fusion): lagið sem er ofar á báðum listum kemur fram.

# Hybrid retrieval (conceptual)sem = vector_search(question, k=20) # meaningkey = bm25_search(question, k=20) # fullwordresult = rrf_merge(sem, key)[:8] # sameina þessa tvo, efstu 8

Endurröðun: Önnur og Smarter Pass

Fyrsta símtalið getur verið fljótlegt en dónalegt. Endurröðun færir umsækjendur sem skiluðu af fyrstu leitinni einn í einu með öflugra líkani (venjulega krosskóðara - líkan sem les spurninguna og textann saman og skorar samsvörunina) og færir þá sem mestu máli skiptir á toppinn.

Rökfræðin er þessi: fyrstu leit úthlutar fjölda umsækjenda til innköllunar (20 umsækjendur), endurröðari velur 4 bestu fyrir nákvæmni. Þessi tveggja þrepa nálgun er mun nákvæmari en eins þrepa leit. Það kostar nokkra töf og viðbótarvinnslu; Ávinningurinn er veruleg aukning á gæðum.

# Tveggja þrepa endurheimt (hugmynda) umsækjendur = hybrid_search(spurning, k=20) # breið, quickscore = reranker.score(spurning, umsækjendur) # mikilvægisskor fyrir hvert frambjóðandasamhengi = rated.rank()[:4] # topp 4

Umbreyta fyrirspurninni

Stundum er vandamálið ekki í leitinni heldur spurningunni sjálfri. Ef notandinn spyr "hvað með fjarstarfsmenn?" ', þetta er ekki hægt að leita eitt og sér (ekki er ljóst hvað er fyrir fjarstarfsmenn). Hér eru umbreytingaraðferðir fyrirspurna:

  • Endurskrifa: Notaðu samtalsferil til að gera spurninguna sjálfstæða: "Hvað eiga fjarstarfsmenn rétt á ársorlofi?"
  • Multi-query: Búðu til 3 mismunandi orðatiltæki fyrir sömu spurninguna, leitaðu með þeim öllum, sameinaðu niðurstöðurnar. Mismunandi orð finna mismunandi hluti.
  • HyDE (Hypothetical Document Embeddings): Prentaðu fyrst "mögulegt svar" við líkanið, felldu síðan inn og leitaðu að því ímyndaða svari. Ímyndaða svarið finnst stundum betra vegna þess að það er í orðum nær raunverulegu skjalinu.

# Multi-query (hugmynda) afbrigði = model.uret("Tjáðu þessa spurningu á 3 mismunandi vegu: " + question)tum_sonuc = []fyrir v í afbrigðum: all_sonuc += vector_intermediate(v, k=6)context = singular_and_order(tum_result)[:6]

Veik endurheimt / Sterk endurheimt

Veikt (eins stigs, aðeins merkingarfræði, fasti k=3):

niðurstaða = vektor_leit(spurning, k=3)# Vandamál: vörukóða vantar, getur ekki slegið inn réttan hluta 3 í erfiðum spurningum.

Öflugt (blendingur + widek + endurröðun + fjölfyrirspurn ef þörf krefur):

candidates = hybrid_search(rewrite(question, past), k=20)context = reranker.score(question, candidates).first(4)# Bæði nákvæm samsvörun og merking eru fangaðar; Það fer í bestu 4 módelin.

Þrjú Mini Cass

Tilvik 1 — Vörukóði slapp. Hrein merkingarleit hjá stuðningsteymi gat ekki fundið „RTX-9080“ orðrétt í spurningunni „RTX-9080 bílstjóri villa“; Hann var að koma með aðrar vörur með svipuðum nöfnum. Þegar blandað leit var bætt við kom nákvæm samsvörun kóða fram og hlutfall þess að skila réttum greinum jókst úr 58% í 92%.

Mál 2 — Endurröðunarmunur. Lögfræðingur var að vinna með k=5 en réttur liður er oftast 7-10. Hann var áfram í röðum. Þegar k=20 + endurröðun var tekin upp jókst hlutfall réttrar greinar í efstu 3 úr 61% í 94%; Seinkun jókst um aðeins 300 ms — ásættanleg málamiðlun.

Mál 3 — Eftirfylgnispurning án samhengis. Í starfsmannaaðstoðarmanni spyr notandinn "hvað með hlutastarfsmenn?" Þegar ég spurði kom kerfið með óviðkomandi hluti. Með því að endurskrifa fyrirspurnina (draga „árlegt leyfi“ samhengi frá fortíðinni og bæta við „Starfsmenn í hlutastarfi eiga rétt á ársorlofi“) hækkaði rétt svarhlutfall úr 40% í 86%.

Algeng mistök

  • Að treysta eingöngu á merkingarfræðilega leit: Vörukóði, skammstöfun, eiginnafn vantar; Bættu við blendingi.
  • Halda k of litlu: Rétt stykki kemst ekki inn á listann; gera það breitt og þrengja það með endurröðun.
  • Aldrei að hugsa um endurröðun: Fyrsta leit er dónaleg; Annar snjallpassinn bætir gæðin verulega.
  • Leitað að framhaldsspurningum eins og er: Spurning án samhengis leitar að tilgangslausu; endurskrifa.
  • Aukið k í blindni (án endurröðunar): Líkanið fyllist af hávaða, svörunin brenglast og kostnaðurinn eykst.
Varist: Hver tækni bætir við kostnaði og seinkun. Fjölfyrirspurnir þýðir þrefalda leit, endurröðun þýðir viðbótarsímtal. Byrjaðu á einföldum blendingi + sanngjarnt k fyrst; Mældu og bættu við þungum aðferðum þar sem raunverulega er þörf. Bætir við án þess að mæla.

Í stuttu máli

  • Top-k er jafnvægið milli innköllunar og nákvæmni; Yfirleitt er 4-8 góð byrjun.
  • Hybrid leit sameinar merkingarleit með leitarorði (BM25) leit; Endurheimtir nákvæmar samsvörun.
  • Endurröðun færir umsækjendur úr víðtæku upphafsleitinni aftur stig með öflugu líkani og velur þá bestu.
  • Umbreyting fyrirspurna (endurskrifa, fjölfyrirspurna, HyDE) gerir erfiðar og samhengislausar spurningar leitarhæfar.
  • Sterkt mynstur: breitt sókn → sameinast blendingi → þröngt með endurröðun; en bætið hverri tækni við með því að mæla hana.

Umsóknarverkefni

Undirbúðu 6 erfiðar spurningar með gögnum frá fyrri einingum: að minnsta kosti 2 sem krefjast nákvæmrar samsvörunar (vörukóði, skammstöfun, dagsetning), 2 merkingarfræðilegar (sama efni með mismunandi orðum), 2 framhaldsspurningar án samhengis. (1) Hugsaðu fyrst um hverja spurningu sem hreina merkingarleit og merktu handvirkt hvaða hlutar munu koma upp. (2) Endurmetið sömu spurningar með blendingum og endurröðun bætt við. (3) Endurskrifaðu framhaldsspurningar án samhengis. Athugaðu í töfluformi hvaða tækni skiptir máli hvaða spurningategund.

gátlisti

  • [ ] Ég veit að top-k er jafnvægi í innkalla-nákvæmni og hæfilegt byrjunarbil.
  • [ ] Ég get útskýrt hvers vegna blendingsleit endurheimtir nákvæmar samsvörun.
  • [ ] Ég get beitt tveggja þrepa rökfræði endurröðunar (breitt → smart þröngt).
  • [ ] Ég geri mér grein fyrir þörfinni á að endurskrifa framhaldsspurningar án samhengis.
  • [ ] Ég staðfesti að ég bætti við þungum aðferðum með því að mæla, ekki með því að mæla.