Nkeji 2 / 11

Ntinye na Vector Database Logic

Uru:

  • Ghọta na ntinye na-atụgharị ederede ka ọ bụrụ vector na oghere ọmụmụ na ihe ndị yiri ya bụ vectors nso.
  • N'ịkọwa ka ọchụchọ ANN si arụ ọrụ na metric cosine na ntụpọ
  • Ịhọrọ ọdụ data vector nkịtị dabere na ọnụ ahịa, ọnụ ọgụgụ na mkpa maka nzacha metadata

N'ime obi RAG bụ otu ajụjụ: "Olee akụkụ ederede kacha yie ajụjụ onye ọrụ?" Kọmputa ahụ na-eji ọnụọgụ na-ahazi ederede, ọ bụghị n'ụzọ nkịtị. Ya mere anyị kwesịrị ibu ụzọ tụgharịa ederede ka ọ bụrụ ọnụọgụ na-ebu ihe ọ pụtara. Nke ahụ bụ ihe ntinye bụ: usoro ịtụgharị ederede ka ọ bụrụ usoro ọnụọgụgụ (vector) nke na-anọchi anya ihe ederede ahụ pụtara. Mgbe ịmechara nkeji a, ị ga-ama ka ntinye n'ọrụ si arụ ọrụ, ka esi atụ myirịta, yana otu esi ahọrọ nchekwa data vector ziri ezi.

Ntinye: Ịtụgharị Pụtara ka ọ bụrụ Nhazi

Ihe nrụnye agbakwunyere (ọgụgụ isi ihe a zụrụ nke ọma) na-atụgharị ederede ị nyere ka ọ bụrụ vector nke, ọmụmaatụ, nọmba 1024. Chee echiche banyere vector a dị ka nhazi na oghere multidimensional. Anwansi bụ nke a: ederede ndị yiri ya pụtara na-adaba na nhazi nso na oghere a.

Ihe atụ dị mfe: "nkwụsị kwa afọ", "ikike ezumike" na "nkwụsị ụgwọ a na-akwụ kwa afọ" na-eji okwu dị iche iche eme ihe ma ọ pụtara otu ihe - vectors ha nọ ibe ha nso. "Akaụntụ ịkwụ ụgwọ" bụ ihe dị iche - vector ya dị anya. Ya mere, onye ọrụ na-ajụ "ụbọchị ezumike ole ka m nwere?" Mgbe ị na-ajụ, anyị nwere ike ịchọta akwụkwọ na-enweghị okwu "ezumike" mana ọ na-ekwu "nkwụsị kwa afọ bụ ụbọchị iri na anọ". Nke a bụ ihe nchọta isiokwu kpochapụrụ (nchọta dabara na okwu ahụ kpọmkwem) enweghị ike ime.

NDỤMỌDỤ: Chee echiche banyere itinye ya ka “akara mkpisiaka nke pụtara.” Mkpisi aka nke ahịrịokwu abụọ nwere otu ihe pụtara otu; Ọ bụrụgodị na okwu ndị ahụ dị iche.

Iwu dị mkpa: ụdị ị na-eji mgbe ị na-etinye ajụjụ kwesịrị ịbụ otu ihe nlereanya ị na-eji mgbe ị na-etinye akwụkwọ. Ụdị dị iche iche na-emepụta oghere dị iche iche; nhazi na-aghọ enweghị atụ.

Kedu ka esi atụ myiri?

Enwere ụzọ dị iche iche iji tụọ ka vector abụọ si yie. Nke a na-ahụkarị bụ myirịta cosine: ọ na-atụ akụkụ n'etiti vector abụọ. Ọ bụrụ na akụkụ ahụ dị ntakịrị (vectors na-atụ aka n'otu ntụziaka ahụ), ihe yiri ya dị elu. Uru dị n'etiti -1 na 1; nso 1 = yiri nnọọ.

akara

Gịnị ka ọ tụrụ?

Kedu mgbe a na-ahọrọ ya?

Cosine

Akụkụ (ntụziaka) n'etiti vectors

Nke kachasị; ndabara na myirịta semantic ederede

Ngwaahịa ntụpọ

Ntuziaka + ịdị ukwuu ọnụ

Ọ bụrụ na vectors na-edozi ahụ, ọ na-enye otu ihe ahụ dị ka cosine; bụ ngwa ngwa

Euclidean (anya euclidean)

Ebe kwụ ọtọ n'etiti nhazi

N'ụfọdụ ndapụta mkpokọta; ejighị ya mee ihe na ederede

Na omume, ọtụtụ ụdị ntinye na-emepụta vectors nkịtị (nha setịpụrụ na 1); N'okwu a, ngwaahịa cosine na ntụpọ na-enye otu usoro. Adịla ka mkpebi kpọnwụrụ akpọnwụ: malite na cosine.

