参与贡献
我们欢迎所有的贡献,包括错误报告、Bug 修复、文档改进、功能增强和创意。快速入门
以下是一些可以帮助您开始为 Chroma 贡献力量的有用链接- Chroma 代码库托管在 Github 上
- 问题通过 Github Issues 进行跟踪。如果您发现任何问题,请在此处报告,并确保根据您报告的问题类型填写正确的表格。
- 要在本地运行 Chroma,您可以参考 开发说明。
- 如果您想贡献但不知道从哪里开始,可以搜索带有 Good first issue(适合首次贡献)标签的问题。
- Chroma 文档(包括此页面!)也托管在 Github 上。如果您发现文档有任何问题,请在 文档的 Github Issues 页面上报告。
贡献代码和创意
功能需求
针对 Chroma 的功能请求和重大更改提案应通过 GitHub Issues 提交。如果您想建议新功能或重大更改,请开启一个 Issue 并选择相关的模板。这能让 Chroma 核心团队和社区直接在 Issue 中进行讨论并提供反馈。对于 Bug 修复或文档更新等较小的更改,您可以照常提交 Issue 或开启 Pull Request。 提案一旦提交,Chroma 团队将进行审核,并在 GitHub 中跟踪其状态。我们使用标签和 Issue 状态来表示提案的进度——例如,它是处于审核中、已接受、正在实施还是已关闭。更多信息请参阅我们的 GitHub Issues 页面和贡献指南。 您可以加入我们的 Discord,并在 #feature-ideas 频道与我们交流。我们非常乐意与社区讨论新的想法和功能。拉取请求 (Pull Requests)
若要提交对 Chroma 的更改,请针对 Chroma 或文档提交 Pull Request。Pull Request 将由 Chroma 团队审核,获批后将合并到仓库中。我们会尽力及时审核,但由于团队规模较小,请保持耐心。如果您的更改符合项目目标,我们将尽快进行整合。我们要求您在 Pull Request 标题中添加前缀,以指示您提案的更改类型。常用前缀如下:路线图
您可以在 更新日志 (changelog) 中跟踪 Chroma 项目的进度。 Chroma 由一个小型核心团队构建和维护,因此我们在投入工程力量时非常有针对性。Chroma 有两种部署模式——分布式 Chroma 和单节点本地 Chroma——目前它们依赖于不同的存储子系统。该数据库现在并将永远保持开源(Apache 2.0 协议),我们的云服务运行的也是相同的开源分布式系统。 目前,我们大部分的工程精力集中在分布式 Chroma 和云服务上。因此,本地 Chroma 可能会暂时缺少分布式系统中具备的某些功能或行为。恢复并保持 100% 的功能和 API 一致性仍是我们积极追求的目标,而统一底层存储系统是这项工作的关键部分。遥测
Chroma 包含一项收集 匿名 使用信息的遥测功能。为什么?
我们使用这些信息来帮助我们了解 Chroma 的使用方式,帮助我们确定新功能和 Bug 修复的优先级,并帮助我们提高 Chroma 的性能和稳定性。选择退出
如果您希望退出遥测,可以通过以下两种方式操作。在客户端代码中
- Python
- TypeScript
- Rust
在您的客户端设置中将
anonymized_telemetry 设置为 False在 Chroma 后端服务器中使用环境变量
在您的 shell 或服务器环境中将ANONYMIZED_TELEMETRY 设置为 False。 如果您在本地计算机上使用 docker-compose 运行 Chroma,可以在与 docker-compose.yml 文件位于同一目录的 .env 文件中设置此值: