Skip to main content

关于 GitHub Spark

了解如何使用 GitHub Spark 通过自然语言构建和部署智能应用。

概述

借助 GitHub Spark,你可以用自然语言描述需求,并获得一个内置数据存储、AI 功能和 GitHub 身份验证功能的全栈 Web 应用。 你可以使用提示、可视化工具或代码进行迭代,然后一键部署到完全托管的运行时环境。

Spark 与 GitHub 无缝集成,因此你可以通过同步的 GitHub codespace 开发 spark,并借助 Copilot 进行高级编辑。 你还可以创建存储库用于团队协作,并利用 GitHub 的工具和集成生态系统。

使用 Spark 的好处

Spark 可在应用开发的所有阶段提供广泛的好处。

使用自然语言或代码构建应用

使用 Spark 构建应用无需懂得如何编写代码。 你可以用自然语言描述你的应用要实现的内容,Spark 将为你生成所有必要的代码,以及应用的实时交互预览。

如果确实要浏览和编辑代码,只需在 Spark 中打开代码面板,或者进一步在 GitHub 代码空间(基于云的开发环境)中打开您的应用程序。

请参阅“什么是 GitHub Codespaces?”。

利用 AI 功能

Spark 与 GitHub Models 原生集成,因此你只需提示 Spark 即可为应用添加 AI 功能(例如,总结文本或建议图像标记)。 Spark 将自动添加所需的推理组件,并且你可以自行编辑控制这些功能的系统提示。

托管数据存储

如果 Spark 检测到需要在你的应用中存储数据,它将自动设置托管的键值存储,因此你无需担心设置和管理数据库。 数据存储在Azure(Cosmos DB)上运行,它适用于小型记录(每个条目最多 512 KB)。

内置安全保护

Spark 具有内置身份验证,因为用户需要使用其 GitHub 帐户登录才能访问您的应用。 通过设置可见性和数据访问选项来控制谁可以访问您的应用程序。

一键式部署

Spark 附带完整集成的运行时环境,支持一键部署应用。 所有必要的基础结构都会自动预配,因此你无需担心设置服务器或管理部署。

所有 spark 都由 Azure Container Apps (ACA) 托管和部署。

与 GitHub 完全集成

Spark 与 GitHub 完全集成,因此可以使用熟悉的工具和工作流来生成和管理应用。

在 GitHub Codespaces

中工作

  • 可以直接从 Spark 打开 GitHub 代码空间(基于云的开发环境),这样你可以继续在那里开发应用程序,并访问 Copilot 和所有常用的开发工具。

  • codespace 和 Spark 之间会自动同步,因此你可以在两个环境之间无缝切换。

创建双向同步的仓库

  • 只需单击一下即可为 Spark 创建存储库,以便使用标准 GitHub 工作流管理应用代码并与其他人协作。

  • 你的 spark 与存储库之间存在双向同步,因此在 Spark 或存储库主分支中所做的更改会自动在两处同步显示。 在创建存储库前对 spark 所做的所有更改都会添加到存储库中,因此你将拥有自 spark 创建以来所有更改和提交的完整记录。

邀请协作者

  • 如果你想邀请他人为构建你的 spark 做贡献,可以将他们添加为仓库的协作者。

利用标准 GitHub 功能

  • 创建了存储库之后,可以使用所有标准 GitHub 功能(如拉取请求、问题和项目板)来管理你的 spark 开发流程,以及利用 GitHub Actions 进行 CI/CD 工作流。

企业注意事项

如果你是正在评估 Spark 的企业管理员,那么可使用企业级的特定权益和控制。

有关为您的企业启用Spark的详细信息,请参阅在企业中管理 GitHub Spark

为什么为您的企业启用 Spark?

启用 Spark 能让团队更高效地将想法落实到生产环境,同时还能维持企业管理员所期望的安全性、治理及成本控制水平。

优点包括:

  •         **集中控制**。 Spark 包含在 Copilot 许可证中,并遵循现有的企业访问策略。
    
  •         **治理和安全性**。 基于 GitHub 和 Azure 构建,spark 继承企业级可靠性、身份验证和符合性。
    
  •         **透明度和成本管理**。 Spark 消耗来自 Copilot 高级请求,可以通过 GitHub 计费平台进行监视。
    
  •         **加速创新**。 Teams 可以在数小时而不是几个月内验证想法,而无需依赖于碎片化的工具链。
    

账单管理

Spark 中的每个自然语言提示都会消耗四个高级请求额度。 请参阅 GitHub Spark 计费

基础结构

Spark 的开发环境由 GitHub Codespaces 提供支持。 如果企业禁用 Codespaces,用户仍然可以访问 Spark 接口,但无法打开底层代码空间。

所有 Spark 都部署到 Azure Container Apps(ACA)。

使用 Copilot 发展你的灵感

你可以将 GitHub Spark 的功能与 GitHub Copilot 结合使用,以支持你的应用开发。

Copilot 代理模式

在 GitHub 代码空间中打开 spark 时,您可以访问 Copilot 的所有功能,包括 Copilot对话 和 Copilot 代理模式。

当你有特定任务需要处理并且希望 Copilot 能够自主编辑你的代码时,代理模式非常有用。 在代理模式下,Copilot 会确定要更改的文件、提供代码更改和终端命令来完成任务,并进行迭代来修正问题,直到原始任务完成。 你可以将你的应用开发提升到一个新水平,同时利用 Copilot 来调试和排查代码中的问题。

请参阅 Copilot 代理模式

Copilot编码代理

Spark 连接到 GitHub 存储库后,可以使用 Copilot编码代理 帮助你继续生成和维护应用,同时专注于其他事项。

使用编码代理,你可以将特定任务委托给 Copilot(通过将议题分配给 Copilot 或提示 Copilot 创建拉取请求),然后 Copilot 将在后台自主完成任务。 Copilot编码代理 可以修复 bug、重构代码、提高测试覆盖率等等。

请参阅“关于 GitHub Copilot 编码代理”。

共享你的灵感

准备发布你的 spark 时,你可以从以下可见性选项中进行选择:

  • 仅对你专用
  • 在 GitHub 上{对特定组织的成员可见}
  • 对所有 GitHub 用户可见(可能根据管理员配置对某些 托管用户帐户 禁用)

然后,你可以与他人共享你的 spark,以便他们可以查看你的应用并与之交互。 你的 spark 链接仍处于不可被发现的状态,除非他人拥有该链接。

你可以选择将你的 spark 发布为“只读”,这意味着你可以向他人展示你的应用,但他人无法编辑或删除应用内容。

Spark 的局限性

Spark 采用一套标准化技术栈(React、TypeScript)以确保可靠性。 为获得最佳效果,建议在 Spark 的 SDK 和核心框架内进行开发。

你可以添加外部库,但不能保证与 Spark 的 SDK 兼容。 添加任何外部库后,你都应始终对你的 spark 进行全面测试。

默认情况下,你的 spark 的数据存储对于已发布 spark 的所有用户是共享的。 在让其他用户看到你的应用之前,你应该确保从应用中删除任何专用或敏感数据。 你可以选择将你的 spark 发布为“只读”,这意味着你可以向他人展示你的应用,但他人无法编辑或删除应用内容。

其他阅读材料

  •         [AUTOTITLE](/copilot/responsible-use/spark)
    
  •         [AUTOTITLE](/copilot/tutorials/spark/build-apps-with-spark)
    
  •         [AUTOTITLE](/copilot/how-tos/troubleshoot-copilot/troubleshoot-spark)