pgvector
Расширение PostgreSQL для хранения и поиска по векторным эмбеддингам.
Что это
pgvector — хранение, индексирование и similarity search по векторам прямо в PostgreSQL. IVFFlat и HNSW индексы обеспечивают быстрый поиск по миллионам векторов.
Векторы хранятся рядом с остальными данными — один SQL-запрос может сочетать семантический поиск с фильтрацией по обычным полям.
Ключевые возможности
SQL-интеграция
Векторный поиск в обычном SQL-запросе — JOIN, WHERE, ORDER BY всё работает.
HNSW-индексы
Быстрый approximate nearest neighbor поиск по миллионам векторов.
ACID
Транзакции для векторных операций — данные всегда консистентны.
Почему мы используем
pgvector — альтернатива ChromaDB для проектов, где уже есть PostgreSQL. Не нужна отдельная векторная БД — эмбеддинги, метаданные и бизнес-данные в единой СУБД.
Сильные стороны
Не нужна отдельная инфраструктура — всё в PostgreSQL, который уже есть.
Знакомый язык запросов — не нужно учить новый API для векторного поиска.
Наш опыт
Мы используем pgvector в RAG-системах, где нужна комбинация семантического поиска с реляционными фильтрами: поиск по документам с учётом прав доступа, дат, категорий.
Для каких задач применяем
- RAG-системы с реляционными фильтрами
- Семантический поиск по документам
- Рекомендательные системы