Ce înseamnă Bază de date vectorială
O bază de date vectorială stochează vectori (embedding-uri), adică liste de numere care reprezintă sensul unor texte, imagini sau sunete, și poate găsi foarte repede vectorii cei mai apropiați de unul dat. Cu alte cuvinte, răspunde la întrebarea: „Ce documente au sensul cel mai apropiat de această întrebare?”
O bază de date clasică, precum MySQL, caută potriviri exacte: produsele sub 100 de lei sau clienții din Cluj. O bază de date vectorială caută după asemănare. Este piesa centrală a sistemelor RAG, a căutării semantice și a multor sisteme de recomandare.
Exemple cunoscute sunt Pinecone, Weaviate, Milvus, Qdrant și Chroma. Există și extensii care adaugă căutarea vectorială în baze de date obișnuite, precum pgvector pentru PostgreSQL.
Cum funcționează
Fiecare document este împărțit în fragmente, iar pentru fiecare fragment se calculează un embedding, salvat împreună cu textul și cu alte informații (titlu, dată, autor). La o căutare, întrebarea este transformată și ea în vector, iar baza de date întoarce fragmentele cu vectorii cei mai apropiați.
Compararea întrebării cu fiecare vector în parte ar fi prea lentă pentru milioane de documente. De aceea se folosesc indecși de căutare aproximativă a celor mai apropiați vecini (ANN), precum HNSW, care găsesc în milisecunde rezultate foarte bune, chiar dacă nu garantat perfecte.
Pe înțelesul tuturor
O bibliotecă obișnuită așază cărțile alfabetic, după titlu: ca să găsești ceva, trebuie să știi exact numele. O bază de date vectorială seamănă cu un bibliotecar care a așezat cărțile după subiect și atmosferă: îi spui „ceva despre călătorii pe mare, cu aventură” și te duce direct la raftul potrivit.
Exemplu
O firmă de software cu 5.000 de articole de documentație calculează embedding-uri pentru fiecare paragraf și le pune într-o bază de date vectorială. Când un client întreabă „de ce nu pot exporta raportul în PDF?”, sistemul găsește în câteva milisecunde cele mai relevante paragrafe, chiar dacă ele vorbesc despre „descărcarea rapoartelor” și nu folosesc cuvântul „export”.
De reținut
- O bază de date vectorială stochează embedding-uri și caută după asemănarea de sens.
- Folosește indecși speciali (ANN) ca să caute rapid în milioane de vectori.
- Este o componentă de bază în RAG și în căutarea semantică.
Nu confunda
- Bază de date vectorială vs. bază de date relațională: cea relațională (MySQL, PostgreSQL) lucrează cu tabele și potriviri exacte; cea vectorială, cu asemănări. Multe aplicații le folosesc pe amândouă.
- Bază de date vectorială vs. model AI: baza de date doar stochează și caută vectorii; embedding-urile sunt produse de un model separat.
Termeni înrudiți
- Embedding: Transformarea unui text, a unei imagini sau a unui sunet într-o listă de numere care îi surprinde sensul; lucrurile asemănătoare ajung apropiate.
- Căutare semantică: Căutare care înțelege sensul întrebării, nu doar cuvintele ei, și găsește rezultate relevante chiar dacă folosesc alte cuvinte.
- RAG (generare augmentată prin căutare): Tehnica prin care un model de limbaj caută întâi informații relevante în documente sau pe internet și abia apoi răspunde, pe baza lor.
- LLM (model lingvistic mare): Model AI antrenat pe cantități uriașe de text, care înțelege și generează limbaj; stă în spatele ChatGPT, Claude sau Gemini.
- Sistem de recomandare: Algoritm care îți propune produse, filme, melodii sau postări pe baza a ce ai făcut tu și a ce au ales oameni asemănători cu tine.