Сбор данных от собеседника | Слот Slot Filling
Слот Slot filling – слот, позволяющий собирать ответы Собеседника на вопросы бота и сохранять эти ответы в пользовательские контекстные переменные. В отличие от связки слотов «Text – Wait For Reaction – Memory», слот Slot Filling позволяет собрать несколько ответов Собеседника на несколько вопросов Бота с использованием только одного слота.

- 1.Nameー название слота, которое будет отображено в Сценарии. Максимальная длина значения поля — 40 символов.
- 1.При сохранении Слота проверяется значение в поле:
- 1.если поле пустое, выводится ошибка Please enter a slot name
- 2.если в поле более 40 символов, выводится ошибка Name must contain no more than 40 characters
- 2.FIELDSー массив пар Answer variable — Question.
- 1.Answer variable — имя Пользовательской контекстной переменной, в которую запишется ответ пользователя на текст из поля Question. Если соответствующей переменной нет в контексте Агента, то она будет создана, если такая Пользовательские контекстные переменные уже есть в контексте — она будет обновлена.
- 1.При сохранении Слота проверяется значение в поле:
- 1.если поле пустое, выводится ошибка Please enter an answer variable
- 2.если имя переменной не соответствует требования к именам Пользовательских контекстных переменных, выводится ошибка Invalid name
- 2.Questionー поле, содержащее текст, который Агент отправит Собеседнику.
- 1.При сохранении Слота проверяется значение в поле:
- 1.если поле пустое, выводится ошибка Please enter a question
- 2.Обрезка пробелов: по нажатию кнопк и CREATE (при создании слота) или SAVE (при редактировании слота) обрезаются пробелы и переносы строк в начале и в конце поля Question.
В Слоте Slot Filling допустимо использование Выражений и Управляющих конструкций в поле Question. Подробнее: Переход на новый синтаксис
Пример:
Управляющая конструкция
{% set some_var = … %}
создаёт локальную Контекстную переменную, которую можно использовать в шаблоне (в Контексте Чата эта Контекстная переменная не сохраняется).При выполнении слота Slot Filling:
- 1.Агент отправляет Собеседнику текстовое сообщение из поля Question и становится в режим ожидания.
- 2.Собеседник отправляет сообщение в ответ.
- 3.Ответ Собеседника записывается в Пользовательскe. контекстнe. переменнe., название которой указано в поле Answer variable для этого Question.