Диалоговое окно выбора из списка - PullRequest
2 голосов
/ 14 октября 2019

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

 1, 2, 3, 4, 5 (every option gives user a unique information)

затем я создаю последующее намерение приветствовать намерение как Default welcome intent select.number

в этой ситуации, когда пользователь типа 2 даю ему другой набор опций. выберите опцию ниже

a, b, c, d, e, f

Теперь, например, для типа пользователя a какое намерение мне нужно создать в диалоговом потоке для дальнейшей обработки.

Я перехватываю ответ пользователя, используя мой скрипт Python

и вызываю диалоговое окно из скрипта Python.

 reply, intent, parameter = fetch_reply(x, session_id)

 def fetch_reply(query, session_id):
    response = detect_intent_from_text(query, session_id)

    inetnt = response.intent.display_name

    # print(inetnt)

    # print('-----')
    value = 0.0
    try:
        if response.parameters['number']:
            value = response.parameters['number'][0]

    except ValueError:
        print('no value found')

    return response.fulfillment_text, inetnt, value

Отсюда я могу просто использовать if else, если пользователь выберет a, а затем отправить ему ответ, но есть ли что-то, что предоставляет диалоговый поток, который я могу использовать, чтобы дать ответы на пользовательские вводы.

Также для пользователя, например, нажмите 0, чтобы вернуться в главное меню. Как я могу справиться с этим?

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

1 Ответ

0 голосов
/ 15 октября 2019

Одним из возможных способов является создание намерения для каждого из возможных вариантов {1, 2, 3 ..a, b, c} и включение их в качестве предложения после каждого ответа. Например, когда пользователь говорит «Привет», вы можете ответить «Привет» с 1, 2, 3 ... в качестве выбираемых предложений. И когда пользователь выбирает 1, то a, b, c ... появляются как предложения. Вот некоторый код, который может помочь:

.
.
.
const {Card, Suggestion} = require('dialogflow-fulfillment');
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
    const agent = new WebhookClient({request, response });
    function welcome(agent){
    agent.add(`Hello!`);
    agent.add(new Suggestion(`1`));
    agent.add(new Suggestion(`2`));
    agent.add(new Suggestion(`3`));
    }
.
.
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...