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 се цени за високата си скорост и точност при търсене в големи набори от данни.