Middle — Senior
Co je HNSWlib a kde se používá?
sobes.tech AI
Odpověď od AI
HNSWlib je knihovna pro rychlé hledání nejbližších sousedů (Approximate Nearest Neighbor Search) ve vysokodimenzionálních vektorových prostorech. Implementuje algoritmus Hierarchical Navigable Small World grafů (HNSW), který vytváří vícevrstvý graf pro efektivní hledání podobných objektů.
Hlavní použití HNSWlib:
- Vyhledávání podobných obrázků, zvuků nebo textů, reprezentovaných jako vektory.
- Doporučovací systémy.
- Zpracování přirozeného jazyka (například hledání podle embeddingů slov nebo vět).
Příklad použití v Pythonu:
import hnswlib
import numpy as np
# Vytvoření indexu pro 10 000 vektorů o rozměru 128
p = hnswlib.Index(space='l2', dim=128)
p.init_index(max_elements=10000, ef_construction=200, M=16)
# Přidání dat
data = np.float32(np.random.random((10000, 128)))
p.add_items(data)
# Vyhledání 5 nejbližších sousedů pro nový vektor
query = np.float32(np.random.random(128))
labels, distances = p.knn_query(query, k=5)
print(labels, distances)
HNSWlib je ceněn pro svou vysokou rychlost a přesnost při hledání ve velkých datových sadách.