Kërkimi me vektorë (kërkimi semantik)
Përkufizim i shpejtë
Kërkimi me vektorë është një metodë rikuperimi që kthen artikujt të cilët kanë embeddings më të afërta me embedding-un e pyetjes, kështu që rezultatet përputhen sipas kuptimit në vend të fjalëve kyçe të përbashkëta. Është motori i zakonshëm i kërkimit semantik.
Në këtë faqe
Si funksionon kërkimi me vektorë
Çdo dokument, kalim ose produkt kthehet në një embedding dhe ruhet në një indeks. Në kohën e pyetjes, pyetja embedding me të njëjtin model, dhe indeksi kthen vektorët më të afërt, zakonisht të matur nga ngjashmëria kosinore. Një klient që pyet "diçka të ngrohtë për skijim" mund të gjejë një xhaketë të përshkruar si "shell dimri i izoluar, i papërshkueshëm nga uji" edhe pse asnjë fjalë nuk përputhet.
Krahasimi i një pyetjeje me miliona vektorë një nga një do të ishte i ngadalshëm, kështu që indekset përdorin algoritme të afërta të fqinjëve të përafërt. HNSW, një grafik i shumëfishtë i përshkruar nga Malkov dhe Yashunin në 2016, është një nga më të përdorurat; ai tregton një humbje të vogël saktësie për një kërkim shumë të shpejtë. Zgjatjet me burim të hapur si pgvector sjellin këto indekse në PostgreSQL.
Kërkimi semantik vs kërkimi me fjalë kyçe
Kërkimi me fjalë kyçe (BM25, tekst i plotë, përputhja trigram) është i saktë për terma të saktë: një referencë produkti, një markë, një kod gabimi. Ai dështon në sinonime dhe parafraza. Kërkimi me vektorë është e kundërta: e fortë në kuptim, e dobët në vargje të sakta dhe identifikues të rrallë.
Kjo është arsyeja pse shumica e sistemeve të prodhimit përdorin kërkimin hibrid: ekzekutojnë të dyja, pastaj bashkojnë ose riorganizojnë rezultatet. Kërkimi i rikuperimit të dendur si puna e Karpukhin dhe kolegëve të tij në 2020 mbi përgjigjen e pyetjeve tregoi se sa shumë përmirëson rikuperimi semantik rikthimin, dhe praktikantët që atëherë kanë mësuar se sa shumë ende përfiton nga një partner me fjalë kyçe.
Rreziqet
Kërkimi me vektor gjithmonë kthen diçka, edhe kur nuk ka asgjë relevante, kështu që një sistem ka nevojë për një prag relevancës ose një kontroll para se të përdorë rezultatet. Ai nuk kupton numra ose kufizime: “nën 50 euro, në stok, madhësia M” kërkon filtra të vërtetë mbi të dhënat e strukturuara. Dhe cilësia varet nga si është ndarë përmbajtja: pasazhet që janë shumë të gjata zbehin kuptimin, pasazhet që janë shumë të shkurtra humbasin kontekstin.
Kërkimi me vektor në AI SmartTalk
AI SmartTalk ruan embedding në PostgreSQL me pgvector, me një indeks HNSW në dokumentet e produkteve, dhe kombinon ngjashmërinë e vektorëve me kërkimin trigram dhe kërkimin me tekst të plotë. Për produktet, mjeti i kërkimit të asistencës shton filtra të strukturuar mbi çmimin, stokun, markën, kategorinë dhe atributet e variantit, në mënyrë që një pyetje semantike dhe një kufizim i saktë të mund të përgjigjen së bashku.
Pyetjet më të shpeshta
A është kërkimi semantik i njëjtë me kërkimin me vektor?
Kërkimi semantik është qëllimi — gjetja e rezultateve sipas kuptimit. Kërkimi me vektor mbi embedding është mënyra më e zakonshme për ta arritur atë, shpesh e kombinuar me kërkimin me fjalë kyçe.
A kam nevojë për një bazë të dhënash të dedikuar për vektorët?
Jo domosdoshmërisht. Zgjerimet si pgvector shtojnë indekse vektorësh në PostgreSQL, që është mjaft për shumë aplikacione dhe mban vektorët pranë pjesës tjetër të të dhënave.
Çfarë është kërkimi hibrid?
Një kërkim që kryen kërkimin me vektor dhe kërkimin me fjalë kyçe së bashku dhe bashkon rezultatet, në mënyrë që të trajtojë si pyetje të parapara ashtu edhe terma të saktë si referencat e produkteve.