Middle — Senior
Чӣ тавр метавон дар ҷустуҷӯ бо эмбеддингҳо ба миллионҳо санадҳо васеъ кард?
sobes.tech AI
Ҷавоб аз AI
Барои васеъ кардани ҷустуҷӯи асосёфта ба embeddingҳо ба миллионҳо ҳуҷҷатҳо, одатан индексҳои махсус ва алгоритмҳои наздиктарин ҳамсоягон (Approximate Nearest Neighbors, ANN) истифода мешаванд. Равишҳои асосӣ:
- Истифодаи китобхонаҳо ва чаҳорчӯбаҳо монанди FAISS (Facebook AI Similarity Search), Annoy, HNSWlib, ки имкон медиҳанд индексгузорӣ ва ҷустуҷӯро дар векторҳо самаранок анҷом диҳанд.
- Индексгузории embeddingҳо бо истифода аз сохторҳои додаҳо, масалан, дарахтҳои HNSW, квантозатсияи маҳсулот, IVF (Файлҳои баргашта).
- Масштабкунии уфуқӣ: тақсим кардани индекс ба чанд сервер ё sharding.
- Кешгирии пурсишҳои маъруф ва натиҷаҳо.
Масалан бо FAISS (Python):
import faiss
import numpy as np
# Эҷоди индекс барои векторҳои 128-андоза
index = faiss.IndexFlatL2(128)
# Илова кардани embeddingҳои ҳуҷҷатҳо
embeddings = np.random.random((1000000, 128)).astype('float32')
index.add(embeddings)
# Ҷустуҷӯи 5 ҳамсояи наздиктарин барои пурсиш
query = np.random.random((1, 128)).astype('float32')
D, I = index.search(query, 5)
print(I) # индексҳои ҳуҷҷатҳои наздик