Заставить lex вызывать определенный слот - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть несколько слотов в моем намерении.Можно ли заставить lex вызывать определенный слот, используя вызов POSTTEXT aws sdk, и не беспокоиться о приоритете слотов?

Пример:

  1. pizzaordering - намерение
  2. начинки - слот
  3. пицца - слот
  4. сырное количество - слот
  5. pizzaquantity - слот

Когда я выкладываю "25" в lex, я хочу, чтобы оно соответствовало количеству пиццы, а не количеству сыра

1 Ответ

0 голосов
/ 25 ноября 2018

Выбор конкретного слота должен произойти после того, как Lex обработает ввод и отправит Событие / Запрос вашей Лямбда-функции во время перехвата кода «инициализация и проверка».

Без Лямбда-функции Лекс будет только Delegate какие слоты выявляются на основе того, какие из них проверены по мере необходимости.

Так что для большего контроля, как это, вам понадобится лямбда-функция.Вам нужно прочитать форматы лямбда-функции ввода событий и ответов .Это показывает вам, как Lex будет передавать обработанный пользовательский ввод в вашу лямбда-функцию и как реагировать определенным образом, чтобы вы могли указать Lex, что делать дальше, например, ElicitSlot

.с PostText API это не делается.

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

Если у вас возникнут другие проблемы, просто задайте другой вопрос.

...