vector retrieval
Vectoretrieval er processen med at finde de mest relevante elementer i en vektordatabase ved at sammenligne en forespørgselsvektor med en samling af indlejrede vektorer.
Kort fortalt
Vector retrieval er en teknik til at søge efter information ved at bruge vektorer (tallister) i stedet for nøjagtige ordmatch, så man kan finde indhold med samme betydning.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
Metode til at finde dataobjekter, hvis vektorrepræsentationer ligger tæt på en forespørgselsvektor i et flerdimensionelt rum, typisk ved brug af approksimeret nærmeste-nabo-søgning.
- I RAG-pipelinen anvendes vector retrieval til at hente de mest relevante tekstuddrag fra en vektordatabase.
Hvornår bruges det
Vector retrieval anvendes ofte i RAG-systemer (Retrieval-Augmented Generation), hvor en stor sprogmodel henter relevante dokumenter fra en vektordatabase for at forbedre svar. Det bruges også i semantisk søgning, anbefalingssystemer og billedsøgning.
Kodeeksempel
import faiss
import numpy as np
dimension = 128
index = faiss.IndexFlatL2(dimension)
index.add(np.random.random((1000, dimension)).astype('float32'))
query = np.random.random((1, dimension)).astype('float32')
distances, indices = index.search(query, k=5)
print(indices)Simpelt eksempel på vector retrieval med FAISS: en flad L2-indeks oprettes, og der søges efter de 5 nærmeste naboer til en forespørgselsvektor.
Oprindelse
Termen er sammensat af 'vector' (vektor, i matematisk forstand) og 'retrieval' (genfinding), og stammer fra informationssøgning og maskinlæring.