Repolode
pgvector

pgvector/pgvector-python

Библиотека Python, добавляющая поддержку векторов pgvector и поиска по сходству для Django, SQLAlchemy, Psycopg, asyncpg, Peewee и других драйверов PostgreSQL.

Звёзды
1,542
Форки
104
Открытые issues
9
Последний коммит
позавчера

Что это?

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

Пакет интегрируется с разными стеками для работы с базами данных в Python, включая Django, SQLAlchemy, SQLModel, Psycopg 2 и 3, asyncpg, pg8000 и Peewee. Каждая интеграция охватывает основные операции: включение расширения, добавление векторного столбца, вставку эмбеддингов, выполнение запросов для поиска ближайших соседей и создание индексов HNSW или IVFFlat.

В репозитории также есть примеры скриптов для RAG с Ollama, создания эмбеддингов с OpenAI и Cohere, гибридного поиска, поиска изображений, рекомендаций и массовой загрузки с помощью COPY.

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

  • 01Поддерживает Django, SQLAlchemy, SQLModel, Psycopg 2/3, asyncpg, pg8000 и Peewee.
  • 02Предоставляет типы полей для векторов обычной и половинной точности, битовых и разреженных векторов.
  • 03Поддерживает операторы вычисления расстояния, включая L2, скалярное произведение, косинусное расстояние, L1, расстояние Хэмминга и расстояние Жаккара.
  • 04Позволяет создавать приближённые индексы HNSW и IVFFlat через API каждой библиотеки.
  • 05Преобразует списки Python, массивы NumPy и разреженные массивы SciPy друг в друга.

Сценарии использования

  • Добавление семантического поиска или поиска для RAG в приложение на Django или SQLAlchemy, использующее PostgreSQL.
  • Хранение эмбеддингов текста или изображений, созданных с помощью OpenAI, Cohere или SentenceTransformers, в Postgres.
  • Создание функций рекомендаций на основе векторов пользователей и объектов в существующей базе данных Postgres.

Быстрый старт

  1. 1

    Установите пакет из PyPI

    pip install pgvector
  2. 2

    Включите расширение pgvector в базе данных PostgreSQL (пример с Psycopg 3)

    conn.execute('CREATE EXTENSION IF NOT EXISTS vector')
  3. 3

    Зарегистрируйте тип vector для подключения, затем добавляйте векторы и выполняйте запросы к ним, следуя README вашей библиотеки

    register_vector(conn)

Что важно знать

  • На сервере PostgreSQL должно быть установлено расширение pgvector.
  • Для каждой библиотеки баз данных требуются отдельные шаги настройки и код регистрации.

В подборках

Темы

Частые вопросы

Что такое pgvector-python?
Библиотека Python, добавляющая поддержку векторов pgvector и поиска по сходству для Django, SQLAlchemy, Psycopg, asyncpg, Peewee и других драйверов PostgreSQL. pgvector-python — клиентская библиотека Python, с помощью которой приложения могут хранить векторы в PostgreSQL и выполнять по ним запросы через расширение pgvector. Она поддерживает векторы обычной и половинной точности, битовые и разреженные векторы, а также операторы вычисления расстояния для L2, скалярного произведения, косинусного расстояния, L1, Хэмминга и Жаккара.
pgvector-python можно использовать бесплатно? Какая у него лицензия?
pgvector-python распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
pgvector-python всё ещё поддерживается?
Активно поддерживается. Последний коммит в pgvector-python — 5 нояб. 2026 г..
Для чего можно использовать pgvector-python?
Добавление семантического поиска или поиска для RAG в приложение на Django или SQLAlchemy, использующее PostgreSQL. Хранение эмбеддингов текста или изображений, созданных с помощью OpenAI, Cohere или SentenceTransformers, в Postgres. Создание функций рекомендаций на основе векторов пользователей и объектов в существующей базе данных Postgres.
Как установить pgvector-python?
Установите пакет из PyPI: pip install pgvector Включите расширение pgvector в базе данных PostgreSQL (пример с Psycopg 3): conn.execute('CREATE EXTENSION IF NOT EXISTS vector') Зарегистрируйте тип vector для подключения, затем добавляйте векторы и выполняйте запросы к ним, следуя README вашей библиотеки: register_vector(conn)
Где скачать pgvector-python?
Исходный код и инструкции по установке — на GitHub: https://github.com/pgvector/pgvector-python

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Milvus — распределённая векторная база данных с открытым исходным кодом для масштабного хранения эмбеддингов и поиска по ним, подходящая для AI-поиска и RAG-приложений.

46,6 тыс.+72 за неделю4,3 тыс.GoApache-2.0Активно поддерживаетсяОбновлён 13 часов назад

Расширение с открытым исходным кодом для поиска векторов по сходству в Postgres: храните эмбеддинги и выполняйте поиск рядом с реляционными данными.

23,6 тыс.+65 за неделю1,4 тыс.COtherАктивно поддерживаетсяОбновлён позавчера