Vektor soektog (semantiese soektog)
Vinige definisie
Vektor soektog is 'n herwinningsmetode wat die items teruggee waarvan die inbeddings die naaste aan die navraag se inbedding is, sodat resultate ooreenstem op grond van betekenis eerder as op gedeelde sleutelwoorde. Dit is die gewone enjin van semantiese soektog.
Op hierdie bladsy
Hoe vektor soektog werk
Elke dokument, gedeelte of produk word in 'n inbedding omgeskakel en in 'n indeks gestoor. Tydens die navraag word die vraag met dieselfde model ingebed, en die indeks keer die naaste vektore terug, gewoonlik gemeet deur kosinus-similariteit. 'n Kliënt wat vra “iets warm vir ski” kan 'n baadjie vind wat beskryf word as “geïsoleerde, waterdigte winterdop” al is daar geen woord wat ooreenstem nie.
Om 'n navraag met miljoene vektore een vir een te vergelyk, sou stadig wees, so indekse gebruik benaderde naaste-buur algoritmes. HNSW, 'n gelaagde grafiek wat deur Malkov en Yashunin in 2016 beskryf is, is een van die mees gebruikte; dit ruil 'n klein verlies aan akkuraatheid vir baie vinnige soektog. Open-source uitbreidings soos pgvector bring hierdie indekse na PostgreSQL.
Semantiese soektog vs sleutelwoord soektog
Sleutelwoord soektog (BM25, volle teks, trigram ooreenstemming) is presies op presiese terme: 'n produkverwysing, 'n handelsmerk, 'n foutkode. Dit faal op sinonieme en parafrases. Vektor soektog is die omgekeerde: sterk op betekenis, swak op presiese stringe en seldsame identifiseerders.
Dit is waarom die meeste produksiesisteme hibriede soektog gebruik: voer albei uit, en dan meng of her-rangskik die resultate. Digte herwinningsnavorsing soos Karpukhin en kollegas se 2020 werk oor vraagbeantwoording het getoon hoe baie semantiese herwinning die herroeping verbeter, en praktisyns het sedertdien geleer hoe baie dit steeds baat vind by 'n sleutelwoordvennoot.
Gevare
Vektorsoek lewer altyd iets terug, selfs wanneer daar niks relevant is nie, so 'n stelsel benodig 'n relevansiedrempel of 'n kontrole voordat die resultate gebruik word. Dit verstaan nie nommers of beperkings nie: “onder 50 euro, in voorraad, grootte M” benodig werklike filters op gestructureerde data. En kwaliteit hang af van hoe inhoud gesplit is: gedeeltes wat te lank is, vervaag die betekenis, gedeeltes wat te kort is, verloor konteks.
Vektorsoek in AI SmartTalk
AI SmartTalk stoor inbedings in PostgreSQL met pgvector, met 'n HNSW-indeks op produkdokumente, en kombineer vektorsimilariteit met trigram en volle teks soektog. Vir produkte voeg die assistent se soekgereedskap gestructureerde filters op prys, voorraad, handelsmerk, kategorie en variasie-attribuut toe, sodat 'n semantiese vraag en 'n presiese beperking saam beantwoord kan word.
Gereelde vrae
Is semantiese soek dieselfde as vektorsoek?
Semantiese soek is die doel — om resultate op betekenis te vind. Vektorsoek oor inbedings is die mees algemene manier om dit te bereik, dikwels gekombineer met sleutelwoordsoek.
Het ek 'n toegewyde vektordatabasis nodig?
Nie noodwendig nie. Uitbreidings soos pgvector voeg vektorindekse by PostgreSQL, wat genoeg is vir baie toepassings en hou vektore langs die res van die data.
Wat is hibriede soek?
‘n Soek wat vektorsoek en sleutelwoordsoek saam uitvoer en die resultate saamvoeg, sodat dit beide parafraserende vrae en presiese terme soos produkverwysings kan hanteer.