Dialogflow es 如何根据实体创建自定义响应?

Dialogflow es 如何根据实体创建自定义响应?,dialogflow-es,Dialogflow Es,我有一个特定实体的列表,如何为每个实体设置一个单独的响应?或特定实体的响应列表 我在想,也许可以通过Google assistant自定义负载来实现这一点。您的问题有些模糊,但听起来您的意图中会有一个参数设置为某个值,这些值来自自定义实体类型,并且您希望每个值都有不同的响应 您不能通过Intent的Response部分来处理这个问题,您需要使用一个实现webhook 如果您正在使用建议使用的库,并且参数名为val,则代码片段可能如下所示: app.intent('choose.value', (

我有一个特定实体的列表,如何为每个实体设置一个单独的响应?或特定实体的响应列表


我在想,也许可以通过Google assistant自定义负载来实现这一点。您的问题有些模糊,但听起来您的意图中会有一个参数设置为某个值,这些值来自自定义实体类型,并且您希望每个值都有不同的响应

您不能通过Intent的Response部分来处理这个问题,您需要使用一个实现webhook

如果您正在使用建议使用的库,并且参数名为val,则代码片段可能如下所示:

app.intent('choose.value', (conv, {val}) => {
  switch( val ){
    case 'red':
      agent.add('I like red too!');
      break;
    case 'blue':
      agent.add('Blue is pretty cool!');
      break;
    default:
      agent.add(`Not sure what to say about ${val}.`);
  }
})
如果您正在使用该库,它将类似于:

var chooseVal = function( agent ){
  var val = agent.parameters.val;
  switch( val ){
    case 'red':
      conv.ask('I like red too!');
      break;
    case 'blue':
      conv.ask('Blue is pretty cool!');
      break;
    default:
      conv.ask(`Not sure what to say about ${val}.`);
  }
}
如果正在使用,则可以添加一个生成器,该生成器根据颜色设置Outent环境设置,并在配置中设置Outent和意图的响应:

new Multivocal.Config.Simple({
  Local: {
    en: {
      Response: {
        "Outent.red": [
          "I like red too!",
          "Red is nifty."
        ],
        "Outent.blue": [
          "Blue is pretty cool!",
          "I really groove blue"
        ],
        "Intent.choose.value": [
          "Not sure what to say about {{Parameter.val}}"
        ]
      }
    }
  }
});

var outentBuilder = function( env ){
  env.Outent = `Outent.${env.Parameter.val}`;
  return Promise.resolve( env );
};
Multivocal.addBuilder( outentBuilder );

延迟响应,但如果您不想使用fulfillment webhooks,并且只需要使用一个参数,可能有人会发现这个答案很有用


你可以这样做,我想更多的是一个服装音频响应,但我肯定会研究它。谢谢我是新来的,在谷歌上使用actions我们应该使用dialogflow的密钥进行身份验证吗?我不确定我是否理解你的问题。听起来你应该提问,解释你想做什么,以及为什么你认为你需要使用dialogflow键。在这里