Skip to main content

使用 GitHub Spark 生成和部署 AI 驱动的应用

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

谁可以使用此功能?

Copilot Pro+, Copilot Enterprise

注意

简介

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

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

本教程将指导你完成使用 Spark 构建和部署应用的整个生命周期,并探索其功能。

先决条件

  • 一个GitHub帐户,其中包含Copilot Pro+或Copilot Enterprise许可证。

步骤 1:创建 Web 应用

在本教程中,我们将创建一个简单的市场营销工具应用,在该应用中:

  • 用户将输入自己要营销的产品的描述。
  • 该应用会生成营销文案,并推荐视觉策略和目标受众。
  1. 导航到 https://github.com/spark。

  2. 在输入字段中,输入你对应用的描述。 例如:

    Copilot prompt
    Build an app called "AI-Powered Marketing Assistant."
    
    The app should allow users to input a brief description of a product or service. When the user submits their brief, send this information to a generative AI model with a prompt that asks the AI to return the following:
       - Persuasive and engaging marketing copy for the product or service.
       - A visual strategy for how to present the product/service (e.g., suggested imagery, colors, design motifs, or mood).
       - A recommendation for the ideal target audience.
    The app should display these three elements clearly and in an organized manner.  The app should look modern, fresh and engaging.
    

    提示

    • 描述应具体,并提供尽可能多的详细信息以获得最佳结果。 可以请求 数据变量.copilot.copilot_chat_short %}优化或提出对初始提示的改进建议。
    • 或者,可以将 Markdown 文档拖放到输入字段中,为 Spark 提供更多关于你期望构建的内容的上下文信息。
  3. 也可以选择上传图像,为 Spark 提供所需应用的视觉参考信息。 模拟数据、草图或屏幕截图均可帮助 Spark 理解你想要构建的内容。

  4. 单击“”**** 以构建应用。

    注意

    Spark 始终会生成 Typescript 和 React 应用。

步骤 2:优化和扩展应用

当 Spark 完成应用生成后,可以在实时预览窗口中对其进行测试。 在此处,可以使用自然语言、视觉编辑控件或代码对应用进行迭代和扩展。

  1. 要使用自然语言更改应用,请在左侧边栏的“Iterate”选项卡下的主输入字段中输入说明,然后提交。
  2. 您可以选择在“Iterate”选项卡中,单击输入字段正上方的某个“建议”来开发您的应用。
  3. Spark 会自动通知检测到的错误。 要修复错误,请点击“Iterate”选项卡中输入栏上方的Fix All
  4. 也可以选择单击“ Code”**** 以查看和编辑底层代码。 代码编辑面板内置有 Copilot 内联建议。
  5. 要对应用的特定元素进行针对性更改,请单击右上角的目标图标****,然后在实时预览窗格中悬停鼠标并选择一个元素。

步骤 3:自定义应用的样式

接下来,使用 Spark 的内置工具更改应用的样式。 或者也可以直接编辑代码。

  1. 更改应用的整体外观:

    • 单击“Theme”**** 选项卡,调整字体、颜色、边框半径、间距和其他视觉元素。
    • 从预生成的主题中进行选择,轻松更新应用的整体样式。
  2. 要针对特定组件进行视觉编辑,请单击目标图标****,然后在预览窗格中选择应用的一个元素。 左侧边栏中将显示与该特定元素相关的样式控件。

  3. 也可以在代码中编辑样式:

    • 单击“”**** 以打开代码编辑器。

    • 修改 CSS、Tailwind CSS 或自定义变量以进行精细控制(例如,内边距、间距、字体、颜色)。

      提示

      可以导入自定义字体(如 Google Fonts)或直接在 Spark 代码编辑器中添加高级样式。 如果不熟悉样式语法,可以让 Copilot对话 提供分步指导。

  4. 单击Assets选项卡上传要展示在应用中的资产。

    • 添加图像、徽标、视频、文档或其他资源,为应用增添个性化元素。
    • 上传完成后,在“Iterate”选项卡中告知 Spark 你希望如何将这些资源整合到应用中。

步骤 4:存储和管理数据

如果 Spark 检测到你的应用需要存储数据,它会自动使用键值存储为你设置数据存储功能。

对于我们的营销应用程序,我们来添加数据存储功能,以便用户可以保存自己喜欢的营销文案,并在稍后轻松访问它们。

  1. 在“Iterate”选项卡中使用以下说明指导 Spark:

    Copilot prompt
    Add a "Favorites" page where users can save and view their favorite marketing copy results.
    
  2. 应用生成完成后,与应用交互以测试收藏的保存和检索功能。

  3. 查看“Data”选项卡以查看和编辑存储的值。

  4. 如果你确定希望 Spark 保存数据,请告知其“在本地存储数据”或“不持久存储数据”。

步骤 5:优化 AI 功能

接下来,迭代应用中包含的 AI 功能,这些功能由 GitHub Models 提供支持。

Spark 会自动检测应用功能何时需要 AI 支持。 它会为每个 AI 功能自动生成提示,集成最适合的模型,并代表你管理 API 集成和大语言模型推理。

  1. 单击“Prompts”**** 选项卡。
  2. 请查看 Spark 生成的用于支持您应用中每个 AI 功能的提示。
    • 在我们的市场营销应用案例中,Spark 生成了三个独立的提示(分别用于营销文案生成、视觉策略推荐和目标受众推荐)。
  3. 单击每个提示即可直接查看和编辑,无需进入代码层面。 根据您的用例进行更好地调整。
  4. 测试应用以查看更新后的结果。

