Sobes.tech
Middle — Senior

Какво е HNSWlib и къде се използва?

sobes.tech AI

Отговор от AI

HNSWlib е библиотека за бързо търсене на най-близките съседи (Approximate Nearest Neighbor Search) в високодименсионални векторни пространства. Тя реализира алгоритъма Hierarchical Navigable Small World графи (HNSW), който изгражда многослойна графа за ефективно търсене на подобни обекти.

Основни приложения на HNSWlib:

  • Търсене на подобни изображения, аудио или текстове, представени като вектори.
  • Системи за препоръки.
  • Обработка на естествен език (например, търсене по embeddings на думи или изречения).

Пример за използване на Python:

import hnswlib
import numpy as np

# Създаване на индекс за 10000 вектора с размер 128
p = hnswlib.Index(space='l2', dim=128)
p.init_index(max_elements=10000, ef_construction=200, M=16)

# Добавяне на данни
data = np.float32(np.random.random((10000, 128)))
p.add_items(data)

# Търсене на 5 най-близки съседи за нов вектор
query = np.float32(np.random.random(128))
labels, distances = p.knn_query(query, k=5)
print(labels, distances)

HNSWlib се цени за високата си скорост и точност при търсене в големи набори от данни.