RAG нужен хранилище векторов с быстрым поиском по сходству. Специализированные векторные БД и расширения для реляционных СУБД решают эту задачу по-разному: по масштабу, режиму развёртывания и интеграции с уже существующим стеком.
Ориентиры по стеку: образ qdrant/qdrant для отдельного сервиса; в PostgreSQL — расширение pgvector и индексы вроде HNSW / IVFFlat.
Что требуется от хранилища
Индексация векторов фиксированной размерности; поиск k ближайших соседей (или по порогу сходства); фильтрация по метаданным (раздел, тип документа, дата). Желательно: персистентность, бэкапы, возможность реиндекса при смене модели эмбеддингов.
Qdrant
Отдельный сервис под векторный поиск. Open source, можно развернуть у себя. Поддержка фильтров, payload, HNSW и другие индексы. Удобен для средних и больших корпусов, когда нужен именно векторный слой без смешивания с основной реляционной БД.
Pinecone
Управляемый облачный сервис. Не нужно администрировать кластер; оплата по использованию. Подходит для быстрого старта и проектов без жёстких требований к on-prem. Минус: данные в облаке провайдера.
pgvector
Расширение PostgreSQL: векторы как тип данных, индексы (IVFFlat, HNSW). Плюс: одна БД для метаданных, пользователей и векторов; транзакции, бэкапы, знакомый стек. Минус: при очень больших объёмах специализированные движки могут быть быстрее. Для многих корпоративных RAG-сценариев pgvector достаточен.
Сравнение
| Решение | Развёртывание | Когда выбирать |
|---|---|---|
| pgvector | Расширение PostgreSQL, одна БД | Уже есть PostgreSQL; средний объём; нужны транзакции и бэкапы в одном месте |
| Qdrant | Отдельный сервис, on-prem или облако | Отдельный векторный слой; большие корпуса; фильтры и payload |
| Pinecone | Управляемый облачный сервис | Быстрый старт без своей инфраструктуры; данные в облаке допустимы |
Выбор
Уже используете PostgreSQL — попробуйте pgvector. Нужен отдельный масштабируемый векторный слой или облако без своей БД — Qdrant или Pinecone. Критерий: объём данных, требования к задержке, on-prem vs cloud.
Практики применения
- Уже есть PostgreSQL — попробуйте pgvector; отдельный масштабируемый слой — Qdrant или Pinecone.
- Критерий выбора: объём данных, задержка, on-prem vs cloud.
Итог: для многих корпоративных RAG хватает pgvector или одного инстанса Qdrant. Pinecone — когда не хотите администрировать; on-prem при этом недоступен.