Типы блоков в конструкторе диалогов
В платформе "Диалог" есть следующие типы блоков, необходимые для создания сценария любой сложности. Рассмотрим их в назывном порядке.
Название блока |
Описание |
Вид |
Начать сценарий |
Инициирует начало диалога и принимает на вход переданные параметры (не обязательно). Например, ФИО абонента |
|
Завершить сценарий |
Переводит звонок на оператора ИЛИ завершает звонок |
|
Завершить и переадресовать |
|
|
Поставить на удержание |
Позволяет поставить звонок на удержание и подождать ответа абонента (например, если абонент выполняет перезагрузку роутера) |
|
Диалог с LLM |
Блок, в котором нейросеть ведёт диалог с абонентом на основе заданной роли, задачи и контекста до тех пор, пока не выполнится команда для выхода. Может автоматически заполнять переменные по результатам диалога. |
|
Заполнить переменные с LLM |
|
|
Озвучить текст |
Блок, которые озвучивает переданный в него текст |
|
Воспроизвести аудио |
Блок, который воспроизводит загруженное в него аудио |
|
Сравнить переменные |
Сравнивает значение двух переменных с помощью логических операторов (=, >, <) И если условие пройдено перенаправляет диалог по нужной ветке |
|
Обработать ответ |
Обрабатывает ответы пользователей и в зависимости от ответа перенаправляет диалог по нужной ветке |
|
Отправить запрос в базу |
Отправляет запрос в базу данных и принимает вернувшиеся данные |
|
Отправить HTTP-запрос |
Отправляет HTTP-запрос и принимает вернувшиеся данные |
|
Изменить переменные |
Присваивает переменной любое значение, в том числе значение другой переменной |
|
Пройти по случайной ветке |
Случайным образом определяет по какой ветке пойдет сценарий (вариант 1 ИЛИ вариант 2) |
|
Пустой блок |
Служит для удобства создания сценария, трансформируется в любой блок |
|
Перенаправить и вернуться |
|
Список со всеми блоками можно увидеть, нажав ПКМ (правой кнопкой мыши) по свободному участку поля в конструкторе.
Описание работы блоков
Блок «Начать сценарий»
Блок «Начать сценарий»
При создании нового сценария данный блок создается по умолчанию.
№ |
Блок «Диалог с LLM»
Блок «Диалог с LLM» используется для ведения полноценного диалога нейросети с абонентом внутри сценария. Он позволяет модели выполнять заданную задачу в рамках определённой роли и контекста, а также при выполнении указанной команды переходить к следующему блоку.
LLM - это большая лингвистическая модель, какие используют, например, ChatGPT, DeepSeek, Copilot, Gemini.
Особенности блока
-
Блок имеет один вход и до двух выходов:
-
Основной — задается через название команды для выхода.
-
Системный ("Перевод на оператора") — необязательный. Перевод на оператора происходит, когда абонент несколько раз просит перевести на оператора.
-
Строение промта
Промт или инструкция для LLM собирается из 4 элементов:
-
Роль — кто или что должна играть модель.
-
Задача — что должна сделать LLM.
-
Контекст — входная информация для выполнения задачи.
-
Команда для выхода — условие выхода из блока.
Рекомендуется писать команду для выхода в формате: «Выйди из блока, когда...», а также дублировать это условие в графе "Задача" в том же формате.
Заполнение переменных
LLM может заполнять переменные, указанные во вкладке Команда для выхода.
-
Заполнение происходит на основании:
-
контекста всего диалога;
-
описания переменной.
- указанных возможных значений в настройках переменных
-
-
Переменная может быть:
-
Обязательной — LLM должна её заполнить;
-
Необязательной — можно проигнорировать.
-
Например, можно заполнить город абонента в переменную, если пользователь его назвал в течении всего диалога или тему обращения, если та была выявлена.
Рекомендации
-
Роль, задачу, контекст и команду для выхода лучше задавать на английском языке.
-
Желательно дублировать в поле "Команда для выхода" и в промте в графе "Задача" условие, которое должно осуществиться, чтобы выйти из блока.
-
Редактировать промт удобно через модальные окна, доступные при клике на иконку редактирования рядом с каждым пунктом.
Блок «Озвучить текст»
В блоке «Озвучить текст» мы пишем текст, который голосовой ассистент озвучит во время разговора.
Начнем редактирование сценария с добавления блока «Озвучить текст». Для этого:
Нажмите ПКМ по полотну и в появившемся списке выберите блок «Озвучить текст» |
Введите текст для озвучивания голосовым ассистентом в поле «Текст для озвучивания»
Необязательно: чтобы прослушать текст, можно нажать на кнопку «Синтезировать», а затем на значок плеера в появившейся ниже аудиозаписи |
Нажмите на кнопку «Сохранить изменения» |
Дополнительные свойства блока «Озвучить текст»
Элементы |
Блок «Воспроизвести аудио»
В блоке «Воспроизвести аудио» мы загружаем аудиосообщение для воспроизведения во время разговора.
Интерфейс свойств блока «Воспроизвести аудио» такой же, как у блока «Озвучить текст»
Блок «Обработать ответ»
Блок «Обработать ответ» обрабатывает ответы абонента на вопросы и в зависимости от ответа ведет диалог по нужной ветке сценарии. Например, если ответ «да», то по одной ветке, если «нет», то по другой.
№ |
Действие |
Скрин |
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 |
Выбираем нужный тип и нажимаем на кнопку «Сохранить изменения», если изменения были внесены |