Sobes.tech
Middle — Senior

Embeddinglar bo'yicha qidirishni millionlab hujjatlarga qanday kengaytirish mumkin?

sobes.tech AI

AIdan javob

Gigantlar soni millionlabar uchun embedding qidiruvini kengaytirish uchun odatda maxsus indekslar va Yaqin Do‘stlar (Approximate Nearest Neighbors, ANN) algoritmlari qo‘llaniladi. Asosiy yondashuvlar:

  • FAISS (Facebook AI Similarity Search), Annoy, HNSWlib kabi kutubxonalar va ramkalar yordamida vektorlar bo‘yicha samarali indekslash va qidiruv.
  • Embeddinglarni ma’lumot tuzilmalari yordamida indekslash, masalan, HNSW daraxtlari, Mahsulot Kvantizatsiyasi, IVF (Teskari Fayl).
  • Gorizontal kengaytirish: indeksni bir nechta serverlarga tarqatish yoki sharding qilish.
  • Mashhur so‘rovlar va natijalarni kesh qilish.

FAISS (Python) bilan misol:

import faiss
import numpy as np

# 128 o‘lchamli vektorlar uchun indeks yaratish
index = faiss.IndexFlatL2(128)

# Hujjatlarning embeddinglarini qo‘shish
embeddings = np.random.random((1000000, 128)).astype('float32')
index.add(embeddings)

# So‘rov uchun 5 ta eng yaqin hamkasbni qidirish
query = np.random.random((1, 128)).astype('float32')
D, I = index.search(query, 5)
print(I)  # eng yaqin hujjatlarning indekslari