您可以创建多个代理版本,并将它们发布到不同的环境。
当您修改某一代理时,该代理即称为“代理草稿”。您可以随时将代理草稿保存为一个“代理版本”,使其成为代理的不可变快照。
保存后的代理草稿会被发布到默认环境。 创建代理版本时,您可以将其发布到自定义环境。 您可以创建各种自定义环境来进行以下活动:
- 测试
- 开发
- 生产
- 等
生产流量
始终使用代理版本来处理生产流量
每当团队的开发者进行更改时,草稿代理都会更新。很容易无意间中断草稿代理(尤其是当多人拥有代理的写入权限时)。此外,最近修改过的草稿代理与训练过的模型可能会不一致,这是因为训练可能会有延迟或需要手动执行。
您应始终使用代理版本来处理生产流量。在将草稿代理提升为正式版之前,应先对其进行测试;如果发现任何问题,您可以回滚到旧版。
考虑更改版本时可能出现的代理错误
如果您在会话处于活跃状态时更改生产环境中的代理版本,可能会导致某些活跃会话出现代理错误。如果旧版和新版之间存在会破坏会话状态的不一致之处,就可能会发生这些错误。因此,您应计划在非高峰时间或休息时间更改版本。
在新环境中发布版本
如需将代理草稿发布到某个版本并创建自定义环境,请执行以下操作:
控制台
- 前往 Dialogflow ES 控制台。
- 在左侧边栏菜单顶部附近选择您的代理。
- 点击代理名称旁边的设置 settings 按钮。
- 点击环境 (Environments) 标签页。
- 点击发布版本 (Publish a version)。
- 添加可选说明,然后点击下一步 (Next)。
选择 + 新建环境 (+New Environment)。
输入环境名称。
为该环境选择 fulfillment 方法。
为该环境选择文字转语音的设置。
点击发布 (Publish)。
环境信息现在会列在自定义环境 (Custom environments) 部分中。
API
将环境还原为先前版本
您可以将环境还原为旧版代理:
控制台
- 点击自定义环境 (Custom environments) 部分中的环境。
- 此时将打开环境设置对话框。
- 在发布历史记录 (Publishing History) 部分中,点击先前发布版本对应的选项 more_vert 按钮。
- 点击还原为此版本 (Revert to this version)。
- 发布历史记录将会更新。
API
对环境类型调用 patch
/update
方法以更新环境。将先前创建的代理版本提供给 agentVersion
字段。
将旧版本加载到草稿
将先前版本加载到草稿后,系统会使用所选代理版本覆盖默认环境中的草稿代理。
要将旧版本加载到草稿,请执行以下操作:
控制台
- 前往 Dialogflow ES 控制台。
- 在左侧边栏菜单顶部附近选择您的代理。
- 点击代理名称旁边的设置 settings 按钮。
- 点击环境 (Environments) 标签页。
- 点击草稿 (Draft) 部分中的查看所有版本 (View all versions)。
- 点击您要加载到草稿的版本对应的选项 more_vert 按钮。
- 点击加载到草稿 (Load to Draft)。
- 点击是,我确定 (Yes, I'm sure)。
- 重新加载任何打开的控制台浏览器标签页,以便系统使用最新的代理数据刷新这些标签页。
API
使用以下输入对环境类型调用 patch
/update
方法:
- 使用
-
作为环境 ID 以指定默认环境。 - 将
allowLoadToDraftAndDiscardChanges
设置为 true。 - 对于
agentVersion
字段,请提供将覆盖草稿代理的代理版本。
导出一个版本
在环境中测试代理
您可以使用 API 在任何自定义环境中测试代理。
调用检测意图方法,但请在 agent
和 sessions
之间插入 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