Этот вопрос проверяет знание векторных баз данных, используемых для поиска по семантическому сходству в AI-приложениях.
Векторные хранилища — это специализированные базы данных, оптимизированные для хранения и поиска векторных эмбеддингов. Они позволяют находить объекты, семантически близкие к заданному запросу, используя метрики расстояния (косинусное сходство, евклидово расстояние).
import faiss
import numpy as np
# Создаем случайные эмбеддинги (1000 векторов размерностью 128)
dimension = 128
index = faiss.IndexFlatL2(dimension) # L2 расстояние
vectors = np.random.random((1000, dimension)).astype('float32')
index.add(vectors)
# Поиск 5 ближайших соседей для запроса
query = np.random.random((1, dimension)).astype('float32')
distances, indices = index.search(query, k=5)
print(indices) # Индексы ближайших векторовВекторные хранилища незаменимы для задач семантического поиска, RAG-систем и рекомендательных сервисов. Выбор зависит от масштаба: для прототипов подойдет Chroma, для продакшена — Pinecone или Milvus.