Редактор сценариев
Описание функционала для создания своих сценариев для голосового и чат-бота
- Перемещение в рабочем пространстве и интерфейс редактора
- Типы блоков в конструкторе диалогов
- Работа с переменными
- Тестирование сценария в редакторе
- Иструкция по созданию своего первого сценария
Перемещение в рабочем пространстве и интерфейс редактора
Перемещение и масштабирование
Для перемещения в пространстве редактора есть 2 способа:
1. Поместить курсор в пустое место рабочего пространства (белый фон с точками), зажать левую кнопку мыши и потянуть мышь в сторону, противоположную той, в которую вы хотите продвинуться.
2. Поместить курсор в пустое место рабочего пространства, отдалиться при помощи колесика мыши (проскроллить вниз), затем навести курсор на место в рабочем пространстве, в которое хотите переместиться, и приблизить, проскроллив колесиком мыши вверх.
Для масштабирования рабочего пространства помимо скролла колесиком мыши есть еще панель масштабирования справа сверху. Цифра, которая там отображена, показывает текущий масштаб элементов в рабочем пространстве.
Для открытия панели масштабирования, нужно кликнуть на (У вас может быть показана другая цифра масштаба).
Вы увидите 4 элемента для работы с масштабом:
- Масштабирует рабочее пространство до 100% к центру экрана
- Увеличивает масштаб рабочего пространства
- Уменьшает масштаб рабочего пространство
- Перемещает к началу координат рабочего пространства (месту в рабочем пространстве, где создается автоматический начальный блок) в масштабе 100%. Можно размещать в этой области начальные блоки ваших сценариев для быстрой навигации к ним.
Интерфейс редактора сценариев
Для наглядности элементы интерфейса помечены цифрами на изображении ниже.
1 — Кнопка возвращения из редактора сценария к странице списка сценариев
2 — Заголовок сценария, отображенного в редакторе. Здесь можно отредактировать заголовок или открыть другой сценарий в редакторе, выбрав его из выпадающего списка
3 — Открывает поверх боковой панели (7) панель версий со списком сохраненных версий, а также изменений в них.
4 — Открывает модальное окно со списком ошибок в сценарии, если такие есть. Здесь отображаются ошибки, которые делают работу сценария невозможной: отсутствие начального/завершающего блока, отсутствие исходящих связей.
5 — Сохраняет текущую версию сценария, после чего новая сохраненная версия появляется на панели версий (3)
6 — Делает опубликованной текущую версию сценария. Публикация возможна только для сохраненных версии, поэтому при наличии несохраненных изменений произойдет автоматическое сохранение текущей версии. Только опубликованная версия сценария используется в диалогах.
7 — Аватар авторизованного пользователя, этот функционал пока в разработке.
8 — Показывает текущий масштаб элементов в рабочем пространстве радактора (10), а при клике открывает панель масштабирования, функционал которой описан выше на странице.
9 — боковая панель редактора сценариев с табами «Свойства» (9.1), «Переменные» (9.2), «Проверка» (9.3). По умолчанию открыт таб «Свойства»
9.1 — Таб «Свойства», в котором отображается контент выделенного блока и инструменты для управления им. Для выделения блока нужно кликнуть по нему, на изображении ниже ни один блок не выделен. Подробнее про настройку блоков на странице «Типы блоков в конструкторе диалогов»
9.2 — Таб «Переменные». В нем осуществляется работа с переменными: просмотр списка переменных в сценарии, добавление, редактирование. См. инструкцию по работе с переменными
9.3 — Таб «Проверка», в котором можно протестировать созданный сценарий в интерфейсе редактора. Подробнее на странице «Тестирование сценария в конструкторе»
10 — Рабочее пространство редактора сценариев. В нем отображаются составляющие сценария: блоки (10.1) и связи (10.2)
10.1 — Карточка блока в рабочем пространстве. Что такое блоки и как с ними работать вы узнаете по ходу создания сценария и на странице «Типы блоков в конструкторе диалогов»
10.2 — Связи. Тонкие серые линии, соединяющие блоки. Они также незаменимы для работы сценария и формируют пути, по которым может пройти диалог. Как построить связь, показано в пошаговом руководстве по запуску голосового ассистента, а именно на странице «Шаг 1. Создание сценария»
Типы блоков в конструкторе диалогов
В платформе "Диалог" есть следующие типы блоков, необходимые для создания сценария любой сложности. Рассмотрим их в назывном порядке.
Название блока |
Описание |
Вид |
Начать сценарий |
Инициирует начало диалога и принимает на вход переданные параметры (не обязательно). Например, ФИО абонента |
|
Завершить сценарий |
Переводит звонок на оператора ИЛИ завершает звонок |
|
Завершить и переадресовать |
|
|
Поставить на удержание |
Позволяет поставить звонок на удержание и подождать ответа абонента (например, если абонент выполняет перезагрузку роутера) |
|
Озвучить текст |
Блок, которые озвучивает переданный в него текст |
|
Воспроизвести аудио |
Блок, который воспроизводит загруженное в него аудио |
|
Сравнить переменные |
Сравнивает значение двух переменных с помощью логических операторов (=, >, <) И если условие пройдено перенаправляет диалог по нужной ветке |
|
Обработать ответ |
Обрабатывает ответы пользователей и в зависимости от ответа перенаправляет диалог по нужной ветке |
|
Отправить запрос в базу |
Отправляет запрос в базу данных и принимает вернувшиеся данные |
|
Отправить HTTP-запрос |
Отправляет HTTP-запрос и принимает вернувшиеся данные |
|
Изменить переменные |
Присваивает переменной любое значение, в том числе значение другой переменной |
|
Пройти по случайной ветке |
Случайным образом определяет по какой ветке пойдет сценарий (вариант 1 ИЛИ вариант 2) |
|
Пустой блок |
Служит для удобства создания сценария, трансформируется в любой блок |
|
Перенаправить и вернуться |
|
Список со всеми блоками можно увидеть, нажав ПКМ (правой кнопкой мыши) по свободному участку поля в конструкторе.
Описание работы блоков
Блок «Начать сценарий»
Блок «Начать сценарий»
При создании нового сценария данный блок создается по умолчанию.
№ |
Блок «Озвучить текст»
В блоке «Озвучить текст» мы пишем текст, который голосовой ассистент озвучит во время разговора.
Начнем редактирование сценария с добавления блока «Озвучить текст». Для этого:
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Озвучить текст» |
Введите текст для озвучивания голосовым ассистентом в поле «Текст для озвучивания»
Необязательно: чтобы прослушать текст, можно нажать на кнопку «Синтезировать», а затем на значок плеера в появившейся ниже аудиозаписи |
Нажмите на кнопку «Сохранить изменения» |
Дополнительные свойства блока «Озвучить текст»
Элементы |
Блок «Воспроизвести аудио»
В блоке «Воспроизвести аудио» мы загружаем аудиосообщение для воспроизведения во время разговора.
Интерфейс свойств блока «Воспроизвести аудио» такой же, как у блока «Озвучить текст»
Блок «Обработать ответ»
Блок «Обработать ответ» обрабатывает ответы абонента на вопросы и в зависимости от ответа ведет диалог по нужной ветке сценарии. Например, если ответ «да», то по одной ветке, если «нет», то по другой.
№ |
Действие |
Скрин |
1 |
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Обработать ответ» |
|
2 |
В боковом меню нажмите на кнопку «Добавить пользовательский интент» |
|
3 |
В открывшемся модальном окне вы можете создать новый интент для добавления в блок или использовать существующий общедоступный или шаблонный интент. Подробнее о добавлении интента на странице «Добавление интента в блок» |
|
4 |
Вы можете отредактировать добавленный в блок интент, кликнув на иконку карандаша справа от названия добавленного интента.
Для созданных интентов с нуля (не на основе другого интента), это сделать необходимо, потому что именно ключевые фразы влияют на попадание/не попадание ответа под интент |
|
4.1 |
В открывшемся окне редактирования можно добавить/удалить/отредактировать ключевые и исключающие фразы, протестировать интент, изменить название
|
|
4.2 |
Также вы можете изменить порядок добавленных интентов стрелками слева от названия интентов. Ответ абонента отнесется к тому интенту, с ключевыми словами которого произойдет совпадения первым, поэтому очередность важна.
Для удаления интента кликните на иконку крестика справа от названия интента. |
|
5 |
После добавления нужных интентов, можете протестировать блок, чтобы проверить на тестовых фразах, как он будет отрабатывать с текущими настройками
|
|
6 |
Для удобства редактирования блока можете перейти на отдельную страницу «Настройка интентов в блоке», кликнув на кнопку «Открыть страницу настройки блока». Инструкция по работе с этой страницей здесь. |
|
7 |
Не забудьте сохранить изменения при редактировании блока в редакторе сценариев. |
|
8 |
После сохранения настроек добавленные интенты отобразятся в карточке блока в рабочем пространстве. Для каждого интента будут добавлены исходящие порты, из которых необходимо вывести связи к другим блокам. |
Дополнительные свойства блока «Обработать ответ»
Описание |
Элементы |
1. Добавление цели на блок для отображения его в аналитике
2. Добавление системного интента: «Молчание по умолчанию» проведет по определенной ветке в случае молчания абонента. 3-4. Определение количества переспросов и снятие ограничения на количество переспросов. То есть определение, сколько раз робот будет переспрашивать абонента, если его вариант не попадает под добавленные интенты (варианты ответов). Например, есть выставлено 2 повтора: Р: Вы придете? Ч: Что-что? Р: Вы придете? Ч: Хммм Р: Вы придете? Ч: бебебе Р: Переходит к следующему блоку 5. Превышен лимит — это когда робот повторил вопрос заданное количество раз, но не получил нужного ответа. Далее он отправит диалог из варианта «Превышен лимит» |
Блок «Сравнить переменные»
Блок «Сравнить переменные» позволяет сравнивать одну переменную с другой с помощью логических операторов: =, >,<, …
В зависимости от выполнения условия сценарий идет по одной или другой ветке.
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Сравнить переменные» |
В боковом меню в поле Переменная 1 выберите первую переменную, которую хотите сравнить Как создать переменную, читайте в разделе «Работа с переменными» |
Затем выберите логический оператор и вторую переменную для сравнения |
Кликните на кнопку «Сохранить изменения». Вы получите блок следующего вида Если переменная 1 будет, например, больше переменной 2, то условие выполнится и сценарий пойдет из точки «Условие 1». Если не выполнится, то диалог выйдет из точки «Не пройдено» |
Дополнительные свойства блока «Сравнить переменные»
Блок «Изменить переменную»
Блок «Изменить переменную»
Используется для изменения значений переменных в сценарии
Действие |
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Изменить переменную» |
В боковом меню выберите переменную, которой хотите присвоить новое значение и в поле «Значение переменной» введите новое значение Как создать переменную, читайте в разделе «Работа с переменными» |
Системные переменные
{{serv__request_text}} – текст, который озвучил абонент
Блок «Завершить сценарий»
Блок «Завершить сценарий»
Завершающий блок обязателен для работы сценария. Для завершения сценария используйте блок «Завершить сценарий» или «Завершить и переадресовать»
№ |
Действие |
Скрин |
1 |
Чтобы создать новый блок: Нажмите ПКМ по полотну и в появившемся списке выберите блок «Завершить сценарий» |
|
2 |
В боковой панели справа откроются свойства блока. У нас есть четыре типа завершения сценария: 1 – Положить трубку. Звонок просто завершится со стороны голосового ассистента 2 – Перевести на оператора. Звонок будет переведен на оператора 3 – Перенаправление. Диалог будет перенаправлен в другой сценарий платформы "Диалог" |
|
3 |
Выбираем нужный тип и нажимаем на кнопку «Сохранить изменения», если изменения были внесены |
Работа с переменными
Переменные играют в создании сценария важную роль и используются в следующих ситуациях:
- В них передаются поступающие на вход в сценарий данные (параметры, добавляемые в блок «Начать сценарий»). Например, если мы передаем в сценарий ФИО пациента, то мы должны записать эти входящие параметры в заранее созданные переменные, например, в переменную «fio»
- Мы записываем в переменные те данные, которые получаем из SQL/HTTP–запросов. Например, если запрос возвращает данные по наличию записи на прием у пациента, то мы запишем эту информацию в переменные «date», «time», «doctor» и т. д. В дальнейшем информацию из этих переменных мы также сможем использовать
- Переменные также используются для сравнения их с другими переменными и для проверки различных условий. Например, чтобы сравнить переменную «age» c 18, нам нужно создать еще одну переменную «age_18» со значением по умолчанию «18» и сравнить ее с переменной «age».
№ |
Действие |
Скрин |
1 |
Чтобы создать/отредактировать/посмотреть переменные – перейдем в боковом меню на вкладку «Переменные» |
|
2 |
Чтобы создать новую переменную, нажмем на кнопку «Добавить переменную» |
|
3 |
1. Выберем тип переменной: число или текст 2. Введем название, например, «fio» 3. Необязательно: установим значение по умолчанию. 4. Нажмем на кнопку «Сохранить» |
|
4 |
Теперь в списке с переменными появится наша новая переменная «fio».
Для редактирования переменной нажмите на поле с названием переменной в списке |
|
5 |
При редактировании вы можете изменить поля, настраиваемые при добавлении переменной. |
Тестирование сценария в редакторе
Когда у вас есть готовый сценарий, вы можете его протестировать, не выходя из редактора сценариев. Это будет тестовый звонок прямо в интерфейсе сценария, в котором вы сможете поучаствовать как обычный абонент, используя микрофон, подключенный к устройству, на котором вы используете платформу.
В готовом сценарии должно быть выполнено 3 условия:
-
Наличие начального блока
-
Наличие завершающего блока
-
Наличие связей между блоками
При попытке тестирования с невыполненными условиями, интерфейс выдаст Ошибку сценария с описанием ошибки.
Для тестирования выполните следующие действия: