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 索引的建立,用於近似最近鄰搜尋。
相關
- 專案
- 專案
- 專案
- 專案
- 專案