版本和环境

您可以创建多个代理版本,并将它们发布到不同的环境。

当您修改某一代理时,该代理即称为“代理草稿”。您可以随时将代理草稿保存为一个“代理版本”,使其成为代理的不可变快照。

保存后的代理草稿会被发布到默认环境。 创建代理版本时,您可以将其发布到自定义环境。 您可以创建各种自定义环境来进行以下活动:

  • 测试
  • 开发
  • 生产

生产流量

始终使用代理版本来处理生产流量

每当团队的开发者进行更改时,草稿代理都会更新。很容易无意间中断草稿代理(尤其是当多人拥有代理的写入权限时)。此外,最近修改过的草稿代理与训练过的模型可能会不一致,这是因为训练可能会有延迟或需要手动执行。

您应始终使用代理版本来处理生产流量。在将草稿代理提升为正式版之前,应先对其进行测试;如果发现任何问题,您可以回滚到旧版。

考虑更改版本时可能出现的代理错误

如果您在会话处于活跃状态时更改生产环境中的代理版本,可能会导致某些活跃会话出现代理错误。如果旧版和新版之间存在会破坏会话状态的不一致之处,就可能会发生这些错误。因此,您应计划在非高峰时间或休息时间更改版本。

在新环境中发布版本

如需将代理草稿发布到某个版本并创建自定义环境,请执行以下操作:

控制台

  1. 前往 Dialogflow ES 控制台
  2. 在左侧边栏菜单顶部附近选择您的代理。
  3. 点击代理名称旁边的设置 按钮。
  4. 点击环境 (Environments) 标签页。
  5. 点击发布版本 (Publish a version)。
  6. 添加可选说明,然后点击下一步 (Next)。
  7. 选择 + 新建环境 (+New Environment)。

  8. 输入环境名称。

  9. 为该环境选择 fulfillment 方法。

  10. 为该环境选择文字转语音的设置。

  11. 点击发布 (Publish)。

  12. 环境信息现在会列在自定义环境 (Custom environments) 部分中。

API

  1. 版本类型调用 create 方法以创建新的代理版本。
  2. 环境类型调用 create 方法以创建新环境。将刚创建的代理版本提供给 agentVersion 字段。

将环境还原为先前版本

您可以将环境还原为旧版代理:

控制台

  1. 点击自定义环境 (Custom environments) 部分中的环境。
  2. 此时将打开环境设置对话框。
  3. 发布历史记录 (Publishing History) 部分中,点击先前发布版本对应的选项 按钮。
  4. 点击还原为此版本 (Revert to this version)。
  5. 发布历史记录将会更新。

API

环境类型调用 patch/update 方法以更新环境。将先前创建的代理版本提供给 agentVersion 字段。

将旧版本加载到草稿

将先前版本加载到草稿后,系统会使用所选代理版本覆盖默认环境中的草稿代理。

要将旧版本加载到草稿,请执行以下操作:

控制台

  1. 前往 Dialogflow ES 控制台
  2. 在左侧边栏菜单顶部附近选择您的代理。
  3. 点击代理名称旁边的设置 按钮。
  4. 点击环境 (Environments) 标签页。
  5. 点击草稿 (Draft) 部分中的查看所有版本 (View all versions)。
  6. 点击您要加载到草稿的版本对应的选项 按钮。
  7. 点击加载到草稿 (Load to Draft)。
  8. 点击是,我确定 (Yes, I'm sure)。
  9. 重新加载任何打开的控制台浏览器标签页,以便系统使用最新的代理数据刷新这些标签页。

API

使用以下输入对环境类型调用 patch/update 方法:

  • 使用 - 作为环境 ID 以指定默认环境。
  • allowLoadToDraftAndDiscardChanges 设置为 true。
  • 对于 agentVersion 字段,请提供将覆盖草稿代理的代理版本。

导出一个版本

如需导出一个版本,您需要先将其加载到草稿,然后导出代理

在环境中测试代理

您可以使用 API 在任何自定义环境中测试代理。 调用检测意图方法,但请在 agentsessions 之间插入 environments/environment-name/users/-/ 以更改端点网址。

例如,以下端点将“development”环境与未指定的用户一起使用:

"https://dialogflow.googleapis.com/v2/projects/my-project-id/agent/environments/development/users/-/sessions/123456789:detectIntent"

环境专用设置

Fulfillment 和文字转语音功能是由环境配置的,因此对于这些功能,代理将使用环境的设置。

如需详细了解如何在不同级别应用数据,请参阅代理应用级别

Google 助理

如果您使用的是 Actions on Google 版本环境,请参阅 Dialogflow fulfillment 库的版本控制限制。

超级代理

请参阅版本和环境在超级代理中的工作原理

限制

存在以下限制:

  • 每个代理的环境数量上限:10
  • 每个代理的版本数量上限:1000