跳转到主要内容

这是本节的多页打印视图。 .

返回本页常规视图.

社区

贡献指南、项目路线图与开源生态采用者。

1 - 参与贡献 `pgvecto.rs`

我们欢迎来自开源社区、个人开发者及合作伙伴的各种形式的贡献。本文档为您介绍参与贡献的完整流程。

我们欢迎来自开源社区、个人开发者及合作伙伴的各种形式的贡献。如果你有兴趣参与贡献,希望本文档能帮助你清晰了解贡献流程。

无论是资深贡献者还是刚接触开源的新手,以下指南都会非常有帮助:

行为准则

行为准则(Code of Conduct)是一份确立项目参与者行为预期的文档。采用并执行行为准则有助于为社区营造积极健康的交流氛围。

如果你还不了解什么是行为准则,请参阅你的行为准则 | Open Source Guides。

参与方式

我们的社区始终欢迎热心开发者以各种方式参与其中。

⚽ 开始使用 pgvecto.rs

阅读并跟随快速开始指南操作。一切是否都符合预期?如果遇到问题,我们随时欢迎改进建议。你可以在 💬 Discord 上与我们交流,或在 GitHub 上提交 Issue。

🙋 协助整理 Issue 和 Pull Request

即使不编写任何代码,协助整理和分类新提交的 Issue 与 Pull Request 也是为项目做出重要贡献的绝佳方式:

  • 如果你认为某个 Issue 未提供解决问题所需的完整细节,可以礼貌地请求补充更多信息。
  • 建议合适的标签(Label),以帮助对 Issue 进行分类。
  • 标记已经过时(stale)或应当关闭的 Issue。
  • 询问测试计划并协助审查代码(Code Review)。

👨‍💻 为 pgvecto.rs 贡献代码

如果你发现了想要修复的 Issue,欢迎提交 Pull Request。请先阅读开发教程以快速上手。

👉 完善文档

大家都喜欢清晰易读的文档。如果你发现任何令人困惑或可以改进的地方,可以点击大多数文档页面底部的“编辑此页”,直接跳转到 GitHub 界面进行修改并提交更改建议。

💬 在 Discord 上交流 pgvecto.rs

欢迎加入我们的 💬 Discord 与社区一起交流讨论。

2 - 路线图

pgvecto.rs 的中期与长期发展规划,包括稀疏向量支持、流式工作负载优化、单机大容量向量存储及物理复制支持。
警告

我们强烈建议你了解并选用我们全新的 VectorChord 实现,它提供了更高的稳定性和性能。建议现有用户迁移至 VectorChord,具体步骤请参阅迁移指南。

中期规划

稀疏向量支持

稀疏向量在 RAG 和文本检索等任务中表现出了优异的性能,并且能够与稠密向量互补以提升检索效果。因此,我们计划支持稀疏向量索引。

更好地支持流式工作负载

作为数据库,支持向量数据的灵活插入和删除至关重要。然而,当前主流的 HNSW 算法对删除操作的支持并不理想,通常需要重建索引。因此,我们计划参考 DiskANN 论文并支持 Vamana 算法。Vamana 算法是一种基于图的增量索引算法,无需重建索引即可良好地支持向量的动态删除与插入。

单机支持更大规模向量

在相同硬件资源下支持更多向量,对于帮助用户降低成本具有重要意义。目前我们已经支持用户以 fp16 格式存储向量,在几乎不损失精度的前提下仅需一半的内存和存储空间。我们还计划支持更多向量格式(如 fp8 和 int8),以进一步降低存储和内存消耗。同时,我们也在积极探索基于 SSD 的向量索引算法(如 DiskANN)。

物理复制与流复制支持

pgvecto.rs 目前是一个独立于 PostgreSQL 的外部存储系统,自行管理索引内存和磁盘存储,因此无法开箱即用地支持物理复制。我们计划实现自定义的 WAL 资源管理器(Resource Manager),以满足物理复制的要求,使用户在 PG 中使用复制更加便捷。

长期规划

在 PostgreSQL 内支持十亿级(1B)向量

我们的终极目标是在 PostgreSQL 中支持 10 亿(1 Billion)规模的向量检索。要实现这一目标仍需克服诸多挑战,可能需要借助表访问方法(Table Access Method)实现自定义的向量存储方案,或者结合 Citus 等分布式分片扩展。目前我们在该领域的探索尚处于早期阶段,非常欢迎感兴趣的开发者与我们探讨交流。

与我们交流

想要参与进来?欢迎随时参与讨论和代码贡献!

以上规划项并非 MVP 的必需功能,而是我们长期路线图的一部分。如果你对其中任何方向感兴趣,欢迎随时加入!

更多规划将在未来持续补充。

3 - 采用者案例

如果你在应用中使用了 pgvecto.rs,欢迎编辑此页面。我们非常期待收到你的反馈并协助改进使用体验。

添加你的应用

如果你在自己的应用中使用了 pgvecto.rs,欢迎编辑此页面。我们非常高兴能收到你的反馈,并协助你不断提升 pgvecto.rs 的使用体验。