Sobes.tech
Middle — Senior

Čo je HNSWlib a kde sa používa?

sobes.tech AI

Odpoveď od AI

HNSWlib je knižnica pre rýchle vyhľadávanie najbližších susedov (Approximate Nearest Neighbor Search) vo vysokodimenzionálnych vektorových priestoroch. Implementuje algoritmus Hierarchical Navigable Small World grafov (HNSW), ktorý vytvára viacvrstvový graf pre efektívne vyhľadávanie podobných objektov.

Hlavné použitia HNSWlib:

  • Vyhľadávanie podobných obrázkov, zvukov alebo textov, reprezentovaných ako vektory.
  • Systémy odporúčaní.
  • Spracovanie prirodzeného jazyka (napríklad vyhľadávanie na základe embeddingov slov alebo viet).

Príklad použitia v Pythone:

import hnswlib
import numpy as np

# Vytvorenie indexu pre 10 000 vektorov s rozmerom 128
p = hnswlib.Index(space='l2', dim=128)
p.init_index(max_elements=10000, ef_construction=200, M=16)

# Pridanie dát
data = np.float32(np.random.random((10000, 128)))
p.add_items(data)

# Vyhľadanie 5 najbližších susedov pre nový vektor
query = np.float32(np.random.random(128))
labels, distances = p.knn_query(query, k=5)
print(labels, distances)

HNSWlib je cenený pre svoju vysokú rýchlosť a presnosť pri vyhľadávaní vo veľkých dátových súboroch.