pgvector/pgvector-go

pgvector support for Go

解决的问题

提供对 pgvector PostgreSQL 扩展的 Go 语言支持,使开发者能够使用 Go 在 PostgreSQL 数据库中存储、查询和索引向量嵌入。

工作原理

该库作为 Go 应用程序与 pgvector 扩展之间的桥梁。它提供专门的向量类型(包括半精度和稀疏向量),并为流行的 Go 数据库库(如 pgxpgBunEntGORMsqlx)提供集成包装器。

适用人群

需要使用 PostgreSQL 作为向量存储来实现向量相似性搜索、推荐系统或 RAG(检索增强生成)工作流的 Go 开发者。

主要亮点

  • 广泛的库支持:与 GORM、Ent、pgx 等主要 Go ORM 和数据库驱动集成。
  • 定制向量类型:支持标准向量、用于减少存储的半精度向量,以及用于高维数据的稀疏向量。
  • 索引集成:简化 HNSW 和 IVFFlat 索引的创建,实现快速近似最近邻搜索。
  • 灵活的距离度量:支持 L2 距离、内积和余弦距离查询。

相关

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