Middle — Senior
Mis on HNSWlib ja kus seda kasutatakse?
sobes.tech AI
Vastus AI-lt
HNSWlib on raamatukogu kiireks lähima naabri (Approximate Nearest Neighbor Search) otsimiseks kõrge mõõtmelistes vektori ruumides. See rakendab Hierarchical Navigable Small World graafide (HNSW) algoritmi, mis loob mitmekihilise graafi tõhusa sarnaste objektide otsimiseks.
HNSWlibi peamised rakendused:
- Sarnaste piltide, heli või tekstide otsimine, mis on esitatud vektoritena.
- Soovitussüsteemid.
- Loomuliku keele töötlemine (näiteks sõnade või lausete embeddingute otsimine).
Python näide:
import hnswlib
import numpy as np
# Loo indeks 10 000 vektorile, mõõtmega 128
p = hnswlib.Index(space='l2', dim=128)
p.init_index(max_elements=10000, ef_construction=200, M=16)
# Lisa andmed
data = np.float32(np.random.random((10000, 128)))
p.add_items(data)
# Otsi 5 lähimat naabrit uuele vektorile
query = np.float32(np.random.random(128))
labels, distances = p.knn_query(query, k=5)
print(labels, distances)
HNSWlib on kõrgelt hinnatud oma suure kiiruse ja täpsuse poolest suurte andmekogumite otsingul.