Библиотека Python, добавляющая поддержку векторов pgvector и поиска по сходству для Django, SQLAlchemy, Psycopg, asyncpg, Peewee и других драйверов PostgreSQL.
pgvector/pgvector-node
Вспомогательная библиотека для JavaScript и TypeScript, добавляющая поддержку типа vector из pgvector в драйверы и ORM для Node.js, Deno и Bun.
- Звёзды
- 445
- Форки
- 24
- Открытые issues
- 2
- Последний коммит
- позавчера
Что это?
pgvector-node — небольшая библиотека, которая позволяет приложениям на JavaScript и TypeScript хранить векторы-эмбеддинги в PostgreSQL, добавлять их в базу и выполнять по ним запросы через расширение pgvector. Она преобразует массивы JavaScript в текстовый формат pgvector и регистрирует типы vector в драйвере базы данных, чтобы разработчики могли работать с обычными массивами чисел.
Пакет поддерживает множество библиотек для работы с базами данных, включая node-postgres, Knex.js, Kysely, Sequelize, Prisma, Drizzle ORM, TypeORM, MikroORM, Postgres.js, Slonik, deno-postgres и Bun SQL. Для каждой интеграции предусмотрены инструкции по подключению расширения, созданию столбцов vector, добавлению данных, выполнению запросов поиска ближайших соседей с использованием расстояния L2, скалярного произведения или косинусного расстояния, а также созданию индексов HNSW или IVFFlat.
В репозитории также есть класс SparseVector для разреженных векторов и примеры типичных сценариев работы с эмбеддингами: эмбеддинги OpenAI и Cohere, Transformers.js, гибридный поиск и массовая загрузка данных с помощью COPY.
Ключевые возможности
- 01Преобразует массивы JavaScript в формат pgvector и регистрирует типы vector в драйвере.
- 02Поддерживает более десятка библиотек и ORM для работы с базами данных в Node.js, Deno и Bun.
- 03В нескольких интеграциях предоставляет вспомогательные функции для вычисления расстояний L2, скалярного произведения, косинусного, L1, Хэмминга и Жаккара.
- 04Содержит примеры создания индексов HNSW и IVFFlat.
- 05Предоставляет класс SparseVector для работы с разреженными векторами.
Сценарии использования
- Разработка семантического поиска или функций поиска с извлечением данных в приложении на Node.js с PostgreSQL.
- Хранение эмбеддингов OpenAI или Cohere вместе с реляционными данными с помощью уже используемой ORM.
- Выполнение запросов на поиск векторного сходства в сервисах на Deno или Bun.
Быстрый старт
- 1
Установите пакет pgvector из npm
npm install pgvector - 2
Включите расширение pgvector в базе данных
await client.query('CREATE EXTENSION IF NOT EXISTS vector'); - 3
Зарегистрируйте типы vector в клиенте node-postgres
await pgvector.registerTypes(client);
Что важно знать
- На сервере PostgreSQL должно быть установлено расширение pgvector.
В подборках
Темы
Частые вопросы
- Что такое pgvector-node?
- Вспомогательная библиотека для JavaScript и TypeScript, добавляющая поддержку типа vector из pgvector в драйверы и ORM для Node.js, Deno и Bun. pgvector-node — небольшая библиотека, которая позволяет приложениям на JavaScript и TypeScript хранить векторы-эмбеддинги в PostgreSQL, добавлять их в базу и выполнять по ним запросы через расширение pgvector. Она преобразует массивы JavaScript в текстовый формат pgvector и регистрирует типы vector в драйвере базы данных, чтобы разработчики могли работать с обычными массивами чисел.
- pgvector-node можно использовать бесплатно? Какая у него лицензия?
- pgvector-node распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- pgvector-node всё ещё поддерживается?
- Активно поддерживается. Последний коммит в pgvector-node — 5 нояб. 2026 г..
- Для чего можно использовать pgvector-node?
- Разработка семантического поиска или функций поиска с извлечением данных в приложении на Node.js с PostgreSQL. Хранение эмбеддингов OpenAI или Cohere вместе с реляционными данными с помощью уже используемой ORM. Выполнение запросов на поиск векторного сходства в сервисах на Deno или Bun.
- Как установить pgvector-node?
- Установите пакет pgvector из npm: npm install pgvector Включите расширение pgvector в базе данных: await client.query('CREATE EXTENSION IF NOT EXISTS vector'); Зарегистрируйте типы vector в клиенте node-postgres: await pgvector.registerTypes(client);
- Где скачать pgvector-node?
- Исходный код и инструкции по установке — на GitHub: https://github.com/pgvector/pgvector-node
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Расширение PostgreSQL на Rust с индексом на базе DiskANN и фильтрацией по меткам для более быстрого и дешёвого векторного поиска на основе pgvector.
Поддержка расширения pgvector для PostgreSQL в Go: типы векторов и адаптеры для pgx, pg, Bun, Ent, GORM и sqlx.
TypeScript ORM для Node.js с типобезопасным доступом к PostgreSQL, MySQL, SQLite, MongoDB и другим базам данных.
ORM для TypeScript и JavaScript, работающий в Node.js и других JS-средах и поддерживающий паттерны Active Record и Data Mapper для множества SQL- и NoSQL-баз данных.
Лёгкая ORM без лишних абстракций для TypeScript, поддерживающая PostgreSQL, MySQL и SQLite в Node.js, Bun, Deno и edge-средах.