如何在Dialogflow CX中实现快速回复功能?
在Dialogflow CX中用自定义负载实现可触发意图的建议芯片/按钮
嘿,我刚好在Dialogflow CX里折腾过这个需求,给你一步步拆解怎么弄,确保点击预设选项能准确触发对应的意图:
核心思路
Dialogflow CX里的自定义负载(Custom Payloads)可以给Dialogflow Messenger渲染建议芯片或按钮,要让这些选项触发意图,有两种可靠方式:文本匹配触发或者事件触发,后者更稳定,推荐优先使用。
步骤1:先准备好要触发的意图
首先得把你希望用户点击后触发的意图创建好:
- 进入Dialogflow CX控制台的「Intents」页面,新建意图(比如“订单查询意图”)
- 可以简单加几个训练短语(文本匹配需要,事件触发可省略,但加了也没坏处)
- 如果用事件触发,记得在意图的「Events」板块,添加一个自定义事件名(比如
order_query_event),保存意图
步骤2:在页面中添加自定义负载回复
接下来到你要展示按钮/芯片的Flow和Page里:
- 找到「Responses」区域,点击「Add response」,选择「Custom payload」
- 根据你要做的是建议芯片还是按钮,填写对应的JSON格式:
示例1:建议芯片(Suggestion Chips)+ 文本匹配
如果用文本匹配触发意图,芯片的value要和意图的训练短语完全一致:
{ "richContent": [ [ { "type": "chips", "options": [ { "text": "查询我的订单", "value": "查询我的订单" }, { "text": "联系在线客服", "value": "联系在线客服" } ] } ] ] }
点击芯片后,系统会把value里的文本作为用户输入发送,只要你的意图训练短语包含这句话,就能触发对应的意图。
示例2:按钮(Buttons)+ 事件触发(更可靠)
如果不想依赖文本匹配,用事件触发会更精准,按钮里指定event字段:
{ "richContent": [ [ { "type": "button", "text": "查询订单状态", "event": "order_query_event" }, { "type": "button", "text": "申请售后", "event": "after_sales_event" } ] ] }
这里的event值要和你之前在意图里设置的事件名完全一致(大小写敏感),点击按钮后会直接触发对应的事件,进而关联到目标意图,完全不用考虑文本匹配的问题。
步骤3:测试验证
打开Dialogflow Messenger的测试窗口,触发到对应的Page,点击预设的芯片或按钮,检查是否能正确跳转到你设置的意图处理流程。如果没触发,先排查:
- 事件触发:事件名是否完全一致
- 文本匹配:意图的训练短语是否包含芯片的
value文本,或者意图的匹配阈值是否合理
小技巧:复用自定义负载
如果多个Page都需要用到相同的按钮/芯片,可以把这个自定义负载保存成Response Template,后续直接调用模板就行,不用重复写JSON,提高效率。
内容的提问来源于stack exchange,提问作者zlZimon
相关产品推荐
相关产品推荐