步骤 6:使用代码和 Copilot 进行编辑和调试

可以直接在 Spark 或通过同步的 GitHub 代码空间查看或编辑您的应用代码。

注意

  • Spark 使用推荐的技术栈(React, TypeScript)以确保可靠性。
          **
          **为获得最佳效果,建议在 Spark 的 SDK 和核心框架内进行开发。
  • 可以添加外部库****,但无法保证兼容性,因此需进行全面测试。
  • 只要遵循有效的语法和 Spark 的框架规范,可直接通过编辑 React 代码来添加模型上下文****。
  1. 在 Spark 中编辑代码:
    • 单击“ 代码”****。
    • 利用访问编辑器中 Copilot 内联建议的权限,导航文件树并进行任何编辑。 更改会即时反映在实时预览窗口中。
  2. 若要进行更高级的编辑,请按以下操作: * ** ** ** **在右上角,单击“”,然后单击“ Open codespace”(一个功能完备的云 IDE),在新浏览器选项卡中启动 codespace。 * ** **进入 codespace 后,单击“”以打开 Copilot,进行更高级的更改。
    • 在提示框中,选择“Agent”**** 模式,使 Copilot 能够自主构建、评审和调试你的代码。
    • 选择“Edit”**** 模式,让 Copilot 评审应用代码并提出改进和修复建议。
    • 选择“Ask”**** 模式,让 Copilot 解释代码并帮助你理解代码,或 Spark 中显示的任何错误。
    • 在 codespace 中所做的更改会自动同步到 Spark。

步骤 7:部署并分享你的应用

Spark 附带完整集成的运行时环境,支持一键部署应用。

注意

  • 部署 Spark 时,如果选择使其对其他用户可见,请注意,应用中的数据会共享给所有可以访问你的应用的用户。 在更新可见性设置之前,请确保 spark 中不包含任何敏感数据。
  • 你也可以选择将 Spark 设置为只读模式共享,这样其他用户可以查看你应用中的内容,但无法编辑内容、删除文件或记录,也不能创建新项****。
  1. 在右上角,单击“Publish”****。

  2. 默认情况下,你的 spark 为私密状态,仅你自己可访问。 在“可见性”下,选择是希望 spark 保持私有状态,还是使其可供 GitHub 上的特定组织的成员使用,或所有 GitHub 用户。

    GitHub Spark 发布菜单的屏幕截图。 用橙色框出“所有 GitHub 用户”可见性选项。

  3. 在“数据访问”下,选择是要给予其他用户只读权限还是写入权限。

    选择只读可让其他人查看你的应用,但不能创建、编辑或删除内容****。

    例如,如果你创建了一个家庭日历应用,并且希望用户能够查看该应用,但不希望他们创建、编辑或删除事件,那么选择只读即可,这样用户就无法修改你的 Spark 数据存储中的内容****。

  4. 单击“Visit site”****,前往已部署的实时应用。 复制站点 URL 以与他人分享。

    发布应用时,Spark 会自动提供基于云的存储和 LLM 推理功能,作为集成运行时的一部分供应用使用。

    将基于 spark 的名称生成 spark 的 URL。 可以编辑应用名称,Spark 会自动管理旧 URL 到最新 URL 的重定向。

步骤 8:通过存储库邀请协作者

现在,你有一个功能正常、已部署的应用,可以通过创建 GitHub 存储库并将其链接到你的 spark,就像与任何其他 GitHub 项目一样,继续构建并协作开发你的应用。

  1.        **
           **
           **
           **在右上角,单击“<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="More actions" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>”,然后单击“<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-repo-push" aria-label="repo-push" role="img"><path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0V1.5h-8a1 1 0 0 0-1 1v6.708A2.493 2.493 0 0 1 4.5 9h2.25a.75.75 0 0 1 0 1.5H4.5a1 1 0 0 0 0 2h4.75a.75.75 0 0 1 0 1.5H4.5A2.5 2.5 0 0 1 2 11.5Zm12.23 7.79h-.001l-1.224-1.224v6.184a.75.75 0 0 1-1.5 0V9.066L10.28 10.29a.75.75 0 0 1-1.06-1.061l2.505-2.504a.75.75 0 0 1 1.06 0L15.29 9.23a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018Z"></path></svg> Create repository”。
    
  2. 在打开的对话框中,单击“Create”****。

在 GitHub 的个人帐户下创建一个新的专用存储库,该存储库的名称基于 spark 的名称。

在创建存储库前对 spark 所做的所有更改都会添加到存储库中,因此你将拥有自 spark 创建以来所有更改和提交的完整记录。

你的 spark 与存储库之间存在双向同步,因此在 Spark 或存储库主分支中所做的更改会自动在两处同步显示。

还可以在存储库中创建问题,并将其分配给 Copilot编程助理,使其能够起草用于修复和改进的拉取请求。

后续步骤

探索可使用 Spark 构建的更多创意:

  • 快速制作新创意的原型****:如果有功能或应用的具体创意,可以上传原型图、草图或屏幕截图,甚至可以将 Markdown 文档粘贴到 Spark,并请求 Spark 实现你的创意。
  • 为自己和团队构建内部工具****:如果你有当前依赖文档或电子表格的常规工作流或流程,可向 Spark 描述该工作流或流程,它能将其转化为交互式 Web 应用。

其他阅读材料

  •         [AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-github-spark)
    
  •         [AUTOTITLE](/copilot/concepts/copilot-billing/about-billing-for-github-spark)
    
  •         [AUTOTITLE](/free-pro-team@latest/site-policy/github-terms/github-pre-release-license-terms)