如何在Dialogflow开发Google Assistant应用时添加Suggested Input?
嘿,我来帮你搞定在Dialogflow里给Google Assistant应用加建议输入(Suggested Input)这件事!其实有两种主流实现方式,不管你是偏好无代码的控制台配置,还是需要自定义逻辑的代码实现,我都给你讲明白:
方法一:通过Dialogflow控制台可视化配置(无代码)
这是最直观的方式,适合快速添加固定的建议选项:
- 打开你的Dialogflow代理,进入要添加建议的**意图(Intent)**页面
- 滚动到「Responses」区域,切换到「Google Assistant」专属标签页
- 在这个标签页里找到「Suggestions」模块,点击「Add suggestion」按钮,输入你想展示的建议文本,比如“查看我的订单”“帮助中心”
- 重复添加多个选项后,记得点击页面顶部的「Save」保存意图。当这个意图被触发时,Google Assistant就会在回复下方自动显示这些可点击的建议啦
方法二:通过代码实现(适合动态生成建议)
如果你的建议选项需要根据用户上下文动态生成,就得用Webhook代码来实现了,这里给你举两个常用语言的例子:
Node.js(Actions on Google客户端库)
首先确保已经安装依赖:
npm install actions-on-google
然后在意图处理函数里,用Suggestions类来添加建议:
const { dialogflow, Suggestions } = require('actions-on-google'); const app = dialogflow(); // 替换成你的意图名称 app.intent('UserNextAction', (conv) => { conv.ask('请问你接下来想做什么?'); // 动态添加建议选项,也可以从数据库/API获取内容 conv.ask(new Suggestions(['查看订单', '联系客服', '返回主页'])); }); // 导出供Dialogflow调用 exports.yourWebhook = app;
Python(直接构造响应JSON)
如果用Python写Webhook,可以直接构造符合Actions on Google规范的响应体:
import json from flask import Flask, request app = Flask(__name__) @app.route('/webhook', methods=['POST']) def webhook_handler(): req = request.get_json() intent_name = req['queryResult']['intent']['displayName'] if intent_name == 'UserNextAction': # 构造带建议的响应 response = { "fulfillmentText": "请问你接下来想做什么?", "payload": { "google": { "expectUserResponse": True, "richResponse": { "items": [ { "simpleResponse": { "textToSpeech": "请问你接下来想做什么?", "displayText": "请问你接下来想做什么?" } } ], "suggestions": [ {"title": "查看订单"}, {"title": "联系客服"}, {"title": "返回主页"} ] } } } } return json.dumps(response) if __name__ == '__main__': app.run(port=5000, debug=True)
小提示
- 建议文本尽量简洁,控制在1-3个词,符合用户的快速选择习惯
- 最多可以添加8个建议选项,但3-5个是最优的,避免界面过于拥挤
- 控制台配置时,一定要切换到「Google Assistant」标签页,普通的文本响应区域没有建议输入的设置哦
内容的提问来源于stack exchange,提问作者Daemon
相关产品推荐
相关产品推荐

