Ẹyọ 4 / 11

Awọn ilana imupadabọ: Top-k, Arabara, Tun-ni ipo

Awọn anfani:

  • Ṣiṣe wiwa arabara ti o daapọ yiyan oke-k ati atunmọ ati wiwa ọrọ-ọrọ
  • Npo si išedede ti wiwa akọkọ pẹlu tun-ni ipo
  • Ṣiṣe awọn ibeere ti o nira diẹ sii ni wiwa pẹlu awọn ilana bii iyipada ibeere ati HyDE

O ti ge awọn iwe aṣẹ daradara ati fi wọn sinu aaye data vector. Bayi iṣẹ gidi: mimu awọn ege to tọ nigbati olumulo ba beere ibeere kan. Eyi ni a npe ni igbapada ati pe o jẹ ẹhin ti didara RAG. Ranti gbolohun naa "didara atunṣe = didara RAG"; Ẹka yii jẹ iṣẹ ọna ti ilọsiwaju didara yẹn. A yoo bo awọn ilana iṣe lati yiyan oke-k si wiwa arabara, lati tun-ipo si iyipada ibeere.

Top-k: Awọn nkan melo ni A yoo Mu wa?

Eto ipilẹ julọ: melo ni awọn ege (k) lati pada lati wiwa. Ti o ba mu kere (k = 1) ewu nla wa lati padanu nkan ti o pe; Ti o ba ṣafikun pupọ (k = 20), yoo ṣafikun ariwo si awoṣe ati iye owo ami yoo pọ si.

Ṣe iyatọ laarin awọn imọran meji. Ranti: oṣuwọn eyiti nkan ti o tọ wa laarin awọn ti a gba pada. Itọkasi: oṣuwọn eyiti ohun ti o gba pada jẹ pataki. Nlọ k n pọ si iranti ṣugbọn o dinku deede. Awọn ìlépa ni lati dọgbadọgba awọn meji.

oke-k

Ipa

o dara ipo

1-3

Ga konge, ewu ti miss

Rọrun, awọn ibeere idahun ọkan

4-8

Iwontunwonsi; julọ awọn oju iṣẹlẹ

Gbogbogbo ajọ RAG

10-20

Ti o ga ranti, ariwo posi

Pẹlu tun-ni ipo (isalẹ)

Imọran: Aṣa ti o wọpọ ati ti o lagbara: mu fife (k=20), lẹhinna dín pẹlu atunṣe-ipo (oke 4). Ni ọna yii iwọ kii yoo padanu ohunkohun ati pe o fun ni ipo mimọ si awoṣe naa.

Iwadi arabara: Agbara ti Iwadi Meji

Semantic (vector) àwárí gba itumo ṣugbọn o padanu awọn nkan: koodu ọja ni kikun ("XR-4471"), abbreviation toje, orukọ to dara, nọmba ẹya. Fun awọn iṣẹ ṣiṣe deede-ibaramu wọnyi, wiwa Koko-ọrọ ile-iwe atijọ — paapaa algoridimu Ayebaye ti a pe ni BM25—dara pupọ.

Wiwa arabara darapọ awọn meji: mejeeji atunmọ ati awọn wiwa ọrọ-ọrọ ṣiṣẹ, apapọ awọn abajade. Nitorinaa, ninu ibeere bii “akoko atilẹyin ọja ti

Idarapọ ni a maa n ṣe pẹlu RRF (Ipo Ipadabọsipo Fusion): orin ti o ga julọ ninu awọn atokọ mejeeji wa siwaju.

# Arabara retrieval (conceptual)sem = vector_search(ibeere, k=20) # meaningkey = bm25_search(ibeere, k=20) # fullwordresult = rrf_merge(sem, key)[:8] # fiusi meji, oke 8

Tun-ni ipo: Keji ati ijafafa Pass

Ipe akọkọ le yara ṣugbọn arínifín. Awọn ipele ti o tun-nipo awọn oludije pada nipasẹ wiwa akọkọ ọkan nipasẹ ọkan pẹlu awoṣe ti o lagbara diẹ sii (nigbagbogbo koodu koodu agbelebu kan - awoṣe ti o ka ibeere naa ati aye papọ ti o ṣe idiyele ibaramu) ati gbe awọn ti o wulo julọ si oke.

