GitHub 导出/恢复

对话式 AI 助理 (Dialogflow CX) 可与 GitHub 集成。 借助此集成,您可以轻松将代理导出为 JSON 以推送到 GitHub,也可以从 GitHub 拉取以恢复代理。推送到 GitHub 的 JSON 导出格式是导出代理的展开式 ZIP 文件内容。

借助此功能,您可以使用 GitHub 源代码控制功能,例如:

限制

存在以下限制:

  • GitHub 对每小时的请求数量设置了速率限制(非企业账号为 5, 000 次,企业账号为 15,000 次)。如果您的代理推送超出此限制,Dialogflow CX 控制台将报告速率限制错误。您可以在一小时后重试推送。
  • GitHub API 对单次提交中可更新的文件数量有限制。如果文件数量超过 500 个,您可能无法从对话式代理 (Dialogflow CX) 推送到 GitHub。在这种情况下,您可以将代理导出为 ZIP 文件,并使用机器上的 Git CLI 将代理文件推送到 GitHub。
    我们会在后续的 Conversational Agents (Dialogflow CX) 版本中解决此限制。
  • 不支持对自托管代码库的私有访问,因为对话式 AI 助理 (Dialogflow CX) 无法访问这些代码库。
  • GitHub 代码库中除了通过代理导出功能导出的代理文件之外,不得包含任何其他文件。每次推送时,代码库中的所有其他文件都会被移除。

配置

如需配置此集成,请执行以下操作:

  1. 打开 Dialogflow CX 控制台
  2. 选择您的 Google Cloud 项目。
  3. 选择您的代理。
  4. 点击管理标签页。
  5. 点击测试和部署部分中的 Git
  6. 点击添加 Git 集成,系统随即会打开一个配置对话框。
  7. 输入以下内容:
    • GitHub 连接的显示名称。
    • GitHub 代码库网址(例如:https://api.github.com/repos/<repository_owner>/<repository_name>)。
    • 添加客服人员将与之互动的 GitHub 分支。您可以点击分支旁边的星形图标,将其指定为默认分支。
    • GitHub 个人令牌设置后无法查看,仅支持更新。 如果您使用的是精细的个人访问令牌,则需要拥有以下权限
      • 代码库权限 > 内容:读取和写入
      • 代码库权限 > 元数据:只读(选择“内容”权限后应自动选择)
  8. 点击连接

您可以随时点击“修改”图标来更改此配置。

推送和恢复

配置完成后,您就可以向/从 GitHub 推送/拉取代理了。

推送按钮用于导出代理并将提交内容提交到 Git 分支下拉菜单中所选的 GitHub 分支。此提交将包含整个代理,而不是特定更改,并且会删除代码库中的所有现有文件。

对于新代码库,请确保 GitHub 中至少有 1 次提交,然后才能在 Dialogflow CX 控制台中使用“推送”选项。

具有 Dialogflow Reader 角色的用户可以推送到 GitHub 代码库。为防止意外推送,请使用只读个人访问令牌配置这些代理。

恢复按钮用于从 Git 分支下拉菜单中选择的 GitHub 分支中提取代理数据,并根据这些数据恢复 Conversational Agents (Dialogflow CX) 代理。这将以与任何代理恢复操作相同的方式覆盖您的代理。

用例示例

以下示例展示了多位用户如何使用此功能向生产代理提出不同的代理更改建议。

假设您的代理使用以下 GitHub 分支:

  • Prod:正式版代理的分支
  • Dev1:用于代理开发的分支
  • Dev2:用于客服人员开发的另一个分支

用户 1 想要提议代理更改,并执行以下步骤:

  1. 将生产代理导出到新的代理。
  2. 对此客服人员文案进行所需的更改。
  3. 测试所做更改。
  4. 将经过更改的代理推送到 Dev1 分支。
  5. 创建一个针对 Prod 分支的合并请求。

用户 2 想要提议更改客服人员,并执行以下步骤:

  1. 将生产代理导出到新的代理。
  2. 对此客服人员文案进行所需的更改。
  3. 测试所做更改。
  4. 将经过更改的代理推送到 Dev2 分支。
  5. 创建一个针对 Prod 分支的合并请求。

用户 3 会审核这两位用户的合并请求,并执行以下步骤:

  1. 解决冲突。
  2. 提交已获批准的更改。
  3. 将生产版 GitHub 分支恢复为生产版 Conversational Agents (Dialogflow CX) 客服。