pgvector/pgvector

Open-source vector similarity search for Postgres

RAG⭐ 23 109Cпоследний релиз: v0.8.6
Открыть на GitHub ↗

Что это за инструмент

pgvector — это расширение для PostgreSQL, добавляющее поддержку хранения и поиска векторов. Оно позволяет использовать базу данных как хранилище для эмбеддингов с возможностью точного и приблизительного поиска ближайших соседей.

Зачем нужен

Инструмент решает задачу хранения векторных данных вместе с реляционными данными в одной системе, устраняя необходимость в отдельных векторных базах. Это полезно для создания приложений с поиском по смыслу, рекомендательными системами и RAG-архитектурами, так как сохраняет ACID-совместимость и позволяет использовать SQL-запросы для фильтрации и объединения данных.

Что можно реализовать

  • Поиск похожих документов или товаров на основе векторных представлений (эмбеддингов)
  • Реализация рекомендательных систем с использованием косинусного сходства или расстояния Лейбница
  • Создание RAG-приложений, где векторы хранятся в той же БД, что и метаданные
  • Анализ кластеров данных с помощью агрегатных функций над векторами (например, вычисление среднего вектора группы)

Ключевые возможности

  • Поддержка точного и приблизительного поиска (HNSW, IVFFlat) для баланса между скоростью и полнотой результатов
  • Работа с разными типами векторов: одинарной точности (single-precision), половинной (half-precision), бинарными и разреженными
  • Нативная интеграция с PostgreSQL: использование JOIN, транзакций, point-in-time recovery и стандартных SQL-запросов
  • Поддержка множества метрик расстояния: L2, косинус, внутреннее произведение, L1, Хэмминга и Жаккара
  • Кроссплатформенность: установка на Linux, Mac, Windows, Docker и через популярные менеджеры пакетов

👤 Кому подойдёт: Разработчики, работающие с PostgreSQL и нуждающиеся в векторном поиске без миграции на специализированные базы; архитекторы, проектирующие RAG-системы и рекомендательные сервисы; исследователи данных, использующие SQL дл

Релизы