重复最后一句话

问题描述 投票:0回答:2

我正在使用google和Dialogflow上的操作来构建机器人。

我想知道如何在用户询问时轻松重复最后一句话(“请重复”)。

一种方法是在Dialogflow中重复后续意图,但这很重,因为:

  • 你需要在每个意图后添加一个,我有很多
  • 在多用户环境中,您需要跟踪每个用户的最后一句话...

有谁知道如何做到这一点?

bots repeat actions-on-google dialogflow
2个回答
2
投票

从广义上讲,最好的方法是利用Dialogflow Contexts。在发送消息时,您还可以将该消息添加到上下文中(例如,您可以将其称为“last_message”)。然后,您可以使用另一个Intent,它将“last_message”上下文作为输入上下文,如果触发,则使用上下文中保存的值重复它。

@SysCoder有一个package,可以帮助你为node.js做这个。


0
投票

获取一个通用变量并将所有意图的响应保存到其中,并创建一个意图重复,其响应是通用变量。

 let prevSpeech = '';

 app.intent('Default Welcome Intent', (conv) => {
  const speech =`Welcome to My world`;
  conv.ask(new SimpleResponse({
    speech:speech,
    text: `Welcome to my world`,
 }));
 prevSpeech = speech;
});
app.intent('Repeat', (conv) => {
 conv.ask(new SimpleResponse({
    speech:prevSpeech,
    text: prevSpeech
  }));
});
© www.soinside.com 2019 - 2024. All rights reserved.