SuperAPI AI 工具集

pgvector

智能体与模型

查看项目

更新于 10-15 20:31

技能介绍

用途:在 Postgres 中用 pgvector 扩展为 AI 智能体保存向量记忆,把向量、事实与归属方一起存入数据库,避免在项目已用 Postgres 时再引入 Pinecone/Chroma。

主要能力:支持向量类型 vector(n)、余弦(<=>)、L2(<->)、内积(<#>) 运算符;提供 HNSW 与 IVFFlat 索引;区分语义知识表(agent_knowledge)与情景记忆表(agent_memories),后者用 kind 与 expires_at 实现遗忘与 TTL;支持按 tenant_id/user_id 过滤的多租户检索,以及基于 source_id 的幂等 upsert/delete。

使用方式:先执行 CREATE EXTENSION IF NOT EXISTS vector; 向量维度须与嵌入模型一致,禁止无维度 vector。索引与 ORDER BY 使用同一度量,查询与文档用同一模型嵌入。检索时在 SQL 中过滤租户,例如 WHERE tenant_id = $tenant 并按 embedding <=> $query 排序取 LIMIT。写入用 INSERT … ON CONFLICT DO UPDATE,删除按 source_id。Prisma 可用 Unsupported("vector") 或生态扩展,Drizzle 视版本,sqlc 用 ::vector 参数。

适用场景:智能体情景/语义记忆、RAG、多租户知识库、需要 TTL 的偏好与决策记录。

限制与注意:不得把嵌入存为 float[]/JSON;改维度需 migration 加重新嵌入;IVFFlat 需在初始数据量后创建并 ANALYZE;HNSW 占用更多内存;选择性过滤可能被 planner 忽略,需实测或 overfetch;备份恢复需包含扩展。具体配置、价格与平台支持暂未提供。