Как получить последний ответ бота в чат-боте rasa?

Как получить последний ответ бота с помощью чат-бота Rasa?
Для получения пользовательского ввода мы используем: tracker.latest_message ['text']
Итак, каков синтаксис для получения последнего ответа бота?

Спасибо


person youssef mellah    schedule 29.09.2020    source источник


Ответы (1)


Вы можете использовать список tracker.events, чтобы получить последнее событие бота.

bot_event = next(e for e in reversed(tracker.events) if e["event"] == "bot")

Будет пройден перевернутый список событий (от самого последнего к самому старому) и выбрано первое событие бота с помощью функции next().

Мероприятие будет иметь следующий формат:

{'event': 'bot', 'timestamp': 1601789469.174273, 'text': 'Hey! How are you?', 'data': {'elements': None, 'quick_replies': None, 'buttons': None, 'attachment': None, 'image': None, 'custom': None}, 'metadata': {}}

Там вы можете просто взять параметр 'text', если вас интересует только сообщение.

person yk46    schedule 04.10.2020