Repolode
pgvector

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. 1

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

    npm install pgvector
  2. 2

    Включите расширение pgvector в базе данных

    await client.query('CREATE EXTENSION IF NOT EXISTS vector');
  3. 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 обновляется ежедневно.

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