You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在DialogFlow中通过actions_intent_NO_INPUT自定义Google Home无输入响应

解决Google Home无输入场景自定义回应的问题

我完全懂你的痛点——明明想让fulfillment接管用户无输入的场景,结果Google Home总先蹦出默认的“Sorry, I didn't hear that”,两次后就结束交互,你的fulfillment还得在后面补响应,完全达不到想要的效果。其实核心是你没绕开系统默认的无输入处理逻辑,得从对话配置层面直接接管这个事件。

下面是具体的解决步骤,分不同工具场景说明:

1. 针对Dialogflow ES/CX的配置

不管是ES还是CX版本,关键是要直接绑定无输入系统事件,而不是依赖系统默认处理:

  • 打开你的Dialogflow项目,找到意图列表里的系统自带no-input意图(如果没有,就新建一个自定义意图)。
  • 在意图的「Events」标签下,添加对应的系统事件:ES版本是google_assistant_no_input,CX版本可以直接选择No Input事件类型。
  • 跳过fulfillment调用(除非你需要动态生成回应),直接在「Responses」里设置你的自定义话术,比如:
    • 第一次无输入:"不好意思,我没听清你的需求,麻烦再说一遍可以吗?"
    • 第二次无输入:"还是没收到你的回应呢,要不要换个方式告诉我呀?"
  • 调整意图的优先级,确保它比系统默认的无输入处理优先级更高。

2. 针对Actions Builder的配置

如果用的是Actions Builder,要在场景里直接监听无输入事件:

  • 进入你的场景编辑页面,在「Events」模块添加actions_intent_NO_INPUT事件。
  • 在这个事件的处理流程里,直接添加「Send Response」节点,填入你的自定义话术,不需要触发fulfillment(如果要动态生成,就在这里调用fulfillment并返回回应)。
  • 在项目的「Settings」→「Interaction」里,设置无输入的重试次数,和每次重试对应的自定义提示。

3. 关键注意事项

  • 不要依赖fulfillment后置处理:系统默认的无输入提示是在调用fulfillment之前触发的,所以必须在对话层直接处理这个事件,才能覆盖默认话术。
  • 测试前清缓存:部署后,记得重启你的Google Home设备,或者在测试模拟器里清除会话缓存,避免旧的配置生效。
  • 符合政策要求:自定义话术要友好、清晰,不能违反Google Assistant的内容政策,否则可能会被系统拦截。

举个简单的Dialogflow配置例子:

1. 新建意图,命名为「无输入处理」
2. 事件栏添加「google_assistant_no_input」
3. 响应栏添加:
   - 文本:"抱歉,我没听到你的声音,麻烦再说一次哦~"
4. 保存并部署到Google Assistant

这样配置后,用户无输入时,Google Home会直接播放你设置的自定义内容,完全替代默认的提示语,两次重试后再结束交互,完美符合你的需求。

内容的提问来源于stack exchange,提问作者Matthew Knight

火山引擎 最新活动