Middle — Senior
HNSWlib nima va uni qayerda ishlatiladi?
sobes.tech AI
AIdan javob
HNSWlib — bu yuqori o‘lchamli vektorli fazolarda eng yaqin qo‘shnilarni tezda qidirish uchun kutubxona (Taxminiy Eng Yaqin Qo‘shnilar Qidiruvi). U Hierarchical Navigable Small World graf algoritmini (HNSW) amalga oshiradi, bu esa samarali tarzda o‘xshash ob’ektlarni qidirish uchun ko‘p qatlamli grafik quradi.
HNSWlib ning asosiy qo‘llanmalari:
- Rasm, audio yoki matn kabi vektorlar shaklida taqdim etilgan o‘xshashlarni qidirish.
- Tavsiya qilish tizimlari.
- Tabiiy tilni qayta ishlash (masalan, so‘z yoki ibora embeddinglari orqali qidirish).
Pythonda foydalanish misoli:
import hnswlib
import numpy as np
# 128 o‘lchamli 10000 vektor uchun indeks yaratish
p = hnswlib.Index(space='l2', dim=128)
p.init_index(max_elements=10000, ef_construction=200, M=16)
# Ma’lumotlarni qo‘shish
data = np.float32(np.random.random((10000, 128)))
p.add_items(data)
# Yangi vektor uchun 5 ta eng yaqin qo‘shnini qidirish
query = np.float32(np.random.random(128))
labels, distances = p.knn_query(query, k=5)
print(labels, distances)
HNSWlib yuqori tezlik va aniqlik bilan katta ma’lumotlar to‘plamlarida qidiruv uchun qadrlanadi.