pgvector/pgvector-node

pgvector support for Node.js, Deno, and Bun (and TypeScript)

解决的问题

pgvector-node 为 JavaScript 和 TypeScript 环境提供了一种标准化的方式来使用 pgvector PostgreSQL 扩展进行向量相似性搜索。它弥合了数据库的向量类型与各种流行的 Node.js、Deno 和 Bun 运行时之间的差距,使开发者无需为每次操作编写原始 SQL 即可存储和查询嵌入向量。

工作原理

该库作为广泛数据库客户端和 ORMs 的兼容层。它提供实用函数(如 toSql)将 JavaScript 数组格式化为数据库可理解的格式,并直接集成到支持库的模式定义和查询构建器中。它还支持特殊向量类型,包括稀疏向量,并提供计算距离的辅助方法(如 L2、余弦和内积)。

适用人群

使用 PostgreSQL 作为 AI 应用(如 RAG 或推荐系统)的向量数据库,且在使用 Node.js、Deno 或 Bun 并使用任何支持的 ORMs 或查询构建器的后端开发者。

主要亮点

  • 广泛的生态系统支持:兼容大量库,包括 Prisma、Sequelize、TypeORM、Drizzle ORM、Knex.js 和 Kysely。
  • 运行时灵活性:可在 Node.js、Deno 和 Bun 上运行。
  • 距离度量支持:内置支持 L2 距离、余弦距离、内积、汉明距离和杰卡德距离。
  • 稀疏向量支持:包含 SparseVector 类,用于处理包含大量零值的高维向量。
  • 索引辅助工具:简化 HNSW 和 IVFFlat 索引的创建,用于近似最近邻搜索。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目