GitLab Duo 数据使用
GitLab Duo 使用生成式 AI 来帮助提高你的开发速度和生产力。每个 AI 原生功能都是独立运行的,不需要其他功能也能正常工作。
GitLab 根据具体任务选择合适的大型语言模型(LLMs)。这些 LLM 包括 Anthropic Claude、Fireworks AI 托管的 Codestral 和 Google Vertex AI 模型。
渐进式增强
GitLab Duo AI 原生功能作为对 DevSecOps 平台上现有 GitLab 功能的渐进式增强而设计。这些功能设计为优雅降级,不应阻止底层核心功能的运行。请注意,每个功能都受相关 功能支持策略 中定义的预期功能约束。
稳定性与性能
GitLab Duo AI 原生功能处于不同的 功能支持级别。由于这些功能的特性,使用需求可能很高,这可能导致性能下降或功能意外停机。我们已构建这些功能以实现优雅降级,并设置了控制措施来防止滥用或误用。GitLab 可随时自行决定禁用 beta 和实验性功能,适用于部分或所有客户。
数据隐私
GitLab Duo AI 原生功能由生成式 AI 模型驱动。任何个人数据的处理都符合我们的 隐私声明。你也可以访问 子处理器页面 查看我们用于提供这些功能的子处理器列表。
数据保留
以下反映了 GitLab AI 模型 子处理器 当前的保留期限:
除了 Fireworks AI 提示缓存 外,GitLab 已与 Anthropic、Fireworks AI 和 Google 达成了零日数据保留协议,用于 GitLab Duo 请求。Anthropic、Fireworks AI(在禁用提示缓存时)和 Google 在提供输出后立即丢弃模型输入和输出数据;输入和输出数据不用于滥用监控。模型输入和输出绝不会用于模型训练。
所有这些 AI 提供商都与 GitLab 签订了数据保护协议,禁止他们出于自身目的使用客户内容,除非是为了履行其独立的法律义务。
GitLab Duo Chat 和 GitLab Duo Agent Platform 分别保留聊天历史和工作流历史,帮助你快速回到之前讨论的话题。你可以在 GitLab Duo Chat 界面中删除聊天记录。除非客户通过 GitLab 支持工单 提供同意,否则 GitLab 不会保留输入和输出数据。了解更多关于 AI 功能日志记录 的信息。
Fireworks AI 提示缓存默认启用,以改善代码建议的延迟。有关更多信息以及如何选择退出提示缓存,请参阅 代码建议提示缓存文档。
训练数据
GitLab 不训练生成式 AI 模型。
有关我们 AI 子处理器 的更多信息,请参阅:
- Google Vertex AI 模型 API 的 数据治理、负责任的 AI、基础模型训练详情、Google 安全 AI 框架 (SAIF) 和 发布说明。
- Anthropic Claude 的 宪法、训练数据 常见问题解答、模型概述 和 数据时效性文章。
遥测数据
GitLab Duo 通过 Snowplow 收集器收集聚合或匿名的第一方使用数据。这些使用数据包括以下指标:
- 独立用户数量
- 独立实例数量
- 提示和后缀长度
- 使用的模型
- 状态码响应
- API 响应时间
- 代码建议还收集:
- 建议的语言(例如 Python)
- 使用的编辑器(例如 VS Code)
- 显示、接受、拒绝或出现错误的建议数量
- 建议显示的持续时间
模型准确性与质量
生成式 AI 可能产生意外结果,例如:
- 低质量
- 不连贯
- 不完整
- 产生失败的流水线
- 不安全的代码
- 攻击性或不敏感的内容
- 过时的信息
GitLab 正在积极改进我们所有的 AI 辅助功能,以提升生成内容的质量。我们通过提示工程、评估新的 AI/ML 模型来驱动这些功能,以及直接在这些功能中构建新颖的启发式算法来提高质量。
密钥检测与脱敏
GitLab Duo 包含由 Gitleaks 驱动的密钥检测和脱敏功能。它在使用大型语言模型处理代码之前,自动检测并移除代码中的敏感信息,如 API 密钥、凭据和令牌。此安全功能对于遵守数据保护法规(如 GDPR)尤为重要。
使用 GitLab Duo 时,你的代码会经历一个预扫描安全工作流程:
- 使用 Gitleaks 扫描代码中的敏感信息。
- 自动检测到的任何密钥都会从请求中移除。
GitLab Duo 自托管
当你使用 GitLab Duo 自托管 和自托管 AI 网关时,你不会与 GitLab 共享任何数据。
GitLab 自托管管理员可以使用 Service Ping 向 GitLab 发送使用统计信息。这与 遥测数据 是分开的。