Utafutaji wa vector (utafutaji wa maana)
Ufafanuzi wa haraka
Utafutaji wa vector ni njia ya utafutaji inayorejesha vitu ambavyo embeddings zake ziko karibu zaidi na embedding ya swali, hivyo matokeo yanalingana kwa maana badala ya kwa maneno muhimu yanayoshirikiwa. Ndio injini ya kawaida ya utafutaji wa maana.
Katika ukurasa huu
Jinsi utafutaji wa vector unavyofanya kazi
Kila hati, kifungu au bidhaa inageuzwa kuwa embedding na kuhifadhiwa katika index. Wakati wa kuuliza, swali linaingizwa na mfano sawa, na index inarudisha vectors za karibu zaidi, kawaida hupimwa kwa ulinganisho wa cosine. Mteja anayesema "kitu cha joto kwa ajili ya skiing" anaweza kupata koti lililoelezewa kama "lililofungwa, lisilopitisha maji la majira ya baridi" ingawa hakuna neno linalolingana.
Kulinganisha swali na mamilioni ya vectors moja kwa moja ingekuwa polepole, hivyo indexes hutumia algorithms za jirani wa karibu wa makadirio. HNSW, grafu iliyopangwa iliyoelezewa na Malkov na Yashunin mnamo 2016, ni moja ya zinazotumika sana; inatoa hasara ndogo ya usahihi kwa utafutaji wa haraka sana. Miongezo ya chanzo wazi kama pgvector inaleta hizi indexes kwa PostgreSQL.
Utafutaji wa maana dhidi ya utafutaji wa maneno muhimu
Utafutaji wa maneno muhimu (BM25, maandiko kamili, ulinganisho wa trigram) ni sahihi kwa maneno halisi: rejeleo la bidhaa, chapa, msimbo wa kosa. Inashindwa kwa maneno ya maana sawa na paraphrase. Utafutaji wa vector ni kinyume: nguvu katika maana, dhaifu katika nyuzi halisi na vitambulisho nadra.
Ndio maana mifumo mingi ya uzalishaji hutumia utafutaji wa mchanganyiko: fanya zote mbili, kisha ungana au re-rank matokeo.
Mizigo
Utafutaji wa vector daima unarudisha kitu, hata wakati hakuna kitu kinachohusiana, hivyo mfumo unahitaji kigezo cha umuhimu au ukaguzi kabla ya kutumia matokeo. Haielewi nambari au vikwazo: “chini ya euro 50, katika hisa, ukubwa M” inahitaji filters halisi kwenye data iliyopangwa. Na ubora unategemea jinsi maudhui yalivyogawanywa: vipande vilivyo refu sana vinachanganya maana, vipande vilivyo fupi sana vinapoteza muktadha.
Utafutaji wa vector katika AI SmartTalk
AI SmartTalk inahifadhi embeddings katika PostgreSQL na pgvector, ikiwa na index ya HNSW kwenye hati za bidhaa, na inachanganya ufanisi wa vector na utafutaji wa trigram na maandiko kamili. Kwa bidhaa, chombo cha utafutaji cha msaidizi kinaongeza filters zilizopangwa kwenye bei, hisa, chapa, jamii na sifa za tofauti, ili swali la kisemantiki na kizuizi sahihi kiweze kujibiwa pamoja.
Maswali yanayoulizwa mara kwa mara
Je, utafutaji wa kisemantiki ni sawa na utafutaji wa vector?
Utafutaji wa kisemantiki ndio lengo — kupata matokeo kwa maana. Utafutaji wa vector juu ya embeddings ndio njia ya kawaida ya kufikia hilo, mara nyingi ukichanganywa na utafutaji wa maneno muhimu.
Je, nahitaji hifadhidata maalum ya vector?
Siyo lazima. Nyongeza kama pgvector zinaongeza index za vector kwenye PostgreSQL, ambayo inatosha kwa maombi mengi na kuweka vectors karibu na data nyingine.
Nini maana ya utafutaji wa mchanganyiko?
Utafutaji unaofanya utafutaji wa vector na utafutaji wa maneno muhimu pamoja na kuunganisha matokeo, ili kushughulikia maswali yaliyobadilishwa na maneno sahihi kama marejeo ya bidhaa.