N'ime ọtụtụ nde vectors, iji ha atụnyere otu otu n'otu oge adịghị egbu oge. Ọ bụ ya mere ọdụ data vector ji eji algọridim ANN (Ihe dị nso nso agbata obi). ANN na-achọta "ihe fọrọ nke nta ka ọ bụrụ kpọmkwem" karịa "kpọmkwem kacha nso" ngwa ngwa. Dịka ọmụmaatụ, usoro a na-akpọ HNSW nwere ike weghachite nsonaazụ na milliseconds ole na ole ọbụna maka nde vector 10. Ị na-enweta nnukwu ọsọ maka obere àjà ziri ezi.

Kedu ihe Vector Database na-eme?

Ebe nchekwa data vector na-eme ihe atọ n'otu oge: (1) na-echekwa vectors, (2) na-achọpụta ngwa ngwa vector dị ka vector ajụjụ, (3) na-enyocha site na metadata n'akụkụ vector ọ bụla. Metadata bụ mkpado ị na-etinye na ibe ahụ: faịlụ isi mmalite, ụbọchị, ngalaba, ọkwa nzuzo, wdg. Metadata nzacha dị oke mkpa na ụlọ ọrụ RAG; n'ihi na ị ga-enwe ike ịtọ ihe mgbochi dịka "chọọ naanị na akwụkwọ 2025 nke ngalaba ego".

# Debanye aha na nchekwa data vector (conceptual) vektor_db.add( id="izin-politikasi-parca-3", vektor=embed("ụbọchị ezumike a na-akwụ ụgwọ kwa afọ bụ ụbọchị iri na anọ..."),text="Ụbọchị akwụ ụgwọ kwa afọ bụ ụbọchị iri na anọ." "privacy": "ic"})

# Metadata filtered search (conceptual)result = vektor_db.search( vektor=embed("ụbọchị ezumike ole ka m nwere?"), top_k=4, filter={" ngalaba": "HR", "nzuzo": ["ime", "na"]})

Ịhọrọ ọdụ data ziri ezi

ugbo ala

Akụkụ egosipụtara

Ọnọdụ dabara adaba

Ewunyere / dabere na faịlụ (ọbá akwụkwọ agbakwunyere)

Enweghị nrụnye, otu igwe

Prototype, obere ngwa (<obere narị puku akụkụ)

Ọrụ igwe ojii jisiri ike

Ịkwalite na mmezi abụghị ọrụ gị

Mmepụta, data na-eto ngwa ngwa, obere otu

Mepee isi iyi na sava nke gị

Njikwa zuru oke, data gị ga-abụ nke gị

Ọrụ nzuzo, akụrụngwa dị adị

Mgbakwunye na nchekwa data dị

Ị naghị ejikwa sistemu dị iche iche

Na-agbakwụnye nkwado vector na DB ị na-ejibu

Jụọ mgbe ị na-ahọrọ: Iberibe ole ka a ga-enwe? Kedu ka nzacha metadata siri dị mkpa? Nwere ike data ịpụ n'èzí ụlọ ọrụ (nzuzo)? Ndị otu a nwere ike rụọ akụrụngwa? Ọ na-abụkarị ihe amamihe dị na ya ịmalite obere ma gbasaa ka ọ dị mkpa.

Ụzọ adịghị ike / Ụzọ siri ike

Adịghị ike (na-echekwa ntinye larịị, enweghị metadata):

Naanị chekwaa ederede na vector. Chọọ: weghachi vector 4 kachasị yiri ya. # Nsogbu: enweghị ike nzacha dị ka "naanị ugbu a HR docs"; # akụkụ ochie/enwetaghị ikike nwekwara ike ịgụnye na nzaghachi.

Dị ike (metadata bara ụba + ọchụchọ akọrọ):

Tinye isi mmalite, ụbọchị, ngalaba na mkpado nzuzo na ibe ọ bụla. Filter dị ka ikike onye ọrụ si dị na ihe dị ugbu a n'oge nchọta: filter = {"privacy": user_authority, "date_date": "2024-01"}# Ya mere, nsonaazụ ya bụ ma nchekwa na nke ọhụrụ.

Obere obere atọ

Ikpe 1 - Ngwakọta ụdị ezighi ezi. Otu agbakwunyere akwụkwọ nwere ụdị A na ajụjụ nwere ụdị B. Nchọgharị ahụ weghachiri arụpụtaghị ihe na-enweghị isi, ọnụego azịza ziri ezi dị na 31%. Mgbe m gbanwere na otu ụdị (ma otu ụdị ntinye ihe), ọnụego ahụ gbagoro na 88%. Ihe nkuzi: ajụjụ na akwụkwọ kwesịrị ịdị n'otu oghere.

