意图决定系统可理解哪些用户请求以及要采取怎样的操作。在大多数情况下,您将使用 Dialogflow ES 控制台来管理意图。在高级场景中,您可能希望使用 API 来管理意图。本页介绍如何使用 API 创建、列出和删除意图。
准备工作
在阅读本指南之前,请先完成以下事项:
- 阅读 Dialogflow 基础知识。
- 执行设置步骤。
创建代理
如果尚未创建代理,请立即创建一个:
- 前往 Dialogflow ES 控制台。
- 如果系统要求登录 Dialogflow 控制台,请登录。如需了解详情,请参阅 Dialogflow 控制台概览。
- 点击左侧边栏菜单中的创建代理 (Create Agent)。如果您已有其他代理,请点击代理名称,滚动到底部,然后点击创建新代理 (Create new agent)。
- 输入您的代理名称、默认语言和默认时区。
- 如果您已经创建了项目,请输入该项目。如果要允许 Dialogflow 控制台创建项目,请选择创建新 Google 项目 (Create a new Google project)。
- 点击创建 (Create) 按钮。
将示例文件导入代理
本指南中的步骤对您的代理进行了假设,因此您需要导入为本指南准备的代理。 导入时,这些步骤使用“恢复”(restore) 选项,该选项会覆盖所有代理设置、意图和实体。
如需导入文件,请按以下步骤操作:
-
下载
room-booking-agent.zip
文件。 - 前往 Dialogflow ES 控制台。
- 选择您的代理。
- 点击代理名称旁边的设置 settings 按钮。
- 选择导出和导入 (Export and Import) 标签页。
- 选择从 ZIP 文件恢复 (Restore from ZIP),然后按照说明恢复下载的 zip 文件。
使用 IntentView 返回所有意图数据
创建、列出或获取意图时,意图数据会返回给调用方。默认情况下,此返回数据为缩写形式。 以下示例使用此默认值。
如需检索所有意图数据,必须将 IntentView
参数设置为 INTENT_VIEW_FULL
。如需了解详情,请参阅意图类型方法。
创建意图
以下示例展示如何创建意图。如需了解详情,请参阅意图参考。
REST
如需为代理创建意图,请对 intent
资源调用 create
方法。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目 ID
HTTP 方法和网址:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/intents
请求 JSON 正文:
{ "displayName": "ListRooms", "priority": 500000, "webhookState": "WEBHOOK_STATE_UNSPECIFIED", "trainingPhrases": [ { "type": "EXAMPLE", "parts": [ { "text": "What rooms are available at 10am today?" } ] } ], "action": "listRooms", "messages": [ { "text": { "text": [ "Here are the available rooms:" ] } } ] }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
intents
后面的路径段包含新的意图 ID。
Go
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Dialogflow 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Dialogflow 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Dialogflow 参考文档。
列出意图
以下示例展示如何列出意图。如需了解详情,请参阅意图参考。
REST
如需列出代理的意图,请对 intents
资源调用 list
方法。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目 ID
HTTP 方法和网址:
GET https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/intents
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "intents": [ { "name": "projects/PROJECT_ID/agent/intents/5b290a94-55d6-4074-96f4-9c4c4879c2bb", "displayName": "ListRooms", "priority": 500000, "action": "listRooms", "messages": [ { "text": { "text": [ "Here are the available rooms:" ] } } ] }, ... ] }
intents
后面的路径段包含您的 intent ID。
Go
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Dialogflow 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Dialogflow 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Dialogflow 参考文档。
删除意图
以下示例展示如何删除意图。如需了解详情,请参阅意图参考。
REST
如需删除代理的意图,请对 intents
资源调用 delete
方法。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目 ID
- INTENT_ID:您的意图 ID
HTTP 方法和网址:
DELETE https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/intents/INTENT_ID
如需发送您的请求,请展开以下选项之一:
您应该会收到一个成功的状态代码 (2xx) 和一个空响应。
Go
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
其他语言
C#:请按照客户端库页面上的 C# 设置说明操作,然后访问 .NET 版 Dialogflow 参考文档。
PHP:请按照客户端库页面上的 PHP 设置说明操作,然后访问 PHP 版 Dialogflow 参考文档。
Ruby:请按照客户端库页面上的 Ruby 设置说明操作,然后访问 Ruby 版 Dialogflow 参考文档。