Sobes.tech
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.