Урок курса
FAISS, Qdrant или Weaviate: что выбрать для RAG
Vector DB & RAG DeveloperFAISS — библиотека для быстрого поиска ближайших векторов и построения индексов. Она отлично подходит для локального прототипа, 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 наиболее точное?
Продолжить с проверкой и прогрессом
Откройте интерактивный раннер с заданиями урока.
