Vektor søk (semantisk søk)
Rask definisjon
Vektor søk er en hentemetode som returnerer elementene hvis innebygginger er nærmest forespørselens innebygging, slik at resultater samsvarer etter mening i stedet for delte nøkkelord. Det er den vanlige motoren for semantisk søk.
På denne siden
Hvordan vektor søk fungerer
Hvert dokument, passasje eller produkt blir gjort om til en innebygging og lagret i en indeks. Ved forespørselstidspunktet blir spørsmålet innebygd med den samme modellen, og indeksen returnerer de nærmeste vektorene, vanligvis målt ved cosinuslikhet. En kunde som spør "noe varmt for ski" kan finne en jakke beskrevet som "isolert, vanntett vinterjakke" selv om ingen ord samsvarer.
Å sammenligne en forespørsel med millioner av vektorer én etter én ville vært tregt, så indekser bruker omtrentlige nærmeste-nabo algoritmer. HNSW, en lagdelt graf beskrevet av Malkov og Yashunin i 2016, er en av de mest brukte; den bytter en liten tap av nøyaktighet for veldig rask søk. Åpen kildekode-utvidelser som pgvector bringer disse indeksene til PostgreSQL.
Semantisk søk vs nøkkelord søk
Nøkkelord søk (BM25, fulltekst, trigram matching) er presist på nøyaktige termer: en produktreferanse, et merke, en feilkode. Det feiler på synonymer og parafraser. Vektor søk er det motsatte: sterkt på mening, svakt på eksakte strenger og sjeldne identifikatorer.
Det er derfor de fleste produksjonssystemer bruker hybrid søk: kjør begge, så slå sammen eller omrangere resultatene. Tett henting forskning som Karpukhin og kollegers arbeid fra 2020 om spørsmålssvar viste hvor mye semantisk henting forbedrer tilbakekalling, og praktikere har siden lært hvor mye det fortsatt drar nytte av en nøkkelordpartner.
Fallgruver
Vektor søk returnerer alltid noe, selv når ingenting relevant eksisterer, så et system trenger en relevansgrense eller en sjekk før det bruker resultatene. Det forstår ikke tall eller begrensninger: “under 50 euro, på lager, størrelse M” trenger ekte filtre på strukturerte data. Og kvaliteten avhenger av hvordan innholdet ble delt: passasjer som er for lange uklargjør meningen, passasjer som er for korte mister konteksten.
Vektor søk i AI SmartTalk
AI SmartTalk lagrer embeddings i PostgreSQL med pgvector, med en HNSW-indeks på produkt dokumenter, og kombinerer vektor likhet med trigram og fulltekst søk. For produkter legger assistentens søkeverktøy til strukturerte filtre på pris, lager, merke, kategori og variant attributter, slik at et semantisk spørsmål og en presis begrensning kan besvares sammen.
Ofte stilte spørsmål
Er semantisk søk det samme som vektor søk?
Semantisk søk er målet — å finne resultater etter mening. Vektor søk over embeddings er den vanligste måten å oppnå det på, ofte kombinert med nøkkelord søk.
Trenger jeg en dedikert vektor database?
Ikke nødvendigvis. Utvidelser som pgvector legger til vektor indekser til PostgreSQL, noe som er tilstrekkelig for mange applikasjoner og holder vektorer ved siden av resten av dataene.
Hva er hybrid søk?
Et søk som kjører vektor søk og nøkkelord søk sammen og slår sammen resultatene, slik at det håndterer både omskrevne spørsmål og nøyaktige termer som produktreferanser.