Awọn kannaa ni yi: akọkọ search sọtọ kan ti o tobi nọmba ti oludije fun ÌRÁNTÍ (20 oludije), awọn re-ranker yan awọn ti o dara ju 4 fun konge. Ọna ipele meji yii jẹ deede diẹ sii ju wiwa ipele kan lọ. O-owo diẹ ninu awọn idaduro ati afikun processing; Ere naa jẹ ilosoke pataki ni didara.

# Atunṣe ipele meji (conceptual) oludije = hybrid_search (ibeere, k=20) # broad, quickscore = reranker.score(ibeere, oludije) # Dimegilio ibaramu fun ipo oludije kọọkan = rated.rank ()[:4] # oke 4

Iyipada ibeere naa

Nigba miiran iṣoro naa kii ṣe ninu wiwa, ṣugbọn ninu ibeere funrararẹ. Ti olumulo ba beere “Kini nipa awọn oṣiṣẹ latọna jijin?” ', eyi ko le wa nikan (ko ṣe afihan ohun ti o jẹ fun awọn oṣiṣẹ latọna jijin). Eyi ni awọn ilana iyipada ibeere:

  • Tunkọ: Lo itan ibaraẹnisọrọ lati jẹ ki ibeere naa duro nikan: "Kini awọn oṣiṣẹ latọna jijin ni ẹtọ si isinmi ọdọọdun?"
  • Ibeere pupọ: Ṣe agbekalẹ awọn ọrọ oriṣiriṣi mẹta ti ibeere kanna, wa pẹlu gbogbo wọn, darapọ awọn abajade. Awọn ọrọ oriṣiriṣi wa awọn ege oriṣiriṣi.
  • HyDE (Awọn ifibọ Iwe Irohin): Ni akọkọ tẹ sita “idahun ti o ṣee ṣe” si awoṣe, lẹhinna fi sabe ki o wa idahun aronu yẹn. Idahun oju inu jẹ nigbakan ri dara julọ nitori pe o sunmọ ni awọn ọrọ si iwe gidi.

# Multi-query (conceptual)variants = model.uret("Ṣafihan ibeere yii ni awọn ọna oriṣiriṣi mẹta:" + question)tum_sonuc = []fun v ni awọn iyatọ: all_sonuc += vector_intermediate(v, k=6)context = singular_and_order(tum_result)[:6]

Igbapada Alailagbara / Igbapada Alagbara

Alailagbara (ipele ẹyọkan, awọn atunmọ nikan, k=3 igbagbogbo):

esi = vector_search (ibeere, k=3) # Isoro: koodu ọja ti padanu, ko le tẹ apakan 3 ti o pe ni awọn ibeere ti o nira.

Alagbara (arabara + widek + tun-ni ipo + ibeere pupọ ti o ba jẹ dandan):

oludije = hybrid_search (tun-kọ (ibeere, ti o ti kọja), k = 20) o tọ = reranker.score (ibeere, oludije).akọkọ (4) # Mejeeji gangan baramu ati itumo ti wa ni sile; O lọ si awọn awoṣe 4 ti o dara julọ.

Mẹta Mini igba

Ọran 1 - koodu ọja salọ. Wiwa imọ-jinlẹ mimọ lori ẹgbẹ atilẹyin ko le rii “RTX-9080” ni ọrọ-ọrọ ninu ibeere “aṣiṣe awakọ RTX-9080”; O mu awọn ọja miiran pẹlu iru awọn orukọ. Nigbati a ba ṣafikun wiwa arabara, ibaamu koodu deede waye ati iwọn ti ipadabọ awọn nkan to tọ pọ si lati 58% si 92%.

Case 2 - Iyatọ ti o tun-ni ipo. Agbẹjọro kan n ṣiṣẹ pẹlu k=5 ṣugbọn ohun ti o pe jẹ 7-10 ni ọpọlọpọ igba. O duro ni awọn ipo. Nigbati k=20 + tun-ni ipo ti a ṣe, oṣuwọn ti nkan ti o tọ ti o wa ni oke 3 pọ lati 61% si 94%; Lairi pọ nipasẹ 300ms nikan - adehun itẹwọgba.