Ikpe 2 - Ihe egwu nzuzo na-enweghị metadata. Na ụlọ ọrụ ahụike, a tụbara akwụkwọ ngalaba niile n'otu ọdọ mmiri na-enweghị metadata. Mgbe onye na-ere ahịa jụrụ ajụjụ, usoro ahụ na-akọwapụta otu mpempe data onye ọrịa. Mgbe agbakwunyere metadata + nzacha (dị ka ọkwa ikike), ewepụrụ ihe egwu a; Na iweghachite, a naghị ebute iberibe iri na abụọ na-akwadoghị ma ọlị.

Ikpe nke 3 - Mkpịsị aka nke ọnụ ọgụgụ. Otu ụlọ ọrụ e-azụmahịa nyochara nkọwa ngwaahịa nde 8 na usoro “nyocha niile” dị mfe; Ajụjụ ọ bụla were sekọnd isii. Mgbe anyị tụgharịrị na ANN dabere na HNSW, oge ahụ gbadara ruo milliseconds 45, yana naanị 1% mfu na izi ezi. Ihe nkuzi: ANN bụ iwu na nnukwu nhazi.

Mmejọ ndị nkịtị

  • Ịtinye ajụjụ na akwụkwọ na ụdị dị iche iche: Nsonaazụ enweghị isi; mgbe niile otu ihe nlereanya.
  • Ịwụfe metadata: Ị nweghị ike iyo; Ị na-atụfu njikwa nzuzo na ime ihe ọhụrụ.
  • Ntinye na-ezighi ezi maka izo ya ezo: Ntinye na-ebu ozi nwere ike ịtụgharị; Ọ dị njọ iche na data nwere mmetụta "ezoro ezo".
  • Ime nnukwu akụrụngwa na-enweghị isi na obere setịpụ: nnukwu ụyọkọ ejiri maka akụkụ 5,000 bụ mgbagwoju anya na-enweghị isi.
  • Echegbula onwe gị nke ukwuu maka njiri myirịta: Malite na cosine na ederede; Ndozigharị ọma na-abịa ma emechaa.
Ịkpachara anya: Ntinye na-etinye ihe ederede pụtara na ọnụọgụ, mana ọ dịghị "emebi" ọdịnaya. Ọ bụrụ na ewepụrụ nchekwa data vector, a na-emebikwa ederede ederede mbụ echekwara (n'ọtụtụ nrụnye a na-echekwa ederede). Debe ebe nchekwa vector dị ka ihe nzuzo dịka akwụkwọ dị n'ime ya.

Na nchịkọta

  • Ntinye na-atụgharị ederede ka ọ bụrụ vector nke ọnụọgụ na-ebu ihe ọ pụtara; Ihe ndị yiri ya bụ vectors nso.
  • A na-atụkarị myiri site na cosine; Maka vector nkịtị, ngwaahịa ntụpọ na-enye otu nsonaazụ ahụ.
  • Na nnukwu data, ANN (dịka, HNSW) na-anọchi anya nchọta ziri ezi: nnukwu ọsọ na obere àjà nke izi ezi.
  • Ebe nchekwa data vector na-arụ nchekwa vector + ọchụchọ myirịta + metadata nzacha; metadata dị mkpa maka ụlọ ọrụ RAG.
  • A ghaghị ịsụgharị ajụjụ na akwụkwọ ahụ na otu ụdị ntinye; ma ọ bụghị ya, enweghị ike ijikọta nhazi.

Ọrụ ngwa

Wepụ akụkụ 10 dị mkpirikpi (ahịrịokwu 3-6 nke ọ bụla) na akwụkwọ ị họọrọ na nkeji gara aga. (1) Chepụta ma ọ dịkarịa ala mkpado metadata atọ maka ibe ọ bụla (isi iyi, ụbọchị, na nke atọ dabara adaba na ọnọdụ azụmahịa gị: ngalaba, ngwaahịa, nzuzo, wdg). (2) Dee ihe nzacha metadata kwesịrị itinye maka ajụjụ ndị ọrụ atọ dị iche iche. (3) Chọta ụzọ abụọ-ajụjụ 3 nke na-egosipụta otu ihe pụtara n'okwu dị iche iche (dịka "ikike ezumike" ↔ "nkwụsị kwa afọ") wee kọwaa n'otu ahịrịokwu ihe kpatara na ha agaghị adaba na ọchụchọ isiokwu mana ha ga-adakọ na ntinye.

ndetu

  • [] Enwere m ike ịsị na ntinye na-atụgharị ederede ka ọ bụrụ vector na oghere semantic na nkọwa ndị yiri ya dị nso.
  • Amaara m na [ ] Cosine myirịta na-atụ akụkụ na ọ bụ mmasị ndabara na ederede.
  • [] Enwere m ike ịkọwa ihe kpatara ANN ji dị mkpa na nnukwu data.
  • [] Amaara m ihe kpatara metadata ji dị mkpa maka nzuzo na njikwa ọhụrụ.
  • [ ] Ana m agbaso iwu ịtụgharị ajụjụ na akwụkwọ ahụ nwere otu ụdị ntinye.