vektorindeksstruktur
En datastruktur designet til at indeksere og effektivt søge i højdimensionelle vektorer, typisk anvendt til lighedssøgning.
Kort fortalt
En vektorindeksstruktur gør det muligt hurtigt at finde lignende vektorer i store samlinger, f.eks. når en RAG-model skal slå op i en videnbase.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En datastruktur der muliggør effektiv indeksering, lagring og søgning efter vektorer i højdimensionelle rum, typisk baseret på metrikker som euklidisk afstand eller cosinuslighed.
- FAISS er en populær open source-bibliotek til vektorindeksstrukturer. — FAISS documentation
- HNSW er en vektorindeksstruktur der bruger hierarkiske navigerbare små verdener. — Malkov & Yashunin, 2016
Hvornår bruges det
Vektorindeksstrukturer bruges i vektordatabaser, RAG-systemer og anbefalingssystemer for at understøtte hurtig nærmeste-nabosøgning. De er essentielle for skalering af semantisk søgning.
Kodeeksempel
import faiss
import numpy as np
dimension = 512
index = faiss.IndexFlatL2(dimension)
embeddings = np.random.random((1000, dimension)).astype('float32')
index.add(embeddings)
query = np.random.random((1, dimension)).astype('float32')
D, I = index.search(query, k=5)Oprettelse af en flad L2-indeks i FAISS, indsættelse af 1000 vektorer og søgning efter de 5 nærmeste.
Oprindelse
Sammensat af 'vektor', 'indeks' og 'struktur', fra engelsk 'vector index structure'.
Afledte ord
1Kilder
2- Billion-scale similarity search with GPUs
- Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs