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. 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

1

Kilder

2
  • Billion-scale similarity search with GPUs
  • Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs