关于 GitHub Copilot
GitHub Copilot 是一款 AI 结对程序员,在你编写代码时提供自动完成样式的建议。你可以通过开始编写想要使用的代码,或通过编写描述你希望代码执行的操作的自然语言注释,从 GitHub Copilot 接收建议。GitHub Copilot 分析你正在编辑的文件中的上下文以及相关文件,并从你的文本编辑器中提供建议。GitHub Copilot 由 GitHub、OpenAI 和 Microsoft 开发的生成式 AI 模型提供支持。
GitHub Copilot 在出现在公开仓库中的所有语言上进行训练。对于每种语言,你收到的建议的质量可能取决于该语言的训练数据的数量和多样性。例如,JavaScript 在公开仓库中得到了很好的体现,并且是 GitHub Copilot 最好的支持语言之一。在公开仓库中体现较少的语言可能会产生较少或较不健壮的建议。
GitHub Copilot 可作为 Visual Studio Code、Visual Studio、Vim、Neovim、JetBrains IDE 套件和 Azure Data Studio 中的扩展使用。有关在 Visual Studio Code、Visual Studio、Vim、Neovim 和 JetBrains 中使用 GitHub Copilot 的详细信息,请参阅“在编辑器中使用 GitHub Copilot 代码建议”。有关在 Azure Data Studio 中使用 GitHub Copilot 的详细信息,请参阅 Microsoft Learn 中的 GitHub Copilot 扩展。
了解 Copilot Individual、Copilot Business 和 Copilot Enterprise 之间的差异
Copilot Individual | Copilot Business | Copilot Enterprise | |
---|---|---|---|
定价 | 每月 10 美元 每年 100 美元 | 每月每位用户 19 美元 | 每月每位用户 39 美元 |
GitHub 帐户类型 | 个人帐户 | 组织或企业帐户 | GitHub Enterprise Cloud 上的企业帐户 |
Copilot Chat | |||
CLI 中的 GitHub Copilot | |||
代码片段收集 | (除非已禁用) | ||
阻止与公共代码匹配的建议 | |||
直接插入编辑器 | |||
提供多行函数建议 | |||
全组织策略管理 | |||
排除指定的文件 | |||
审计日志 | |||
GitHub.com 中的 Copilot Chat | |||
VS Code 中的 Copilot Chat 技能 | |||
Visual Studio 中的 Copilot Chat 技能 | |||
GitHub Mobile 中的 Copilot Chat | |||
Copilot 拉取请求摘要 | |||
Copilot 知识库 |
使用 GitHub Copilot
您可以在实际场景中查看 GitHub Copilot 的操作。有关详细信息,请参阅 GitHub Copilot 网站。
GitHub Copilot 提供的建议来自 OpenAI 根据数十亿行开源代码构建的模型。因此,GitHub Copilot 的训练集可能包含不安全的编码模式、错误或对过时 API 或习惯用法的引用。当 GitHub Copilot 根据此训练数据生成建议时,这些建议也可能包含不良模式。
您有责任确保代码的安全性和质量。我们建议您在使用 GitHub Copilot 生成的代码时采取与使用您自己未编写的任何代码时相同的预防措施。这些预防措施包括严格的测试、IP 扫描以及跟踪安全漏洞。GitHub 提供了许多功能来帮助您监控和提高代码质量,例如 GitHub Actions、Dependabot、CodeQL 和代码扫描。所有这些功能均可在公共存储库中免费使用。有关详细信息,请参阅“了解 GitHub Actions”和“GitHub 安全功能”。
GitHub Copilot 使用过滤器阻止提示中的攻击性词语,并避免在敏感语境中生成建议。我们致力于不断改进过滤系统,以更智能地检测和移除 GitHub Copilot 生成的攻击性建议,包括有偏见、歧视性或带有侮辱性的输出。如果您看到 GitHub Copilot 生成的攻击性建议,请直接向 [email protected] 报告该建议,以便我们改进我们的保障措施。
关于 GitHub Copilot 的计费
GitHub Copilot 是一项付费功能,需要按月或按年订阅。GitHub Copilot 订阅可以通过 GitHub.com 上的个人帐户使用 Copilot Individual 支付和管理,也可以通过组织帐户使用 GitHub Copilot Business 集中支付和管理。
GitHub 上流行的开源项目的经过验证的学生、教师和维护者有资格免费使用 Copilot Individual。如果您符合免费 Copilot Individual 订阅的标准,当您访问 GitHub Copilot 订阅页面时,您将收到自动通知。如果您不符合免费 Copilot Individual 订阅的标准,您将获得 30 天的免费试用,之后需要付费订阅才能继续使用。
有关更多信息,请参阅“关于 GitHub Copilot 的计费”。
关于 JetBrains IDE 中 GitHub Copilot 插件的许可证
GitHub, Inc. 是 JetBrains 插件的许可方。此插件的最终用户许可协议是 GitHub 附加产品和功能条款,使用此插件受这些条款约束。JetBrains 对插件或此类协议不承担任何责任或义务。使用该插件,即表示您同意上述条款。
关于 GitHub Copilot Individual 的隐私
详细了解 GitHub 对 GitHub Copilot Individual 的数据收集、保留和处理。
GitHub Copilot Individual 收集哪些数据?
GitHub Copilot Individual 依赖于文件内容和附加数据才能工作。它收集数据以提供服务,其中一些数据随后被保留以进行进一步分析和产品改进。GitHub Copilot 为个人用户处理以下数据。
用户参与数据
当您使用 GitHub Copilot 时,它将收集与与 GitHub Copilot 交互时产生的事件有关的使用信息。这些事件包括用户编辑操作,例如接受或拒绝建议,以及错误和一般使用数据,以识别诸如延迟和功能参与之类的指标。此信息可能包括个人数据,例如匿名标识符。
提示
提示是 GitHub Copilot 发送给 GitHub 以生成建议的代码和支持性上下文信息的集合,包括您通过聊天界面提交的数据。除非您在设置中禁用了代码片段收集,否则代码编辑器中的 GitHub Copilot 会保留提示。CLI 中的 GitHub Copilot 和 GitHub Mobile 中的 Copilot Chat 会保留提示以提供服务。
建议
建议是 AI 模型接收并处理提示后返回给您的代码、函数或其他输出。除非您在设置中禁用了代码片段收集,否则代码编辑器中的 GitHub Copilot 会保留建议。CLI 中的 GitHub Copilot 和 GitHub Mobile 中的 Copilot Chat 会保留建议以提供服务。
GitHub Copilot Individual 中的数据如何使用和共享?
GitHub 和 Microsoft 使用用户参与数据、提示和建议来改进 GitHub Copilot 和相关服务,并进行产品和学术研究。
- 增强 GitHub Copilot:收集到的数据用于通过评估处理和预测用户可能觉得有价值的建议的不同策略来改进 GitHub Copilot。
- 开发相关的开发者产品和服务:从数据中获得的见解有助于 GitHub 和 Microsoft 提供的其他开发者工具和服务的发展和改进。
- 检测滥用和违反政策:检查数据以调查和识别与 GitHub Copilot 相关的任何潜在滥用或违反可接受使用政策的行为。
- 进行实验和研究:使用数据进行与开发人员及其使用开发工具和服务的相关实验和研究。这有助于深入了解用户行为和偏好。
- 评估 GitHub Copilot:通过衡量 GitHub Copilot 对用户的积极影响和好处来评估其影响。
- 改进代码生成模型:利用收集的数据来优化和增强负责生成代码的基础模型。通过使用正面和负面示例来实现此目的。
- 微调排名和排序算法:数据有助于优化和改进用于对建议进行排名和排序的算法,从而增强整体用户体验。
如何保护传输的代码片段数据?
为了确保敏感数据(如用户编辑操作、源代码片段和存储库 URL/文件路径)的安全,实施了多项保护措施。这些措施包括
- 传输数据加密:所有数据在传输过程中和静止时都经过加密,确保其安全且未经授权方无法访问。
- 严格的访问控制:对数据的访问受到严格监管,仅限于特定人员,包括
- 在 GitHub Copilot 团队或 GitHub 平台健康团队工作的指定 GitHub 人员。
- 参与 GitHub Copilot 团队的 Microsoft 人员。
- 基于角色的访问控制和多因素身份验证:需要访问代码片段数据的人员必须遵守基于角色的访问控制。此外,还实施了多因素身份验证以增加一层安全性,确保只有经过授权的人员才能访问数据。
GitHub Copilot Individual 的用户如何控制其代码片段数据的用途?
GitHub Copilot 为你提供了有关如何使用其收集的数据的选择。
- 用户参与数据:用户参与数据(包括匿名标识符和一般使用数据)对于 GitHub Copilot 的正常运行至关重要。在你使用 GitHub Copilot 时,收集、处理此数据并与 Microsoft 共享。
- 保留提示和建议:你可以决定在代码编辑器中使用 GitHub Copilot 时,GitHub 是否保留提示和建议并与 Microsoft 共享。可以在 GitHub Copilot 设置 中调整这些首选项。
- 请求删除:如果您希望删除与您的 GitHub 身份相关联的提示和建议,请通过 GitHub 支持门户 联系我们。
我的私有代码会与其他用户共享吗?
不会。我们遵循负责任的实践,根据我们的 隐私声明 确保您的代码片段不会被用作 GitHub Copilot 其他用户的建议代码。