为 Django、SQLAlchemy、Psycopg、asyncpg 等 Python 数据库库提供 pgvector 向量类型与相似度搜索支持。
pgvector/pgvector-node
为 Node.js、Deno、Bun 的数据库客户端和 ORM 提供 pgvector 向量类型支持的 JavaScript/TypeScript 库。
- Star
- 445
- Fork
- 24
- 未关闭 Issue
- 2
- 最近提交
- 前天
这是什么?
pgvector-node 是一个小型库,让 JavaScript 和 TypeScript 应用能够通过 pgvector 扩展在 PostgreSQL 中存储、写入和查询向量嵌入。它负责把 JavaScript 数组转换为 pgvector 的文本格式,并为数据库驱动注册向量类型,开发者可以直接使用普通的数字数组。
该包支持多种数据库访问层,包括 node-postgres、Knex.js、Kysely、Sequelize、Prisma、Drizzle ORM、TypeORM、MikroORM、Postgres.js、Slonik、deno-postgres 和 Bun SQL。每种集成都给出了启用扩展、创建向量列、写入数据、使用 L2、内积或余弦距离做近邻查询,以及添加 HNSW 或 IVFFlat 索引的具体写法。
仓库还提供了 SparseVector 稀疏向量类,以及 OpenAI、Cohere 嵌入、Transformers.js、混合搜索、使用 COPY 批量导入等常见向量应用示例。
核心功能
- 01将 JavaScript 数组转换为 pgvector 格式,并为驱动注册向量类型。
- 02支持十余种 Node.js、Deno 和 Bun 的数据库库与 ORM。
- 03部分集成提供 L2、内积、余弦、L1、Hamming、Jaccard 等距离函数辅助。
- 04提供 HNSW 和 IVFFlat 索引的创建示例。
- 05提供用于稀疏向量的 SparseVector 类。
适用场景
- 在基于 PostgreSQL 的 Node.js 应用中实现语义搜索或检索功能。
- 使用现有 ORM 将 OpenAI 或 Cohere 嵌入与关系型数据一起存储。
- 在 Deno 或 Bun 服务中执行向量相似度查询。
快速上手
- 1
从 npm 安装 pgvector 包
npm install pgvector - 2
在数据库中启用 pgvector 扩展
await client.query('CREATE EXTENSION IF NOT EXISTS vector'); - 3
在 node-postgres 客户端上注册向量类型
await pgvector.registerTypes(client);
使用前须知
- 需要在 PostgreSQL 服务器上安装 pgvector 扩展。
收录于专题
标签
常见问题
- pgvector-node 是什么?
- 为 Node.js、Deno、Bun 的数据库客户端和 ORM 提供 pgvector 向量类型支持的 JavaScript/TypeScript 库。 pgvector-node 是一个小型库,让 JavaScript 和 TypeScript 应用能够通过 pgvector 扩展在 PostgreSQL 中存储、写入和查询向量嵌入。它负责把 JavaScript 数组转换为 pgvector 的文本格式,并为数据库驱动注册向量类型,开发者可以直接使用普通的数字数组。
- pgvector-node 可以免费使用吗?用的什么许可证?
- pgvector-node 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- pgvector-node 还在维护吗?
- 活跃维护中。pgvector-node 最近一次提交是在 2026年11月5日。
- pgvector-node 适合用来做什么?
- 在基于 PostgreSQL 的 Node.js 应用中实现语义搜索或检索功能。 使用现有 ORM 将 OpenAI 或 Cohere 嵌入与关系型数据一起存储。 在 Deno 或 Bun 服务中执行向量相似度查询。
- pgvector-node 怎么安装和运行?
- 从 npm 安装 pgvector 包: npm install pgvector 在数据库中启用 pgvector 扩展: await client.query('CREATE EXTENSION IF NOT EXISTS vector'); 在 node-postgres 客户端上注册向量类型: await pgvector.registerTypes(client);
- 在哪里获取 pgvector-node?
- 源代码和安装说明在 GitHub 上:https://github.com/pgvector/pgvector-node
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Rust 的 Postgres 扩展,在 pgvector 之上提供 DiskANN 索引和标签过滤,用于更快、更省成本的向量检索。
为 Go 提供 pgvector(PostgreSQL 向量扩展)支持,可配合 pgx、pg、Bun、Ent、GORM 和 sqlx 使用。
面向 Node.js 与 TypeScript 的 ORM,提供类型安全的数据库访问,支持 PostgreSQL、MySQL、SQLite、MongoDB 等。
面向 Node.js 等 JS 平台的 TypeScript/JavaScript ORM,同时支持 Active Record 与 Data Mapper 模式。
轻量级、无头的 TypeScript ORM,支持 PostgreSQL、MySQL 和 SQLite,可运行于 Node.js、Bun、Deno 及边缘运行时。