Nkeji 4 / 11

Atụmatụ eweghachi: Top-k, Ngwakọ, Nhazigharị

Uru:

  • Na-eme nchọ ngwakọ na-ejikọta nhọrọ top-k na nchọpụta semantic na isiokwu
  • Na-abawanye izi ezi nke ọchụchọ mbụ site na itinye ọkwa ọzọ
  • Iji usoro dị ka mgbanwe ajụjụ na HyDE na-eme ka ajụjụ siri ike chọọ ya

Ị kụbiri akwụkwọ ndị ahụ nke ọma wee tinye ha na nchekwa data vector. Ugbu a ọ bụ ezigbo ọrụ: ị na-enweta iberibe ziri ezi mgbe onye ọrụ jụrụ ajụjụ. Nke a ka a na-akpọ iweghachite ma bụrụ ọkpụkpụ azụ nke àgwà RAG. Cheta nkebiokwu a "nweghachi àgwà = àgwà RAG"; Nkeji a bụ kpọmkwem nka nke imeziwanye ogo ahụ. Anyị ga-ekpuchi usoro bara uru site na nhọpụta top-k ruo nchọ ngwakọ, site na ntinye ọkwa ruo ngbanwe ajụjụ.

Top-k: Iberibe ole ka anyị ga-eweta?

Ntọala kachasị mkpa: iberibe ole (k) ka ị ga-esi na nchọta laghachi. Ọ bụrụ na ị weta obere (k = 1) enwere nnukwu ihe ize ndụ nke ịhapụ mpempe akwụkwọ ziri ezi; Ọ bụrụ na ị gbakwunye oke (k = 20), ọ ga-agbakwunye ụda na ihe nlereanya na ọnụ ahịa akara ga-abawanye.

Chọpụta ọdịiche dị n'etiti echiche abụọ. Cheta: ọnụego nke mpempe akwụkwọ ziri ezi dị n'etiti ndị eweghachiri. Nkenkenke: ọnụego nke ihe eweghachiri dị mkpa. Ịbawanye k na-abawanye ncheta mana ọ na-ebelata nkenke. Ebumnobi bụ iji dozie ha abụọ.

elu-k

Mmetụta

adabara ọnọdụ

1-3

Oke nkenke, ihe ize ndụ nke ịgbaghara

Ajụjụ dị mfe, otu azịza

4-8

Nhazi; ọtụtụ ndapụta

Ụlọ ọrụ General RAG

10-20

Ncheta dị elu, mkpọtụ na-abawanye

