Как создать собственный ответ в зависимости от объекта? - PullRequest
0 голосов
/ 25 июня 2018

У меня есть список конкретных объектов, как мне установить индивидуальный ответ для каждого из них?или список ответов для конкретных лиц?

Я думал, что это может быть достигнуто с помощью пользовательской полезной нагрузки помощника Google (?)

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

Поздний ответ, но, возможно, кто-то сочтет этот ответ полезным, если вы предпочитаете не использовать веб-зацепки выполнения и вам нужно использовать только один параметр.

https://stackoverflow.com/a/55926775/1011956

0 голосов
/ 25 июня 2018

Ваш вопрос несколько расплывчатый, но звучит так, как будто у вас в параметре Intent будет задано какое-то значение, эти значения поступают из пользовательского типа сущности, и вы хотите разные ответы для каждого значения.

Вы не можете справиться с этим через раздел Ответа Намерения - вам нужно использовать веб-крюк выполнения.

Если вы используете библиотеку actions-on-google (которую выпредположим, что вы можете использовать), а параметр был назван 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}.`);
  }
})

Если вы используете библиотеку dialogflow-executement , это будет что-то вроде:

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}.`);
  }
}

Если вы используете multivocal , вы можете добавить конструктор, который устанавливает настройку среды Outent на основе цвета, и установить ответыдля Outent и Intent в конфигурации:

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 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...