Ọran 3 - Ibeere atẹle laisi ọrọ-ọrọ. Ninu oluranlọwọ HR, olumulo n beere “Kini nipa awọn akoko-apakan?” Nigbati mo beere, eto naa mu awọn ẹya ti ko ṣe pataki. Nipa atunkọ ibeere naa (yilọ ọrọ “isinmi ọdọọdun” lati igba atijọ ati ṣafikun “Awọn oṣiṣẹ akoko-apakan ni ẹtọ si isinmi ọdọọdun”), oṣuwọn idahun to pe pọ lati 40% si 86%.

Awọn aṣiṣe ti o wọpọ

  • Gbẹkẹle wiwa imọ-jinlẹ nikan: koodu ọja, abbreviation, orukọ to tọ ti padanu; Fi arabara kun.
  • Ntọju k ju kekere: Awọn ti o tọ nkan ko le tẹ awọn akojọ; jẹ ki o gbooro ati dín pẹlu tun-ipo.
  • Ma lerongba nipa tun-ranking: First search ni arínifín; Awọn keji smati kọja significantly mu awọn didara.
  • Wiwa awọn ibeere atẹle bi o ṣe jẹ: Ibeere laisi ọrọ wiwa fun asan; tun kọ.
  • Ifoju npo k (laisi tun-ipo): Awoṣe naa kun fun ariwo, idahun ti daru ati iye owo pọ si.
Ṣọra: Ilana kọọkan ṣe afikun iye owo ati idaduro. Ibeere pupọ tumọ si wiwa 3-agbo, atunṣe ipo tumọ si ipe awoṣe afikun. Bẹrẹ pẹlu o rọrun arabara + reasonable k akọkọ; Ṣe iwọn ati ṣafikun awọn ilana ti o wuwo nibiti o nilo gaan. Fikun laisi wiwọn.

Ni akojọpọ

  • Top-k jẹ iwọntunwọnsi laarin iranti ati konge; Ni gbogbogbo 4-8 jẹ ibẹrẹ ti o dara.
  • Iwadi arabara daapọ wiwa atunmọ pẹlu wiwa Koko (BM25); Ṣe atunṣe awọn ibaamu deede.
  • Tun-ni ipo tun-maaki awọn oludije lati wiwa ni ibẹrẹ gbooro pẹlu awoṣe to lagbara ati yan awọn ti o dara julọ.
  • Iyipada ibeere (atunkọ, ibeere pupọ, HyDE) jẹ ki o nira ati awọn ibeere ti ko ni ọrọ-ọrọ ni wiwa.
  • Apẹrẹ ti o lagbara: fatch gbooro → dapọ pẹlu arabara → dín pẹlu ipo-tuntun; ṣugbọn ṣafikun ilana kọọkan nipa idiwon rẹ.

Ohun elo iṣẹ-ṣiṣe

Mura awọn ibeere ti o nira 6 pẹlu data lati awọn ẹya iṣaaju: o kere ju 2 ti o nilo awọn ibaamu deede (koodu ọja, abbreviation, ọjọ), atunmọ 2 (akọkọ kanna pẹlu awọn ọrọ oriṣiriṣi), awọn ibeere atẹle 2 laisi ipo. (1) Ni akọkọ ronu ibeere kọọkan bi wiwa atunmọ mimọ ati samisi pẹlu ọwọ awọn apakan wo ni yoo wa. (2) Tun-ṣe ayẹwo awọn ibeere kanna pẹlu arabara ati tun-ni afikun. (3) Tun awọn ibeere atẹle silẹ laisi ọrọ-ọrọ. Ṣe akiyesi ni fọọmu tabular eyiti ilana ṣe iyatọ ninu iru ibeere wo.

akojọ ayẹwo

  • [] Mo mọ top-k ni a ÌRÁNTÍ-konge iwontunwonsi ati a reasonable ibẹrẹ ibiti.
  • [] Mo le ṣe alaye idi ti wiwa arabara ṣe gba awọn ere-kere gangan pada.
  • [] Mo ti le waye awọn meji-igbese kannaa ti tun-ranking (broad → smati dín).
  • [] Mo mọ iwulo lati tunkọ awọn ibeere atẹle laisi ọrọ-ọrọ.
  • [] Mo jẹrisi pe Mo ṣafikun awọn ilana ti o wuwo nipasẹ wiwọn, kii ṣe nipa idiwon.