Site na ọkwa ọzọ (n'okpuru)

NDỤMỌDỤ: Ụkpụrụ a na-ahụkarị na nke siri ike: weta obosara (k=20), wee gbachie ya na ọkwa ọzọ (n'elu 4). N'ụzọ dị otú a, ị gaghị atụ uche ihe ọ bụla na ị na-enye dị ọcha ọnọdụ na nlereanya.

Ọchụchọ ngwakọ: Ike nke ọchụchọ abụọ

Semantic (vector) search weghara ihe ọ pụtara mana ọ na-efunahụ ihe: koodu ngwaahịa zuru oke ("XR-4471"), mkpirisi obere, aha kwesịrị ekwesị, nọmba ụdị. Maka ọrụ ndị a dabara adaba, ịchọ isiokwu ụlọ akwụkwọ ochie—karịsịa algọridim kpochapụrụ akpọrọ BM25—dị ezigbo mma.

Ọchịchọ ngwakọ na-ejikọta abụọ: ma nyocha semantic na isiokwu ọchụchọ na-arụ ọrụ, na-ejikọta nsonaazụ ya. Ya mere, na ajụjụ dị ka "Oge akwụkwọ ikike nke

A na-ejikarị RRF (Reciprocal Rank Fusion): egwu dị elu na ndepụta abụọ a na-abịa n'ihu.

# Nnweta ngwakọ (conceptual)sem = vector_search(ajụjụ, k=20) # meaningkey = bm25_search(ajụjụ, k=20) # fullwordresult = rrf_merge(sem, igodo)[:8] # fuse ha abụọ, n'elu 8

Re-ọkwa: Nke abụọ na Smarter Pass

Oku nke mbụ nwere ike ịdị ngwa mana enweghị mkparị. Nhazigharị akara ndị na-eme ntuli aka weghachiri site na nchọ nke mbụ n'otu n'otu nwere ụdị ike dị ike karị (na-abụkarị ihe ntinye ederede - ihe atụ nke na-agụ ajụjụ ahụ na akụkụ ahụ ọnụ ma na-atụle mkpa ya) na-ebuga ndị kachasị mkpa n'elu.

Echiche bụ nke a: ọchụchọ mbụ na-ekenye ọnụ ọgụgụ buru ibu nke ndị na-aga ime ncheta (20 ndị na-aga ime), onye na-emeghachi ya na-ahọrọ 4 kacha mma maka nkenke. Ụzọ ụzọ abụọ a ziri ezi karịa nyocha otu ọkwa. Ọ na-efu ụfọdụ igbu oge na nhazi ọzọ; Uru bụ mmụba dị ịrịba ama na àgwà.

# Mweghachi nke ọkwa abụọ (echiche) ndị Candidates = ngwakọ_search (ajụjụ, k=20) # sara mbara, quickscore = reranker.score(ajụjụ, ndị na-eme ntuli aka) # akara dị mkpa maka ọnọdụ onye ọ bụla n'ọzọ = rated.rank ()[:4] # top 4

Na-agbanwe ajụjụ ahụ

Mgbe ụfọdụ, nsogbu adịghị na nchọta, ma na ajụjụ n'onwe ya. Ọ bụrụ na onye ọrụ jụrụ "Gịnị gbasara ndị ọrụ ime obodo?" ', nke a enweghị ike ịchọ naanị ya (o dochaghị anya ihe bụ maka ndị ọrụ dịpụrụ adịpụ). Nke a bụ usoro mgbanwe ajụjụ:

  • Degharịa: Jiri akụkọ mkparịta ụka mee ka ajụjụ a guzoro naanị: "Gịnị bụ ndị ọrụ dịpụrụ adịpụ nwere ikike ị nweta ezumike kwa afọ?"
  • Ọtụtụ ajụjụ: Mepụta okwu atọ dị iche iche nke otu ajụjụ, jiri ha niile chọọ ya, jikọta nsonaazụ ya. Okwu dị iche iche na-achọta iberibe dị iche iche.
  • HyDE (Embeddings Akwụkwọ Amụma): Buru ụzọ bipụta “ọzịza enwere ike” na ihe nlereanya ahụ, tinyezie wee chọọ azịza echiche ahụ. A na-achọta azịza echiche efu mgbe ụfọdụ n'ihi na ọ dị nso n'okwu na ezigbo akwụkwọ.

# Multi-query (conceptual)variants = model.uret("Kwupụta ajụjụ a n'ụzọ atọ dị iche iche:" + ajụjụ)tum_sonuc = [] maka v na variants: all_sonuc += vector_intermediate(v, k=6)context = singular_and_order(tum_result)[:6]

Nweghachi adịghị ike / Nnweta siri ike

Adịghị ike (otu ọkwa, semantics naanị, k=3 mgbe niile):

nsonaazụ = vector_search(ajụjụ, k=3)# Nsogbu: koodu ngwaahịa agbagharala, enweghị ike itinye akụkụ 3 ziri ezi na ajụjụ siri ike.

Dị ike (ngwakọ + widek + re-ọkwa + ọtụtụ ajụjụ ma ọ bụrụ na ọ dị mkpa):

Ndị na-eme ntuli aka = hybrid_search (degharịa (ajụjụ, gara aga), k=20) Context = reranker.score (ajụjụ, ndị na-eme ntuli aka) .first (4) # A na-ejide ma egwuregwu kpọmkwem na ihe ọ pụtara; Ọ na-aga na ụdị 4 kacha mma.

Obere obere atọ

Ikpe 1 - koodu ngwaahịa gbapụrụ. Nchọgharị semantic dị ọcha na otu nkwado enweghị ike ịhụ "RTX-9080" verbatim n'ajụjụ "RTX-9080 ọkwọ ụgbọala"; Ọ na-eweta ngwaahịa ndị ọzọ nwere aha ndị yiri ya. Mgbe agbakwunyere ngwakọ nchọta, koodu dakọtara kpọmkwem mere yana ọnụego nke iweghachi akụkọ ziri ezi mụbara site na 58% ruo 92%.

Ikpe 2 — Re-ọkwa dị iche. Onye ọka iwu na-arụ ọrụ na k=5 mana ihe ziri ezi bụ 7-10 ọtụtụ oge. Ọ nọ n'ọkwa. Mgbe e webatara k=20 + re-ranking, ọnụego nke akụkọ ziri ezi dị na 3 kacha elu mụbara site na 61% ruo 94%; Latency mụbara site na naanị 300ms - nkwekọrịta a na-anabata.

Ikpe 3 - Ajuju na-esochi na-enweghị ọnọdụ. N'ime onye enyemaka HR, onye ọrụ na-ajụ "gịnị maka ndị na-ewepụta oge?" Mgbe m jụrụ, usoro ahụ wetara akụkụ ndị na-adịghị mkpa. Site n'ịdegharị ajụjụ a (wepụta ọnọdụ "nkwụsị kwa afọ" site n'oge gara aga na ịgbakwunye "Ndị ọrụ nwa oge nwere ikike ezumike kwa afọ"), ọnụego azịza ziri ezi mụbara site na 40% ruo 86%.

Mmejọ ndị nkịtị

  • Ịdabere naanị na nchọgharị ọmụmụ ihe: Koodu ngwaahịa, ndebiri, aha kwesịrị ekwesị na-efunahụ; Tinye ngwakọ.
  • Idebe k obere: Mpempe ziri ezi enweghị ike ịbanye na listi; mee ka ọ obosara na warara ya na re-ọkwa.
  • Echela echiche banyere re-ranking: Mbụ search bụ mkparị; Nke abụọ smart ngafe budata mma mma.
  • Ịchọ ajụjụ ndị na-esochi dị ka bụ: Ajụjụ na-enweghị ihe ọ bụla na-achọ ihe na-abaghị uru; degharịa.
  • Na-amụba kpuru ìsì k (na-enweghị ọkwa ọzọ): Ụdị ahụ jupụtara na mkpọtụ, nzaghachi na-agbagọ na ọnụ ahịa na-abawanye.
Kpachara anya: Usoro ọ bụla na-agbakwụnye ọnụ ahịa na igbu oge. Ọtụtụ ajụjụ pụtara ọchụchọ ugboro atọ, re-ọkwa pụtara oku nlereanya agbakwunyere. Malite na ngwakọ dị mfe + ezi uche k mbụ; Tụọ ma gbakwunye usoro dị arọ ebe achọrọ n'ezie. Na-agbakwụnye na-enweghị atụ.

Na nchịkọta

  • Top-k bụ nguzozi n'etiti icheta na nkenke; N'ozuzu, 4-8 bụ mmalite dị mma.
  • Nchọ ngwakọ na-ejikọta ọchụchọ semantic na ọchụchọ isiokwu (BM25); Na-eweghachite ezigbo ọkụ.
  • Nhazigharị ọzọ na-enye ndị chọrọ ntuli aka site na nchọta izizi sara mbara jiri ụdị siri ike wee họrọ ndị kacha mma.
  • Mgbanwe ajụjụ (ịdegharị, ọtụtụ ajụjụ, HyDE) na-eme ka enwere ike ịchọ ajụjụ siri ike na enweghị ọnọdụ.
  • Ụkpụrụ siri ike: kpọbatara sara mbara → jikọta ya na ngwakọ → warara na ọkwa ọzọ; ma tinye usoro ọ bụla site na ịlele ya.

Ọrụ ngwa

Kwadebe ajụjụ siri ike 6 na data sitere na nkeji gara aga: opekata mpe 2 chọrọ ezigbo egwuregwu (koodu ngwaahịa, ndebiri, ụbọchị), semantic 2 (otu isiokwu nwere okwu dị iche iche), ajụjụ 2 na-esochi na-enweghị ọnọdụ. (1) Buru ụzọ chee ajụjụ nke ọ bụla dị ka nchọgharị semantic dị ọcha wee jiri aka gị kaa akụkụ nke ga-apụta. (2) Tugharia otu ajụjụ ahụ site na ngwakọ na ọkwa ọzọ agbakwunyere. (3) Degharịa ajụjụ ndị na-esochi n'enweghị ihe gbara ya gburugburu. Mara n'ụdị tabular nke usoro na-eme ka a dị iche na nke ụdị ajụjụ.

ndetu

  • [] Amaara m na top-k bụ nguzozi nleba anya nke ọma na ebe mmalite nwere ezi uche.
  • [] Enwere m ike ịkọwa ihe kpatara nchọ ngwakọ na-eweghachite ezigbo egwuregwu.
  • [] Enwere m ike itinye mgbagha ụzọ abụọ nke nhazigharị (broad → smart warrow).
  • [ ] Aghọtara m mkpa ọ dị idegharị ajụjụ ndị na-esochi n'enweghị ihe gbara ya gburugburu.
  • [] Ana m akwado na m gbakwunyere usoro dị arọ site na nha, ọ bụghị site na nha.