Урок курса

FAISS, Qdrant или Weaviate: что выбрать для RAG

Vector DB & RAG Developer

FAISS — библиотека для быстрого поиска ближайших векторов и построения индексов. Она отлично подходит для локального прототипа, offline-задачи и приложения, где вы сами управляете хранением текста, метаданных, обновлений и процессом сервинга. Это не готовая многопользовательская база с авторизацией и operational API.

Qdrant — отдельный vector search engine с коллекциями, payload, фильтрами и клиент-серверным API. Он поддерживает dense и sparse представления, гибридные запросы и fusion. Его выбирают, когда нужен самостоятельный сервис с контролируемой схемой данных и удобной фильтрацией.

Weaviate — vector database с коллекциями, keyword BM25F, vector и hybrid search, фильтрами и экосистемой модулей. Он может брать на себя больше частей search-stack, но требует понимать конфигурацию vectorizer и инфраструктуры.

Сравнивайте не названия, а требования

Для production RAG важны не только скорость ANN. Проверьте частоту обновлений и удалений, metadata filters, multi-tenancy, backup, репликацию, наблюдаемость, SLA, способ хранения исходного текста и миграцию embedding-модели.

Фильтрация по правам должна происходить до передачи документа LLM. Если движок умеет только post-filter после малого top-k, релевантные разрешённые документы могут не попасть в результат. Также оцените hybrid search: точные коды и имена часто требуют lexical пути рядом с embeddings.

Размер корпуса, размерность вектора и параметры индекса влияют на RAM, latency и recall. Маркетинговый benchmark на другом dataset не заменяет ваш eval.

Практический выбор

Берите FAISS для ноутбука, embedded/offline-процесса или полностью собственной search-службы, где метаданные и lifecycle уже решены. Берите Qdrant, если нужен сфокусированный vector engine с payload filtering и явным API. Рассматривайте Weaviate, если нужен более интегрированный vector/keyword search и его модель коллекций подходит команде.

Начните с небольшого benchmark: загрузка реального поднабора, 50–200 размеченных запросов, фильтры доступа, обновление данных, Recall@k и p95 latency. Отдельно измерьте эксплуатационные операции и стоимость.

Выбор обратим только при нормальной абстракции: приложение хранит собственные document ids и версии, а слой retrieval не протекает во весь бизнес-код. Тогда смена движка не требует переписывать ingestion и интерфейс ответа.

Попробуйте решить

Какое описание FAISS наиболее точное?

Продолжить с проверкой и прогрессом

Откройте интерактивный раннер с заданиями урока.

Перейти к интерактивному уроку
FAISS, Qdrant или Weaviate: что выбрать для RAG | Latorn