Sobes.tech
Middle — Senior

Mi az a HNSWlib és hol használják?

sobes.tech MI

Válasz az MI-től

Az HNSWlib egy könyvtár a legközelebbi szomszédok (Közelítő Legközelebbi Szomszéd Keresés) gyors kereséséhez magas dimenziós vektorterekben. Az algoritmus Hierarchical Navigable Small World grafokat (HNSW) valósít meg, amelyek több rétegből álló gráfot építenek a hasonló objektumok hatékony kereséséhez.

Az HNSWlib fő alkalmazásai:

  • Hasonló képek, hangok vagy szövegek keresése, amelyeket vektorokként ábrázolnak.
  • Ajánlórendszerek.
  • Természetes nyelvfeldolgozás (például szavak vagy mondatok beágyazásai alapján történő keresés).

Python példakód:

import hnswlib
import numpy as np

# Index létrehozása 10 000 vektorra, 128 dimenzióval
p = hnswlib.Index(space='l2', dim=128)
p.init_index(max_elements=10000, ef_construction=200, M=16)

# Adatok hozzáadása
data = np.float32(np.random.random((10000, 128)))
p.add_items(data)

# 5 legközelebbi szomszéd keresése egy új vektorra
query = np.float32(np.random.random(128))
labels, distances = p.knn_query(query, k=5)
print(labels, distances)

Az HNSWlib magas sebessége és pontossága miatt értékelik nagy adathalmazok keresésekor.