Как внутренний список параметров может быть сопоставлен с последующим выполнением намерения - PullRequest
0 голосов
/ 09 мая 2019

У меня есть агент диалога, который соответствует цели, например «Я хочу произвести оплату за контракт» . Затем webhook возвращает список контрактов, то есть '1) контракт A, 2) контракт B, 3) контракт C' . Эти параметры возвращаются в виде текстовых сообщений.

Тогда пользователь говорит 'Это вариант 2' . Здесь последующее намерение захватывает ответ и фиксирует 2 в качестве параметра.

У меня сейчас проблема. Как я могу получить из последующего намерения исходный список опций, чтобы я мог сопоставить число 2 с контрактом B?

У меня есть внутренняя логика, которая возвращает список вариантов в виде простых текстовых ответов. Я попробовал поискать способ установить список параметров в контекст, чтобы я мог извлечь его из последующего намерения.

Это образец кода, который возвращает параметры. Индекс $ является важным, поскольку он будет выбран пользователями.

if (sizeof($contracts) > 0) {
            $this->setReply('Estos acuerdos encontré para ' . $parameters['given-name'] . ': ');
            $index = 1;
            foreach ($contracts as $c) {
                $text =
                    $index . ') ' .
                    $c['contract'] . ': ' .
                    $c->name;
                $this->setReply($text);
                $index+=1;
            }
            $this->setReply('Dime que numero es el que buscas. ');
        } else {
            $this->setReply('No encontré acuerdos activos para ' . $parameters['given-name'] . '. Verifica el nombre por favor. ');
        }

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...