1. 需求背景
Qanything 开源项目的重要目标用户应该是开发者,开发者对基础设施的需求往往是多样的,当前向量数据库用的是milvus,希望能添加一个对 pgvector 向量数据库的支持。满足开发者在不同场景中对向量数据库的需求。
  1. 用户故事
  • 作为一个没有 DBA 的小团队的开发者,我对维护多种数据库基础设施感到吃力,数据库尽可能都用 pgsql 解决。我需要在引入 qanything 开发业务系统时,也能一样使用 pgsql 完成。
  • 作为一个对技术选型有严格限制的团队开发者,milvus 并不在我们的技术选型清单上。我需要一个更通用的数据库做为我项目的向量库。
  • 作为 Qanything 开源社区的运营者,我项目组的重要的任务也是推广 bce 系列的模型,引领 bce 系列模型的生态建设。我需要团队维护一个好的pgvector client,这对于我的工作有很大帮助。
  1. 详细功能
milvus client 和 pgvector client 尽可能使用同样的抽象,我在 model_config 中调整一个配置项,初始化时就可以在不同的数据库中进行切换。