Поиск, данные и RAG Расширение бесплатно; сервер и создание embeddings оплачиваются отдельно

pgvector

pgvector добавляет поиск по векторам в PostgreSQL: полезен для RAG, когда документы и бизнес-данные уже хранятся в этой базе.

Что это

pgvector - расширение PostgreSQL для хранения числовых представлений текста и поиска похожих записей. Оно не читает PDF и не отвечает как чат: сначала отдельная модель превращает текст в embeddings, затем приложение использует найденные фрагменты.

Главное удобство - не нужно сразу заводить вторую базу. Текст, его источник, права доступа и вектор можно связать SQL-запросом. Например, помощник ищет в инструкциях только того отдела, которому разрешен доступ. Проверку прав должен обеспечить разработчик.

Начните с маленькой учебной таблицы и точного поиска. Ускоряющий индекс имеет смысл добавлять после замера на вашей выборке: быстрый результат бесполезен, если нужные документы перестали попадать в выдачу.

Ключевые параметры

  • Категория: Векторные базы
  • Сложность: Для разработчика
  • Запуск: Около 30 минут
  • Open-source: Да
  • Данные: Высокий контроль
  • Чувствительные данные: Только с настройками
API RAG PostgreSQL SQL LlamaIndex LangChain Сервер Self-hosted Локальный desktop

Сильные стороны

  • Векторный поиск можно сочетать с SQL-фильтрами и связями обычных таблиц.
  • Можно начать с точного поиска и использовать его как контрольную выдачу.
  • HNSW и IVFFlat дают варианты ускорения поиска на больших выборках.
  • Открытая лицензия позволяет запускать расширение на собственной инфраструктуре.

Ограничения

  • Расширение должно быть установлено на сервере; не каждый хостинг дает такую возможность.
  • Создание embeddings, разбор документов и ответы модели нужно организовать отдельно.
  • Приближенные индексы меняют баланс скорости и полноты; фильтры могут сократить выдачу.
  • Индексы, объем векторов и обслуживание базы расходуют память и ресурсы сервера.

Как использовать

1. Подготовка. Выберите отдельную учебную PostgreSQL. Администратор должен установить pgvector по инструкции для вашей ОС или подтвердить его наличие у хостера. Не меняйте рабочую базу ради первого теста.
2. Настройка. В учебной базе выполните CREATE EXTENSION vector; затем CREATE TABLE vector_demo (id text PRIMARY KEY, embedding vector(3));. Добавьте записи: INSERT INTO vector_demo VALUES ('a','[1,0,0]'),('b','[0,1,0]'),('c','[0.9,0.1,0]');. Три координаты здесь нужны только для понятного теста.
3. Первый результат. Выполните SELECT id FROM vector_demo ORDER BY embedding <-> '[1,0,0]' LIMIT 2;. Получите ближайшие записи без отдельной нейросети и без ускоряющего индекса.
4. Проверка. Ожидайте a, затем c. После этого создайте embeddings реальных учебных текстов одной моделью и используйте ее же для запросов. Проверьте известные ответы, права и фильтры; сравните приближенный индекс с исходным точным поиском.

Примеры сценариев

  • Найти инструкцию по возвратам среди разрешенных документов.
  • Связать результат поиска с названием и датой исходного файла.
  • Сравнить качество выдачи до и после добавления индекса.

Доступ и оплата

  • Модель оплаты: Open-source
  • Бесплатный тариф: Да
  • Работа в РФ: Да
  • VPN: Не нужен
  • Русский интерфейс: Не известно
  • Русский язык: Не известно

pgvector бесплатен по PostgreSQL License. API здесь означает SQL-интерфейс расширения. Самостоятельный сервер не требует VPN для работы; загрузка пакетов и внешняя embedding-модель могут иметь свои условия доступа и оплаты.

Когда не подходит

  • Получить готовый чат после CREATE EXTENSION
  • Смешивать векторы разных embedding-моделей
  • Выбирать индекс без проверки качества поиска

Альтернативы

qdrant pinecone chroma

Qdrant и Chroma - отдельные векторные хранилища. Pinecone удобен, если нужен управляемый облачный сервис. pgvector особенно уместен, когда PostgreSQL уже есть и важны SQL-связи; победителя для любой нагрузки нет.

Параметры для подборок

open-source API works-in-russia rag semantic-search documents Для разработчиков rag-tools free-ai-tools

FAQ

pgvector сам создает embeddings?

Нет. Вы получаете векторы отдельной моделью и сохраняете их. Учебный пример с тремя числами проверяет поиск, а не понимание текста.

Почему CREATE EXTENSION не работает?

Проверьте наличие файлов расширения на сервере и права пользователя. Установка клиентской библиотеки не устанавливает расширение в PostgreSQL.

Нужен HNSW с первого дня?

Нет. На небольшой выборке начните с точного поиска. Индекс выбирают после замеров скорости и полноты результатов.

Какой размер vector указать?

Размерность должна совпадать с выходом выбранной embedding-модели. Три координаты в примере не подходят автоматически для реальных документов.

Это память агента?

Это компонент хранения и поиска. Какие сведения сохранять, когда удалять и как проверять разрешения, определяет приложение.

Лучше всего подходит

Типовые задачи

Добавить поиск по смыслу к существующей PostgreSQL Хранить источник рядом с вектором Собрать поисковую часть RAG без отдельной векторной базы

Упоминания

Статьи, где встречается pgvector