SES. UPS руководство по работе с интерфейсом: различия между версиями
Материал из Флора AI
E.Elagina (обсуждение | вклад) |
E.Elagina (обсуждение | вклад) |
||
| Строка 215: | Строка 215: | ||
Для канала '''web,''' в частности, для встраивания чат-виджетов ''(рис 7.1).'' Данный коннектор предназначен для встраивания интерактивного виджета на ваш сайт. Доступно два типа виджета: Чат и Ассистент (Суфлер).[[Файл:2025-10-06 16-48-16.png|мини|''<small>Рис. 7.1 Вкладка настроек коннектора we</small>'']]'''Общие параметры (для обоих типов)''' | Для канала '''web,''' в частности, для встраивания чат-виджетов ''(рис 7.1).'' Данный коннектор предназначен для встраивания интерактивного виджета на ваш сайт. Доступно два типа виджета: '''Чат и Ассистент (Суфлер)'''.[[Файл:2025-10-06 16-48-16.png|мини|''<small>Рис. 7.1 Вкладка настроек коннектора we</small>'']]'''Общие параметры (для обоих типов)''' | ||
Следующие настройки являются общими независимо от выбранного типа виджета. | Следующие настройки являются общими независимо от выбранного типа виджета. | ||
| Строка 255: | Строка 255: | ||
** Блок "Переменные" становится недоступен. | ** Блок "Переменные" становится недоступен. | ||
** Все переменные, необходимые для работы ассистента (например, данные о клиенте, история обращений), настраиваются и передаются отдельно в личном кабинете пользователя (оператора) или через соответствующий API. | ** Все переменные, необходимые для работы ассистента (например, данные о клиенте, история обращений), настраиваются и передаются отдельно в личном кабинете пользователя (оператора) или через соответствующий API. | ||
Для канала '''freeswitch''' (телефонная линия): | Для канала '''freeswitch''' (телефонная линия): | ||
| Строка 273: | Строка 272: | ||
# Сквозное суфлирование для колл-центра | # Сквозное суфлирование для колл-центра | ||
#* Звонок сразу настраивается на сквозное прохождение на колл-центр, и суфлер для оператора включается мгновенно. | #* Звонок сразу настраивается на сквозное прохождение на колл-центр, и суфлер для оператора включается мгновенно. | ||
Флаг '''"Автостарт ассистента"''' при активации этой опции, ассистент запускается автоматически. | |||
Версия от 10:16, 14 ноября 2025
SES (Script Engine Service) Сценарная машина
В главном меню UPS (Universal Proxy Server) расположены кнопки для перехода в блоки (см. рис. 1):
- SMC Классификатор,
- SEE Сущности,
- SPR Распознавание,
- SBS Биометрия,
- TTS Синтез,
- QAS ЧаВО,
- SES Сценарная машина,
- CLS Информатор,
- Выход.
Переключаться между продуктами можно двумя способами:
- Воспользоваться кнопкой на панели управления «На главную»
. - Воспользоваться кнопкой в виде линии, которая находится снизу в центе экрана (см. рис. 2).
Рабочая область SES включает в себя (рис. 2):
- список роботов, расположенный на левой панели
- панель управления,
- облако/таблица элементов данных и конечных точек,
- кроме того, есть вкладки: «Скрипты», «Календарь», «Интервалы», «Настройки» и информационная вкладка «Серверы», которая отображает информацию о серверах и процессах. Все они находятся с правой стороны рабочей области.
Добавление и настройка робота
Чтобы добавить нового робота, нажмите кнопку «Добавить робота». В появившемся диалоговом окне введите название и нажмите «Добавить». В нижнем правом углу экрана появится сообщение «Добавлено!». По умолчанию робот создается с предварительными настройками. В нем сразу есть текстовки для исключений и событий, ознакомиться и поправить их можно, перейдя на вкладку «Настройки». Робот может быть 3х версий: черновик, рабочий и архивный, подробная информация о версиях представлена в таблице 1.
| Иконка версии | Наименование версии робота | Описание |
|---|---|---|
| Черновик | это не примененный робот. Можно добавлять новые элементы данных, конечные точки, менять настройки, применять эти настройки и тестировать робота. После применения робота (см. табл.2 «Применение») становится «Рабочей версией». | |
| Рабочая | это робот, который уже используется в прод (англ. production – производство). Применённого робота нельзя установить заново или менять. Можно провести ручное тестирование (см. раздел «Тестирование робота») . Можно менять настройки робота и применять эти настройки, они применяются в фоновом режиме незаметно для пользователя, то есть пользователю ничего не нужно обновлять со своей стороны. Если была применена черновая версия робота – «Рабочий» робот переходит в архивную версию. | |
| Архивная | это рабочий робот, который переводится в архив (резервную копию) после применения черновика. Можно вернуть архивную модель в рабочую версию, нажав на кнопку «Восстановить» (см. Панель управления SES). При этом рабочая версия также становится архивной, то есть рабочая и архивная версии меняются местами. |
Настройка робота
Прежде чем приступить к настройке робота, необходимо упомянуть о сервисах, которые потребуются для его функционирования:
- Все требуемые модели SMC;
- Все требуемые модели SEE;
- База вопросно-ответных пар в QAS, если вы планируете предоставлять консультации.
Здесь представлен общий перечень необходимых сервисов. В зависимости от специфики проекта некоторые из них могут отсутствовать.
Вкладка «Скрипты»
предоставляет вам возможность работать с кодом скриптов интеграции в системе напрямую. Вы можете вносить изменения в код, используя выпадающий список «Скрипт». В этом списке вы найдете все доступные скрипты и сможете выбрать нужный. После выбора скрипта вы сможете отредактировать его название и непосредственно область для внесения изменений.
У скриптов есть параметр «Область действия», в котором есть 5 опций:
- конечные точки, позволяет подключать скрипт в действиях конечных точек;
- элементы данных, позволяет подключать скрипт в действиях элементов данных и контейнеров;
Скриптов на ЭД и КТ может быть несколько. Остальные скрипты общие и доступны только по одному на каждый тип:
- завершение сессии — скрипты, которые могут выполняться после завершения диалога, если скрипт указать в настройках в действиях на событии «Завершение диалога»;
- перед каждым вопросом — для случаев, когда нужно актуализировать какую-то информацию постоянно и использовать ее в условиях.
Скриптом «перед каждым вопросом» можно выставить, например, сегодняшнюю дату - ${custom.today}, а потом ее в сравнении дат использовать в условиях получения данных. Для случаев записи на прием проверять, что дата точно больше сегодняшней.
Скрипт проверки пишется админом.
- после каждого ответа — для случаев, где требуется пошагово после каждого ответа передавать информацию во внешнюю систему.
- передача диалога, скрипты для передачи диалогов.
- старт диалога.
Дефолтные скрипты
В системе реализованы шаблоны скриптов по умолчанию:
Назначение:
- Автоматическое создание базовой функции при создании нового скрипта
- Возможность последующего редактирования
Расположение и настройка:
- Файлы находятся в переводчике по пути:
lang\ru.json - Реализовано для гибкости - администратор может изменять настройки
- Не зашито в код системы
Типы дефолтных скриптов:
_defaultScriptContainer- для ЭД типа "Контейнер" (скрипты обработки)_defaultScriptData- для ЭД (скрипты постобработки)_defaultScriptAction- для действий в ЭД/КТ
Есть режим отладки скриптов интеграций с функцией извлечения данных из сессии (рис. 4). То есть можно тестировать робота в чате отладчика и, в случае если отработка некорректна или нужно проверить внесенные изменения в скрипт, то можно открыть вкладку «Скрипты» -> выбрать нужный скрипт -> кликнуть на закладку «Проверка» (слева откроется дополнительное окно) и нажать на кнопку «Вставить данные сессии». Тогда в открывшемся окне появятся все данные из текущей сессии из чата отладчика. По нажатию на кнопку «Тест», появится окно с результатом отработки скрипта.
Вкладка «Календарь»
представляет собой классический календарь, который показывает текущий и следующий год. Это настройка конкретных интервалов времени, которые потом могут использоваться в качестве условий в действиях.
Вкладка «Интервалы»
предлагает вам возможность заранее задать временные промежутки (утро, день, вечер, ночь), которые будут определять реакцию робота в зависимости от времени суток. Например, вы можете настроить приветствия, такие как «Доброе утро!» или «Добрый день!» и бот будет выбирать нужное в соответствии с текущем временем. А так же периоды, например, настроить рабочее время до перерыва или после. Периодов может быть несколько на одном интервале. Чтобы добавить новый интервал, нужно найти меню «Интервал времени» в верхней части вкладки «Интервалы» (рис. 5). Затем нажмите кнопку «Добавить интервал времени». В появившемся окне введите название нового интервала и настройте его параметры по своему усмотрению. Вы можете выбрать необходимое количество минут и часов из выпадающего списка или ввести их с клавиатуры. Чтобы удалить период, просто нажмите на иконку корзины, расположенную напротив выбранного периода. Для удаления интервала времени воспользуйтесь кнопкой «Удалить», расположенной в нижней правой части окна.
Группировка интервалов рабочего времени
Для удобства настройки сложных и переменных графиков работы в системе предусмотрена возможность объединять интервалы времени в группы. Это позволяет избежать создания громоздких условий в Контрольных Точках (КТ), когда рабочие часы оператора меняются каждый день или разбиты на несколько промежутков.
Для того, чтобы создать группу интервалов кликните на + справа от вкладки под номером 1. Группа разделена на вкладки (табы), что позволяет удобно структурировать разные периоды.
Для каждой группы, например, «Рабочее время оператора», вы можете задать несколько различных периодов:
- На одной вкладке настроить график для будних дней. Или для каждого дня отдельно.
- На другой вкладке — график для выходных.
- На третьей — особый график для праздников.
Система будет считать условие выполненным, если текущее время попадает в любой из интервалов, входящих в эту группу.
Вкладка «Настройки»
изображённая на рисунке 6, содержит следующие поля:
- название робота,
- описание
А так же меню с настройками:
- события — действия, которые выполнит робот при наступлении определенного условия в диалоге, например «Не найдено» (см. раздел «События» ниже);
- исключения — это действия, которые выполняются, если событие повторяется указанное число раз подряд (см. раздел «Исключения» ниже);
- данные;
- модели — настройка моделей, если требуется использовать параметры, отличные от параметров по умолчанию;
- коннекторы.
События есть 11-ти типов и прописываются для каждого канала связи отдельно:
- Старт — старт новой сессии — это когда робот приветствует пользователя и представляется. Это событие срабатывает, если человек впервые начинает общение с ботом. Также полное приветствие необходимо при начале разговора по телефону.
- Горячий старт — это событие настраивается для случаев, если диалог был приостановлен. То есть, при горячем старте бот не станет снова представляться абоненту, а просто поприветствует его в зависимости от времени суток (настроенных интервалов) и ответит на его вопросы.
- Возврат на старт — это действие, которое должен выполнить бот, чтобы вернуться к началу разговора. Например, в диалоге в голосовом чате можно спросить у пользователя: «Чем я могу вам ещё помочь?»
- Запрос повтора — действия на случай, если абонент запросил повтор информации.
- Тишина — добавляем действие в моменты, когда от человека нет ответа, то есть тишина.
- Перебивание — событие доступно только для голосовых каналов (например, voice). Она позволяет настроить реакцию на прерывание речи.
- Задержка ответа — событие доступно только для голосовых каналов (например, voice). Это действия, которые появляются, когда идет генерация. Например, можно написать: «Секундочку, выясняю». Это нужно, чтобы человек понимал, что робот не просто молчит.
- Не найдено — здесь указывается действие, которое должен выполнить робот, если он не смог найти ответ на вопрос пользователя, то есть настройка действий если это событие произошло. Например, можно предложить пользователю попробовать переформулировать свой вопрос.
- Нет данных — это событие происходит, когда система пытается получить конкретный недостающий элемент данных, например название филиала, и ей это не удалось.
- Ошибка.
- Запрос повтора — если пользователь не расслышал информацию в голосовом канале, он может запросить её повторение. В этом разделе можно настроить функцию повтора последнего или двух последних ответов.
Если произойдет какое-либо событие, будет выполнено действие из канала по умолчанию, если в канале не указано иное.
Вы можете настроить реакции робота на определённые события. Более подробную информацию о них вы найдёте в разделе «Исключения».
Исключения есть трех типов Тишина, Не найдено и Нет данных.
При Тишине, когда пользователь молчит, можно выставить одно или несколько исключений подряд (одно исключение равно 4000 мс.) (параметр Макс. кол-во исключений подряд) и если были выполнены эти исключения подряд, то можно выполнить определенные действия. Также здесь указано время жизни сессии в секундах. Это означает, что по истечении заданного периода сессия будет завершена.
При исключении типа «Не найдено», то есть в запросе абонента обнаружилась неизвестная тематика или отсутствие ответа. Выставляется параметр «Макс. кол-во исключений подряд», то есть сколько раз бот может не найти информацию (сколько раз допускается это событие), после чего происходит переключение на оператора, либо выполнить действия «Сказать», «Завершить диалог» или «Передать диалог».
При исключении типа «Нет данных» также выставляется параметр «Макс. кол-во исключений подряд», то есть сколько раз бот может не найти информацию (сколько раз допускается это событие), после чего происходит переключение на оператора либо выполнить действия «Сказать», «Завершить диалог» или «Передать диалог».
Важно: Если элемент отсутствует в начале, счётчик увеличивается на единицу. То есть учитывается самое первое сообщение абонента, в котором не было нужной информации.
Вкладка Данные позволяет настроить процесс обработки сервисных данных, таких как согласие, отрицание, повторение и так далее. Для каждого элемента сервисных данных указывается его Тип (Класс или Сущность), Модель, из которой берутся данные, а также конкретный Класс или Сущность.
На вкладке Модели нужно добавить все модели, которые нужны для работы робота, например, модели SMC, SEE и голоса.
На вкладке можно настроить параметры голосового канала. Вот что там можно сделать:
- Выбрать голос, которым будет говорить робот.
- Установить основную модель распознавания (рекомендуем оставлять common).
- Определить фоновую модель распознавания (рекомендуем background).
Для каждой модели можно задать порог доверия, который определяет, какие данные от этой модели будут использоваться в сценарии, а какие — нет. Данные (метки), которые не достигают этого уровня, будут исключены из сценария, и в нём останутся только те, что превышают или равны этому уровню. Для моделей SMC можно выбрать один из режимов «Коррекции»:
- Базовая: исправляет только слова с минимальными опечатками (1-2 ошибки для коротких слов, макс. 1 ошибка)
- Расширенная: допускает больше исправлений для сложных случаев (добавляет +1 ошибку к базовому порогу, макс. 2 ошибки).
- Агрессивная: корректирует даже сильно искажённые слова (добавляет +2 ошибки к базовому порогу, макс. 3 ошибки).
- либо коррекция может Отсутствовать.
Вкладка «Коннекторы»
Позволяет настроить связь робота по одному из каналов: freeswitch, max, telegram, vk, web.
Для мессенджеров, таких как max, telegram, vk, характерны следующие настройки:
- токен,
- группа (для vk),
- название бота,
- обслуживающий сервер - имя сервера SES, который обслуживает данный коннектор,
- периодичность обновления - время периодичности запроса в api для получения новых сообщений,
- фразы-активаторы - список фраз, на которые будет реагировать робот в общих чатах, и считать, что сообщение адресовано ему,
- переменные,
- фраза сброса сессии,
- доступы - список пользователей, которые могут писать роботу. Если пустой, то могут все.
Для канала web, в частности, для встраивания чат-виджетов (рис 7.1). Данный коннектор предназначен для встраивания интерактивного виджета на ваш сайт. Доступно два типа виджета: Чат и Ассистент (Суфлер).
Общие параметры (для обоих типов)
Следующие настройки являются общими независимо от выбранного типа виджета.
- Домен: Укажите домен вашего сайта, на который будет встраиваться виджет. Это необходимо для безопасности, чтобы виджет мог работать только на указанном сайте.
- Токен: Уникальный идентификатор, который указан в теге
<script>для встраивания виджета на сайт. - Акцентный цвет: Основной цвет интерфейса виджета (кнопки, заголовки, выделение). Используется для согласования с фирменным стилем вашего сайта.
- Заголовок виджета: Текст, который отображается в шапке открытого окна чата.
- Приветственное сообщение: Первое сообщение, которое видит пользователь при открытии чата.
- WebSocket-серверы: Технический параметр для установки соединения. Обычно заполняется автоматически и изменяется только по указанию технической поддержки.
Функциональные возможности
Эти опции позволяют включить или отключить определенные функции виджета.
- Аудиоответы: Пользователь может прослушивать ответы от робота в аудиоформате.
- Отправка аудиосообщений: Пользователь может записывать и отправлять голосовые сообщения.
- Отправка файлов: Пользователь имеет возможность прикреплять и отправлять файлы (изображения, документы и т.д.).
- Аудиозвонок: Пользователь может инициировать голосовой звонок.
Выбор типа виджета
Перед сохранением конфигурации необходимо выбрать тип виджета, так как это влияет на доступность дополнительных параметров.
Тип: "Чат"
Стандартный режим для интерактивного общения с пользователем.
- Особенности:
- Все "Функциональные возможности" и "Общие параметры" доступны для настройки.
- Доступен блок "Переменные".
- Переменные (только для типа "Чат"): В этом разделе вы можете передавать в чат дополнительные данные о пользователе или сессии (например, имя, email, номер заказа и т.д.). Эти переменные будут доступны в диалоге.
Тип: "Ассистент" (Суфлер)
Режим, предназначенный для подсказок оператору во время разговора с клиентом. В этом режиме виджет используется вашим сотрудником, а не посетителем сайта.
- Особенности:
- Блок "Переменные" становится недоступен.
- Все переменные, необходимые для работы ассистента (например, данные о клиенте, история обращений), настраиваются и передаются отдельно в личном кабинете пользователя (оператора) или через соответствующий API.
Для канала freeswitch (телефонная линия):
- название коннектора,
- режим обслуживания:
- Режим «Как робот»
Внутренний номер: Указывается внутренний номер этого робота.- Опция ассистента: Дополнительно настраивается параметр, который определяет, будет ли ассистент (суфлер) работать после перевода звонка на оператора.
- Режим «Как ассистент»
Внутренний номер: Указывается внутренний номер робота-ассистента (суфлера).Номер для перевода звонка: Указывается номер, на который будет переключаться звонок (номер колл-центра или конкретного оператора).
- Режим «Как робот»
Работа суфлера после перевода звонка на оператора возможна в двух режимах:
- Суфлирование через другого робота
- После перевода звонка с основного робота на колл-центр, можно назначить другого робота, который будет выступать в роли суфлера для оператора, принявшего звонок.
- Сквозное суфлирование для колл-центра
- Звонок сразу настраивается на сквозное прохождение на колл-центр, и суфлер для оператора включается мгновенно.
Флаг "Автостарт ассистента" при активации этой опции, ассистент запускается автоматически.
Виды действий в роботе и работа с ними
1. Основные действия
Доступны следующие типы действий:
- Сказать
Настройте текстовые ответы робота. Это может быть простая фраза-заглушка, ответ, сгенерированный AI (LLM), или ответ из базы знаний (QAS). Типы ответов «Сказать» подробно описаны в разделе 2.
При наведении мыши на поле «Фраза» появляется кнопки-иконки
, где можно выбрать одно из действий:
- Добавить кнопку (подробнее см. раздел «Добавление кнопок в действия»). Доступно пользовательское расположение кнопок, которые регулируются переносами на новые строки.
- Перефразировать. Если нужно добавить вариации фразы (рис. 8). Предложенные фразы можно отредактировать или удалить, кликнув по иконке корзинки напротив нужной фразы и добавить в список фраз.
- Удалить лишнюю фразу можно, если она не единственная.
- Подтвердить
Настраивается фраза для подтверждения.
- Отправить файл
Позволяет отправить файл в ответ на запрос пользователя.
- Остановить выполнение действий
Немедленно прекращает выполнение всех последующих действий в текущем сценарии и сбрасывает точку выполнения диалога.
- Передача диалога
Переводит разговор, например, на оператора или в другой отдел. Для настройки необходимо указать Назначение передачи.
- Забыть данные
Позволяет стереть определенные данные, введенные пользователем, чтобы запросить их заново. При активации опции Перезапросить система автоматически сформирует запрос на ввод недостающих данных.
- Завершить диалог
Завершает текущий разговор с пользователем и закрывает сессию.
У некоторых действий есть опции:
- Считать действие успешным прохождением точки — этот флаг устанавливается на действия, которые означают, что сервис выполнился. В основном для отчетности.
- Прерываемое — этот флаг активируется для голосового канала и говорит о том, что допускается прерывание (перебивание) робота в момент синтеза ответа. Если он активен, робот будет реагировать на стоп-слова, в противном случае — нет.
- Установка переменной
позволяет задать или изменить значение переменной после выполнения определенного события в сценарии. Это мощный инструмент для создания сложной логики, например, для подсчета количества попыток входа в сервис и последующих действий в зависимости от этого значения.
2. Типы ответов для действия «Сказать»
При использовании действия «Сказать» вы можете выбрать один из четырех типов ответа:
1. Последовательно
Робот будет выдавать вопросы и информацию по порядку, строго следуя списку, указанному в поле «Фразы».
2. Случайная фраза
Робот выберет и произнесет одну случайную фразу из заданного списка.
3. Из внутреннего источника (недоступно для действий в элементах данных)
Ответ формируется из Системы ответов на вопросы (QAS) для ответа из QAS документация нужно настроить:
- Условия присвоения категорий: Определяет правила, при которых система может направить запрос в эту категорию QAS для поиска ответа.
- Условия вывода ответа: Настройте параметры, такие как использование кеша ответов, генерация ответа и кеширование формулировок и выбрать шаблон запроса. Подробности тут.
Обратите внимание: если вам нужно изменить шаблон запроса для определенной категории, это делается путем добавления отдельного действия. Настройка этого действия аналогична основному, но с выбором нужного шаблона. В Условиях запуска указываете данные, которые запустят это действие с шаблоном-исключением.
QAS-чат: Ответы генерируются AI-моделью (LLM) по умолчанию или другой моделью, добавленной администратором.
4. Из внешнего источника
Позволяет подключить скрипты интеграций для выполнения специальных действий, если таковые имеются. Для действия «Сказать» с типом «Из внешнего источника» нажмите на специальную кнопку, расположенную рядом с полем выбора скрипта
. Откроется вкладка с выбранным скриптом, где вы можете:
- Просматривать код текущего скрипта,
- Редактировать существующий скрипт,
- Создавать новый скрипт.
Редактирование и создание скриптов не влияют на сохранение ЭД/КТ, т.к. они ссылаются только на id скрипта. Если вы выбираете другой скрипт для действия, обязательно сохраните изменения.
3. Управление действиями
Для каждого действия доступны три опции управления (обычно отображаются в виде значков
):
1. Копировать
Чтобы скопировать действие в другой канал, нажмите эту кнопку и в открывшемся окне выберите целевой канал из списка.
2. Переместить
Чтобы переместить действие в другой канал, выполните те же шаги, что и для копирования.
Внимание: При перемещении действие будет удалено из исходного канала.
3. Удалить действие
Чтобы удалить действие, нажмите на кнопку в виде корзины.
Примечание: допускается запись фраз шаблоном - [Уточните|Подскажите] что вас интересует по...? - и бот случайным образом будет выбирать слова из скобок и строить фразу.
Для действий можно настроить условия запуска. Это условия, при которых действие будет выполняться (этих условий может не быть). Такой подход удобен, когда для исключения нужно настроить разные действия в зависимости от поступающих данных или переменных.
Например, в случае действия «Передача диалога», в зависимости от значения переменной с номером телефона, можно отправить информацию в разные контактные центры.
Добавление кнопок в действия
В сценарной машине предусмотрена возможность добавления кнопок.
При наведении мыши на поле «Фраза» появляется кнопки-иконки , где по иконке с плюсом можно добавить кнопку:
Чтобы внести изменения в созданную кнопку, кликните по ней левой клавишей мыши (ЛКМ) и в открывшемся меню можно редактировать или удалить эту кнопку.
Интерфейс позволяет гибко управлять расположением кнопок с помощью переносов на новую строку.
Чтобы настроить порядок кнопок:
- Выделите нужную кнопку, кликнув на неё.
- Нажмите на значок со стрелкой , который появится справа на выделенной кнопке.
- Чтобы применить перенос — один раз нажмите на саму кнопку-стрелку.
- Чтобы отменить перенос и вернуть кнопку на исходную позицию — снова нажмите на эту же кнопку.
Этот инструмент позволяет визуально сгруппировать кнопки и организовать интерфейс максимально удобно для пользователя.
Есть возможность выполнить настройки кнопок для разных каналов. Для этого переключите канал в меню напротив «Типа» события, по умолчанию все настройки производятся в канале default.
Условия запуска действий
Для каждого действия есть возможность настроить свои условия запуска. Если нажать на кнопку «Условия запуска», откроется меню, в котором можно задать условия для выполнения действия. Этих условий может не быть, либо они могут быть представлены одним элементом данных, либо сочетанием нескольких элементов, связанных логическим оператором «И». Также можно указать несколько условий, объединённых логическим оператором «ИЛИ». Каждый элемент условия имеет один из типов:
Переменные — служат для хранения данных, полученных из API или по каналам, запущенным извне. Например, это может быть ID пользователя в Telegram или CID из телефонного канала, то есть определившийся номер телефона.
Переменные, как и данные, можно выбирать из выпадающего списка. Доступны все названия и значения, которые использовались ранее. Если вам нужно создать новую переменную и значение, просто введите их с клавиатуры. После этого они также будут предлагаться вам в дальнейшем.
Данные — элемент данных, полученный от моделей SMC или SEE.
Интервал — период времени, в который запускается это действие. У Интервалов есть дополнительный флаг: Не:
- если "не" выключено - то работает по этому интервалу,
- если "НЕ" включено - то наоборот, когда не равно этому интервалу.
Подтвердить — запуск действия в зависимости от наличия подтверждения от абонента.
В меню условий запуска есть повторяющиеся кнопки «Сохранить» и «Закрыть» (рис. 9).
Обратите внимание: при нажатии на кнопку «Сохранить» сохраняются не только текущие условия запуска, но и все настройки КТ. При нажатии на кнопку «Закрыть» без сохранения изменения теряются.
Также при сохранении настроек в окне "Условий запуска" если были обнаружены одинаковые блоки условий "ИЛИ", то будет соответствующее оповещение с выделением повторяющихся блоков (Рис. 9.)
Пример использования условий запуска действий в конечной точке «Проверка статуса»:
Ситуация 1.
Например, если абонент хочет узнать статус своего заявления, робот может спросить: «Назовите код вашего заявления?». В ответ абонент может сказать, что не знает, где найти этот код.
Чтобы отработать такую ситуацию, в раздел «Действия» необходимо добавить справочную информацию о том, где можно найти код. Также следует добавить элемент данных, например «Не знаю код» (модель SEE). В таком случае, если получаем от модели «Не знаю код» тег, абоненту будет отдана информация о том, где он может посмотреть код и назвать его.
Ситуация 2.
Код для проверки статуса должен состоять из семи символов. Если абонент вводит или произносит меньшее или большее количество символов, можно настроить систему так, чтобы она выдавала ему соответствующее сообщение, например: «Обратите внимание, код должен включать семь цифр». Для этого необходимо настроить следующее условие:
1. Определить элемент данных, который отвечает за отслеживание цифр (код). В нашем случае это модель SEE number и элемент данных «Код заявления».
2. Настроить условие, согласно которому при ответе пользователя будет сравниваться длина ответа с заданными параметрами: больше или меньше нужного вам значения, например, 7.
В этом случае, если абонент введёт код, содержащий меньше или больше 7 символов, ему будет выдано сообщение о том, что код заявления введён неправильно.
При необходимости вы можете менять порядок действий, просто удерживая левую кнопку мыши и перемещая их в нужное место.
Добавление и настройка элементов данных
После того как вы добавили робота нужно добавить элементы данных, нажав на кнопку «Добавить элемент». В появившемся диалоговом окне возможны два варианта добавления: "Одиночное" и "Массовое".
Для одиночного режима обязательно заполните поле «Название элемента данных», выберите тип элемента в выпадающем списке («Класс», «Сущность» или «Контейнер») и нажмите на кнопку «Добавить». Все созданные элементы данных формируют облако данных и находятся на левой части рабочей области.
Класс — данные, полученные из моделей SMC.
Сущность — информация из моделей SEE.
Контейнер — составной элемент данных, который собирает необходимые данные, чтобы отправить их во внешнюю БД по API с помощью скриптов интеграции.
Для массового режима (доступно только для типа "Класс") необходимо выбрать модель (Рис. 10). Далее, в появившейся таблице будет представлен список классов/групп (можно менять переключателем) этой модели, которых еще нет в списке элементов данных, с указанием подтипа (см. подраздел «Подтип» ниже) для каждого класса. По умолчанию элемент данных берет название класса, но при необходимости его можно изменить в таблице. После нажатия кнопки «Добавить» будут добавляться элементы данных, отмеченные галочкой, с заполненными полями "Название", "Модель", "Класс", "Подтип", "Вес" соответственно (см. обозначения ниже).
Настройка элемента данных
На предыдущем этапе вы добавили новый элемент. После этого откроется окно, в котором необходимо настроить новый элемент данных (Рис. 10.1).
В этом окне есть два поля: «Название элемента данных» и «Тип», которые вы заполнили при создании элемента данных. Тип элемента здесь поменять уже нельзя. Далее необходимо заполнить поле «Модель», а в поле «Класс» («Группа» или «Сущность») выбрать класс (группу, сущность) этой модели (SMC, SEE), соответствующий типу элемента данных. Если получили класс от SMC, следовательно, получен и элемент данных, ему соответствующий. Возле названия модели появится значок серой галочки — «Проверка модели» (см. рис. 11). При нажатии на него откроется функция ручной проверки модели, аналогичная проверке SEE и SMC.
«Вес» — это параметр, который определяет приоритет этого элемент данных в спорных ситуациях. По умолчанию установлено значение 3. Также вес ЭД отображается в отладчике и, если у вас активировано табличное представление сценария, то и в самой таблице.
Совет по работе с весом ЭД.
При настройке сценария необходимо определить, какие элементы данных будут иметь приоритет по умолчанию и однозначно указывать, в какую конечную точку следует направлять комбинации меток с ними, а какие будут служить исключениями из этого правила. К однозначно приоритетным (а значит, их вес будет выше в случае спорных ситуаций) ЭД могут относиться:
- Предварительная запись, отмена записи, уточнение записи и её перенос.
- Проверка статуса,
- Запрос оператора,
- а так же данные (тематики), которые должны отрабатываться иным способом, например, ЭД Выплаты и пособия, Опека и др. должны уходить на оператора, по ним нет консультации в ЧаВО.
Рассмотрим пример. ЭД «Предварительная запись» имеет вес 4 и приоритет в случае, если одновременно с ней от модели пришла метка СНИЛС (вес по умолчанию 3). В таком случае сочетание этих меток должно привести к КТ «Запись на прием».
Однако существуют некоторые исключения. Например, если метка «Предварительная запись» (вес 4) появляется вместе с меткой «Детский сад» (вес 3), то их комбинация должна привести в КТ «Консультация ЧаВО», а не в КТ «Запись на приём». Чтобы избежать такой ситуации, можно добавить это сочетание меток для входа в раздел «Консультация ЧаВО». Тогда при поступлении такого запроса от модели сценарная машина отправит его в QAS.
То есть в случае однозначного приоритета можно повысить вес у конкретного элемента данных, а все исключения из этого правила отрабатывать добавлением сочетания меток на вход нужной КТ.
В выпадающем списке «Подтип» можно выбрать один из двух вариантов:
«Сервисный» — этот элемент данных не нужно включать в отчет.
«Отчетный» — такой элемент должен быть отображен в отчетах.
Есть возможность оставлять комментарии по нажатию на кнопку
. Это удобно, например, если нужно сделать заметку для себя или коллег. Например, если было изменено значение веса ЭД, можно указать причину в комментарии. Как только будет оставлен комментарий, иконка поменяется на
— это означает, что комментарий не пустой.
Рядом с комментарием находится кнопка Исключения
. По нажатию на эту кнопку можно для определенных элементов данных настроить нестандартные исключения, то есть исключения, отличные от общих настроек (рис.12).
Например, для ЭД «Название филиала». В общих настройках робота МФЦ указано, что количество исключений для события «Нет данных» равно 3 (в счетчик входит и первое обращение к роботу, если там не было нужной информации). Однако мы хотим, чтобы, если с первого раза филиал не был найден, робот больше не запрашивал у абонента его название. Вместо этого робот должен показать заглушку с предложением поискать нужный филиал на сайте. Для таких случаев можно настроить нестандартное исключение.
Настройка нестандартного исключения:
- выберете нужный элемент данных,
- кликните на значок исключения
, - в появившемся окне активируйте флаг «включить нестандартные исключения»,
- заполните тип исключения Нет данных,
- установите максимальное кол-во исключений подряд (если хотите уточнять один раз, то макс.кол-во устанавливайте равным 2),
- установите канал связи при необходимости,
- и выберете действие на случай, если исключение наступило.
Далее находится кнопка «Постобработка»
. При нажатии на нее появится всплывающее окно с редактором кода, где можно написать функцию, которая будет срабатывать после того как ЭД был получен (Рис. 12.1). Установите галочку «Включить постобработку» и в редакторе отобразится функция-обработчик, которая принимает на вход три параметра: значение ЭД, текст последнего сообщения, канал, и возвращает значение ЭД и опционально текст сообщения.
Пример:
def handler(value, message, channel):
if value == 'старый' and message == 'старый' and channel == 'voice':
return 'новый', {'text':'новый'}
elif value == 'новый' and message == 'новый' and channel == 'voice':
return 'старый', {'text':'старый'}
return value, {'text': 'не тот канал'}
Тестирование скриптов в ЭД
Процесс тестирования скриптов в ЭД аналогичен тестированию скриптов во вкладке "Скрипты", с учетом того, что скрипты находятся непосредственно в самих ЭД.
Важное отличие:
- Для ЭД типа «Класс» или «Сущность» - поле «Значение» обязательно для заполнения.
- Для ЭД типа «Произвольный» - поле «Значение» заполняется по необходимости (опционально).
В настройках есть флажок «Получать только прямым запросом». Он предназначен для элементов данных, которые следует извлекать только тогда, когда мы находимся в конечной точке, где они необходимы и только в случае если сценарий дошел до точки дозапроса этого элемента данных.
Пример: Запись на прием
1. Процесс взаимодействия с пользователем
Пользователь хочет записаться на прием. Для этого необходимо собрать следующие данные:
- Намерение (цель обращения).
- Адрес (куда хочет попасть пользователь).
- ФИО.
- Номер телефона.
2. Работа моделей в КТ "Запись на прием"
- Все модели, отвечающие за обработку запроса, работают в фоновом режиме.
- На любом этапе диалога они могут «выхватывать» сущности (например, извлекать ФИО, адрес и т. д.).
3. Проблема ложного срабатывания
Модель может ошибочно извлечь данные, если:
- Пользователь вводит информацию, которая частично совпадает с искомой сущностью (например, город "Владимир" может быть ошибочно принят за имя).
- Это приводит к некорректной обработке данных до завершения сценария.
4. Решение: ограничение работы модели
Чтобы избежать ложных срабатываний:
- Активируйте галочку «Получать только прямым запросом» в настройках ЭД.
- Если галочка активна, модель (например, извлечение ФИО) сработает только когда:
- Сценарий диалога дошел до запроса ФИО.
- Пользователь явно отвечает на вопрос о недостающих данных по ФИО.
Таким образом, система не будет обрабатывать случайные упоминания имен или других сущностей вне контекста запроса.
Флажок «Подставлять ответ модели в сообщение» предназначен для работы с типами ЭД «Сущность». Его основная функция — подставлять в запросы пользователей ответ от модели (название тэга) SEE вместо исходного текста абонента, на который среагировала модель.
Пример использования
Например, для оформления загранпаспорта необходимо уточнить возраст получателя.
- Создаем модель SEE с тегами:
до 14 летс 14 лет до 18 летс 18 лет(Теги формируются на основе предоставленной документации.)- Добавляем ЭД в качестве недостающего элемента в настройки КТ.
- Когда сценарий доходит до дозапроса этого ЭД или абонент сам предоставляет данные, система отправляет запрос в QAS. Например, абонент отвечает, что ему 44 года, но в документах нет такого варианта. В них информация сгруппирована
до 14 лет,с 14 лет до 18 летис 18 лет.Соответственно система не найдет похожую информацию.- Решение:
- Если флажок активирован, система подставит ближайший подходящий тег (в данном случае —
с 18 лет).- Это поможет QAS корректно находить информацию в документации.
Важно: если ваша модель SEE не отдаст ответ, то настройка не сработает. Проверьте и при необходимости дообучите модель.
Флажок «Режим долгого ожидания» Открывает дополнительное меню с триггерами окончания ожидания. Это данные, при получении которых мы прекращаем ждать именно этот элемент данных (ЭД). Например, если получили его же или другие данные, например, просьбу позвать оператора.
Обратите внимание: чтобы этот режим работал правильно, создайте нестандартное исключение для ЭД (описание выше). Иначе система будет ориентироваться на общие настройки количества исключений.
После завершения всех настроек нажмите на кнопку «Добавить элемент», и он появится в списке элементов данных.
Если в карточку ЭД были внесены изменения, закрыть её можно только после того, как вы сохраните эти изменения и кликните на любую область за пределами карточки, или принудительно закрыть её, нажав на кнопку «Закрыть» (без сохранения внесенных изменений). Если открыли карточку просто для просмотра, то закрывается по клику вне карточки или по кнопке «Закрыть».
События элемента данных
Так же можно настроить События. Это действия которые будут происходить при получении этого элемента данных (если пришел класс от SMC). События есть двух типов:
- если найден только текущий,
- недостающий элемент,
- нет данных,
- элемент получен,
- тишина.
Обратите внимание: для событий «Тишина» и «Нет данных» на ЭД доступны нестандартные исключения. Подробнее об этом читайте в предыдущем разделе.
Тип события «Если найден только текущий» позволяет настроить реакцию на получение только одного этого класса.
Например, у нас есть такой элемент данных, как Дата. Если абонент называет или пишет: «25 января», мы получили класс от SEE, а значит получили и элемент данных. Но поскольку ответить на такое сообщение не возможно, то в этом типе события можно указать уточнение, например: «Что вы имеете в виду?»
Можно настроить разные события для разных каналов. Чтобы переключиться между каналами связи, просто откройте выпадающий список «Канал». По умолчанию выбран канал «default».
Тип события «Недостающий элемент» предоставляет возможность создать сценарий на случай, если для активации конечной точки не хватает именно этого конкретного элемента данных. Если есть необходимость дозапросить информацию при получении какого-то элемента данных, то можно сделать это следующим образом:
- Создаем элемент данных (класс или сущность).
2. Выбираем тип события «Недостающий элемент» и настраиваем действие. И сохраняем настройки.Например, пользователь обращается с вопросом о замене паспорта, но не уточняет, какой паспорт ему нужно заменить — заграничный или внутренний. Для этого случая есть элемент данных «Тип паспорта», который является сущностью. У этого элемента данных будет стоять событие типа «Недостающий элемент» с уточнением: «Какой паспорт нужен — заграничный или внутренний?». То есть мы запрашиваем у пользователя информацию, для того чтобы получить этот элемент данных и перейти либо в конечную точку «Паспорт РФ» (при получении тега от SEE «РФ»), либо в конечную точку «Загранпаспорт» (при получении тега от SEE «Загран»).
Окно с полностью заполненными настройками выглядит так, как показано на рисунке 13. При отображении в виде облака все элементы данных, которые совпадают с поисковыми критериями, будут выделены синим цветом. В случае табличного представления будут отображены только те элементы данных, которые соответствуют запросу, и соответствующие КТ, где на входе есть искомый ЭД.
Тип события «Элемент получен». Данный тип события позволяет задать действие, которое будет автоматически выполняться в тот момент, когда система получает от пользователя этот элемент данных (например, ФИО, номер телефона, адрес и т.д.).
Тип события «Тишина» настраивается на каждом элементе данных при необходимости, чаще это нужно для недостающего элемента, который мы запрашиваем. Тут можно прописать действия на случай, если в ответ на вопрос от робота человек молчит.
Например, если робот спрашивает у абонента, какой паспорт ему нужен, а человек молчит, можно через некоторое время повторить вопрос или сказать: «Говорите громче, не слышно».
Тип события «Нет данных» настраивается на каждом элементе данных при необходимости, чаще это нужно для недостающего элемента, который мы запрашиваем. Тут можно прописать действия на случай, если в ответ на вопрос от робота человек говорит что-то, но не ответ на вопрос.
В таблице элементов данных предусмотрено уведомление (Рис. 14) об отсутствующей модели на сервере, которую использует элемент данных, а также об отсутствующем классе/группе в выбранной модели. При таких случаях слева от элемента данных расположен значок
, при наведении курсора мыши на который появляется соответствующее сообщение.
Произвольный элемент данных
Элемент данных типа «Произвольный» предназначен для обработки произвольных текстовых данных от пользователя, таких как:
- Нажатия кнопок (текста на кнопках),
- Точные текстовые фразы,
- Данные, присваиваемые через скрипты.
Простая настройка:
- Текст: текст от пользователя (например, текст на кнопке или точная фраза), который нужно «отловить».
- Значение элемента данных: присваиваемое значение этому элементу данных (param).
Универсальное применение:
- Обработка различных кнопок в одном элементе данных.
- Возможность скриптового присвоения любых значений.
- Замена использования элемента-заглушки со скриптами.
- Пользоваться таким ЭД можно точно так же как и другими элементами. Вести в разные действия и категории исходя из значения произвольного ЭД.
Пример использования
Сценарий: Обработка различных текстов с кнопок БЕЗ обработки моделями, то есть модель может «не знать» этих фраз:
- Текст: "Поддержка участников СВО" → Значение ЭД: «Поддержка СВО»
- Текст: "Льготы для пенсионеров" → Значение ЭД: «Социальные услуги»
Таким образом, один произвольный элемент данных может обрабатывать множество различных вариантов ввода.
События на этом элементе аналогичные как и на обычных ЭД.
Элемент данных типа «Контейнер»
Контейнер — это составной элемент данных, который объединяет несколько дочерних элементов для последующей обработки. Его основная функция — сбор необходимых данных и их отправка во внешнюю базу данных через API с использованием скриптов интеграции.
Доступ к редактору скриптов:
- Перейдите в карточку элемента данных «Контейнер»
- Нажмите на кнопку вызова редактора скриптов

- Важно: Если скрипт не заполнен, кнопка будет подсвечиваться красным цветом
Создание функции обработки:
- При нажатии на кнопку открывается всплывающее окно с редактором кода
- Функция выполняется после получения всех данных элемента
- Для активации установите галочку «Включить скрипт обработки»
Функция принимает три входных параметра:
value— значение текущего элемента данныхmessage— текст последнего сообщения от пользователяchanel— идентификатор канала взаимодействия
Функция возвращает:
- Обязательно: обработанное значение элемента данных (value и записывает его в значение ЭД param)
- Опционально: текст сообщения для пользователя
События контейнерного ЭД:
- «Элемент получен». Данный тип события позволяет задать действие, которое будет автоматически выполняться в тот момент, когда система получает от пользователя этот элемент данных (например, ФИО, номер телефона, адрес и т.д.).
- «Нет данных» настраивается на каждом элементе данных при необходимости, чаще это нужно для недостающего элемента, который мы запрашиваем. Тут можно прописать действия на случай, если в ответ на вопрос от робота человек говорит что-то, но не ответ на вопрос.
Добавление и настройка конечных точек
Конечная точка — это то, что выполняет определённое действие, например, предоставляет консультацию, завершает диалог и так далее. Процесс добавления конечной точки похож на добавление элемента данных. В верхней правой части рабочей области расположена кнопка «Добавить конечную точку» (рис. 16). Нажав на неё и заполнив поле с названием, вы создадите новую конечную точку. Все созданные точки образуют «облако конечных точек».
Настройка конечной точки
После того как вы ввели название конечной точки и нажали кнопку «Добавить», слева на рабочей панели появится окно для настройки конечной точки. В самом верху этого окна отображается название конечной точки, при желании его можно сменить. Также доступен выпадающий список «Тип». Здесь можно выбрать один из четырёх вариантов:
«Отчетный» — эта та, которая участвует в статистике, т.е. несет какую-то полезную для анализа информационную нагрузку.
«Сервисный» — это такие конечные точки, как «приветствие» и другие, которые служат для поддержания диалога.
«Передача диалога» — точки, отвечающие за переключение звонка или передачу разговора операторам.
«Завершение диалога» — конечная точка, которая ставит точку в общении с пользователем.
Также можно выбрать еще Тип входа в КТ может быть трех видов (рис. 17):
- по условиям, когда попадаем в КТ при условии получения определенных данных, например, класс от SMC (рис. 18). На вкладках «Условия» доступна фильтрация по элементу данных.
- по бездействию, когда КТ отрабатывает по таймауту, указанному в поле Время, если абонент приостановил взаимодействие с роботом, но сессия еще не завершилась. Необходимо настроить время, заполнить сбор информации (он же - условия запуска) и настроить действие, которое сработает по истечению времени.
Пример. Абонент обратился за консультацией. Робот предоставил ответ. После консультации абонент бездействует, а сессия еще не закрыта. Можно настроить КТ Оценка качества обслуживания, которая по истечению указанного времени запросит оценку, после ответа абонента, завершит сессию.
- по ручному запуску, когда КТ нужно принудительного запустить, например для рассылки. Чтобы настроить вход в конечную точку нужно выбрать в меню Вход опцию «По ручному запуску». Интерфейс КТ по ручному запуску идентичен КТ со входом «По бездействию», за исключением поля «Время».
Такой вариант входа в КТ подходит для исходящих сообщений (обзвонов), например, чтобы отправить абоненту напоминание-подтверждение о предстоящей записи: «Уточните, пожалуйста, вы придете на прием?»
Есть возможность оставлять комментарии по нажатию на кнопку
. Это удобно, например, если нужно сделать заметку для себя или коллег. Как только будет оставлен комментарий, иконка поменяется на
— это означает, что комментарий не пустой.
Настройка исключений для конечных точек
Вы можете настроить автоматическое реагирование на сбои в работе конечных точек. Исключения
- это специальные действия, которые выполняются при нескольких последовательных неудачных запусках конечной точки.
Система отслеживает статус запусков. Когда количество неудачных попыток подряд достигает заданного вами значения (например, 3), автоматически выполняется указанное вами действие.
Пример настройки:
- Условие: 3 неуспешных запуска подряд.
- Действие: Перевести звонок оператору или Завершить диалог.
Условия входа и запуска конечных точек. Сбор информации
Типы условий для входа
Для настройки условий входа в системе доступны три основных типа:
1. Данные. Проверка значений элементов данных.
2. Переменные. Работа с системными и пользовательскими переменными.
3. Подтверждение. Проверка статуса подтверждения от пользователя. Возможные значения:
- Получено (пользователь подтвердил действие)
- Не получено (пользователь отклонил действие)
Для условий запуска есть дополнительно 4-ое условие, помимо вышеперечисленных:
4. Интервалы. У Интервалов есть дополнительный флаг: Не:
- если "не" выключено - то работает по этому интервалу,
- если "НЕ" включено - то наоборот, когда не равно этому интервалу.
Для сбора информации есть только 2 варианта условий: данные и переменные.
Применение: Эти типы условий позволяют гибко управлять логикой диалога, направляя пользователя по различным сценариям в зависимости от текущего контекста.
Условия входа (Вход). Для того чтобы попасть в конечную точку и выполнить определенные действия, нужно выполнить условия входа. Их может быть как один элемент данных, так и их сочетание.
Пример: У нас есть конечная точка «Загранпаспорт». И в эту конечную точку приводят элемент данных: «Загранпаспорт» (получена метка от SMC, соответствующая этому элементу данных). А также сочетание элементов данных: «Паспорт» (получаем, если тип паспорта не указан сразу) и «Тип паспорта-загран» (тег «Загран» получили после уточнения типа паспорта).
Условия входа объединены в блоки, которые имеют логическое условие «И». Чтобы добавить новое условие, необходимо нажать на кнопку «Добавить условие»
. Блоки с условиями «И» разделены логическим «ИЛИ».
Справа от поля «Название» из выпадающего списка можно выбрать один из операторов:
- Существует — это любое значение этого элемента данных, то есть важно просто наличие этого элемента данных,
- Не существует — означает, что значение этого ЭД отсутствует,
- != — не равно,
- = — равно,
- < — меньше,
- > — больше,
- <= — меньше или равно,
- => — больше или равно,
- + (Прибавить) — для увеличения счетчика,
- - (Вычесть) — для уменьшения счетчика,
- Длина равна — длина ответа абонента равна определенному значению, которое указывается в поле «Значение». Например, когда абонент вводит код для проверки статуса заявления, который должен быть равен 7 знакам,
- Длина меньше — длина ответа абонента меньше определенного значения, указанного в поле «Значение»,
- Длина больше — длина ответа абонента больше определенного значения, указанного в поле «Значение».
Условия запуска и Сбор информации. Вкладка Сбор информации и меню Условия запуска идентичны по своему назначению.
По нажатию на эту кнопку открывается окно, где нужно указать все случаи (данные и их комбинации), при которых точка сработает (см.рис. 19). В окне «Условия запуска» элементы данных разделяются логическим оператором «ИЛИ». В случае с комбинациями условий ЭД отделяются друг от друга логическим «И». Как в случае с элементами, разделёнными операторами «ИЛИ», так и с элементами, разделёнными «И», порядок элементов можно менять. Аналогично для вкладки Сбор информации.
Для того, чтобы изменить порядок элементов, разделённых «ИЛИ», необходимо навести курсор (он изменится на курсор перемещения) на любой край элемента и перетянуть элемент на необходимую позицию. Для изменения порядка элементов, разделённых «И», необходимо навести курсор (он изменится на курсор в форме маленькой руки) на специальную иконку для перетаскивания слева от строки с условием и перетащить его в нужное место.
Условия можно редактировать: добавлять и удалять. Окно можно двигать как удобно, достаточно просто зажать левую клавишу мыши и перетащить как нужно.
Например, конечная точка «Консультация» активируется, если будут получены метки «Апостиль» ИЛИ «Банкротство» ИЛИ «Загранпаспорт» и «Тип паспорта — загран».
В меню условий запуска есть повторяющиеся кнопки «Сохранить» и «Закрыть». Обратите внимание: при нажатии на кнопку «Сохранить» сохраняются не только текущие условия запуска, но и все настройки КТ. При нажатии на кнопку «Закрыть» без сохранения изменения теряются.
У условий есть параметр «Тип», принимающий два значения: данные или переменная. Параметр «Искать» имеет три варианта:
- Во всем диалоге. Если выбрали эту опцию, то система будет искать этот ЭД во всем диалоге. Например, если спрашиваем у абонента имя или номер телефона, то сохраняем эти данные навсегда и больше не переспрашиваем.
- В текущей точке. Поиск данных (ЭД) будет происходить с момента входа в КТ и до выхода из этой КТ или повторного входа в нее, но уже с новыми условиями. Например, для случаев с КТ Консультация или любой другой КТ, множеством условий входа.
- В последнем сообщении. Система будет учитывать только последнее сообщение абонента, игнорируя предыдущие.
Далее идет поле «Название», где из выпадающего списка требуется выбрать нужный элемент данных.
Если в выбранном элементе данных не заполнено событие «Недостающий элемент», то в правом верхнем углу будет расположен значок
со всплывающим уведомлением при наведении на него.
Справа от поля «Название» из выпадающего списка можно выбрать один из операторов:
- Существует — это любое значение этого элемента данных, то есть важно просто наличие этого элемента данных,
- Не существует — означает, что значение этого ЭД отсутствует,
- != — не равно,
- = — равно,
- < — меньше,
- > — больше,
- <= — меньше или равно,
- => — больше или равно,
- Длина равна — длина ответа абонента равна определенному значению, которое указывается в поле «Значение». Например, когда абонент вводит код для проверки статуса заявления, который должен быть равен 7 знакам,
- Длина меньше — длина ответа абонента меньше определенного значения, указанного в поле «Значение»,
- Длина больше — длина ответа абонента больше определенного значения, указанного в поле «Значение».
Если в карточку КТ были внесены изменения, закрыть её можно только после того, как вы сохраните эти изменения и кликните на любую область за пределами карточки. Принудительно закрыть её можно нажав на кнопку «Закрыть» (без сохранения внесенных изменений). Если открыли карточку просто для просмотра, то закрывается по клику вне карточки или по кнопке «Закрыть».
Условия присвоения категорий
Условия присвоения категорий. По клику на эту кнопку раскрывается меню (рис. 20), в котором есть выпадающий список со всеми категориями из QAS, а ниже область для настройки условий. Условие может включать в себя как один элемент данных, так и несколько, которые связаны между собой логическим выражением «И». Также возможно наличие нескольких условий, которые соединены логическим выражением «ИЛИ». Окно с условиями категорий или условиями запуска можно двигать как удобно, достаточно просто зажать левую клавишу мыши и перетащить как нужно.
На примере категории «Паспорт РФ» можно увидеть, что эту категорию мы присваиваем, если получаем элементы данных «Паспорт» и «Тип паспорта — РФ» (значение «РФ») или только элемент данных «Паспорт РФ».
Флажок «Запрос в QAS с учетом прошлого контекста» указывает системе, что перед отправкой запроса в QAS необходимо проанализировать предыдущие сообщения пользователя. Это позволяет сохранять логику диалога и избегать необоснованной смены тематики.
Пример работы
- Без включенной функции
- Пользователь спрашивает: "Какие документы нужны для оформления СНИЛС?" → система направляет запрос в категорию СНИЛС.
- Затем пользователь уточняет: "А сколько это стоит?" → система определяет метку Госпошлина и перенаправляет запрос в соответствующую категорию, теряя контекст СНИЛС.
- С включенной функцией
- Если флажок активен (например, для категории Госпошлина), система:
- Проверяет предыдущие сообщения.
- Если диалог начался в другой категории (например, СНИЛС), запросы объединяются ("склеиваются").
- Если контекст отсутствует, тематика меняется, но поиск ответа ведется сразу по обеим категориям (СНИЛС + Госпошлина).
Когда использовать
Активируйте эту настройку для категорий, которые могут:
- Быть частью более широкого запроса (например, Госпошлина как дополнение к СНИЛС).
- Требовать сохранения контекста диалога.
В меню условий присвоения категорий есть повторяющиеся кнопки «Сохранить» и «Закрыть» (рис. 20). Обратите внимание: при нажатии на кнопку «Сохранить» сохраняются не только текущие условия запуска, но и все настройки КТ. При нажатии на кнопку «Закрыть» без сохранения изменения теряются.
Действия в конечных точках
В этом разделе настраиваются действия, которые будет выполняться при условии, что все данные получены. А так же условия присвоения категорий из QAS для выполнения консультаций.
Связанная фильтрация ЭД и КТ
В интерфейсе реализована связанная фильтрация между таблицами Элементов Данных (ЭД) и Контрольных Точках (КТ). Это позволяет автоматически находить взаимосвязанные объекты.
Принцип работы:
- Фильтрация по ЭД: При вводе названия в фильтр таблицы Элементов Данных:
- В таблице ЭД отображаются только те элементы, названия которых соответствуют фильтру.
- Одновременно в таблице КТ автоматически отображаются только те Контрольные Точки, в которых используются отфильтрованные ЭД.
- Фильтрация по КТ: При вводе названия в фильтр таблицы Контрольных Точек:
- В таблице КТ отображаются только те точки, названия которых соответствуют фильтру,
- Одновременно в таблице ЭД автоматически отображаются только те Элементы Данных, которые используются в отфильтрованных КТ.
Важно:
Система учитывает использование Элементов Данных во всех типах Контрольных Точек:
1. Входные данные (вход).
2. Собираемая информация (условия запуска/сбор информации).
3. Условия запуска действий.
Тестирование робота
В интерфейсе SES есть чат с отладчиком (рис. 21), где вы можете протестировать работу сценарной машины. Чтобы открыть чат-отладчик, нажмите на значок
в правом нижнем углу рабочей области. В самом верху располагается выпадающий список с каналами связи. Справа от списка — кнопка «Перезапустить сессию»
, которая сбрасывает всю переписку и данные отладчика. А слева — кнопка «Данные сессии»
, предоставляет возможность в режиме отладки увидеть все данные, полученные от моделей. В окне отладчика есть параметр qas, где отображается запрос, который отправился в QAS и не только, подробнее см. раздел Данные сессии. И кнопка «Тестирование скрипта»
, подробнее тут. Есть возможность отправлять в чат файлы нажав на
и выбрав файл (в любом формате).
Количество попыток подключения ограничено тремя. После третьей неудачной попытки виджет блокируется. Для возобновления работы пользователь должен нажать кнопку «Восстановить?» (рис. 21). При разрыве соединения появляется сообщение на темном фоне снизу окна чата.
Режим отладки (дебаг):
- В режиме отладки появилась панель логов.
- Логи автоматически обновляются после каждого ответа от робота.
- Вместе с логами также обновляются данные текущей сессии.
Настройки
чата позволяют выбрать настройки аудиоответов, а так же установить переменные, например, номер телефона.
Еще в меню настроек можно выбрать КТ по ручному запуску, чтобы протестировать работу КТ и сценария (рис. 22).
Тестирование в текстовых каналах
Данные сессии
Раскрыв данные сессии можете увидеть, все данные о текущем диалоге с роботом. Разберем по порядку, ниже представлены некоторые данные из ключа root, они нужны не все, разберем только нужные:
"started":"2025-06-10 09:46:05" — время начала сессии
"modified":"2025-06-10 09:49:08" — когда произошли изменения последние (пришел запрос/изменилась тематика) "robot":"ffeaa99a-13d2-4bff-b458-1231c884f8ee" — id робота, у продовой версии будет приписка _prod
"session":"beefb6a2-dc08-47d4-9e02-2495329173ec" — id сессии
"channel":"default" — активный канал, в котором происходит тестирование
"connector":"web"
"unknown":false.
Далее идет самая интересная для аналитиков часть - "current" . Раскрыв этот ключ можно посмотреть в какую конечную точку привёл сценарий, и была ли запросу присвоена какая-либо категория. А так же параметр data, раскрыв который можно увидеть все классы (рис. 23 и 23.1), которые пришли от модели SMC и/или модели SEE и их достоверность и вес. Раскрыв в data параметр reply - увидеть данные ответа от робота. Имея все эти данные можно отладить работу сценария.
"current":{
"id":"Консультация ЧаВО" — конечная точка, в которую привел сценарий,
"qas":"оформить снилс" — запрос, который отправился в QAS.
}
Обратите внимание: если параметр QAS в отладчике пустой, это значит, что ваш запрос не был передан в QAS. Если же в этом параметре отображается ваш запрос, но робот просит вас перефразировать его, то, вероятно, в базе данных не хватает формулировки с ответом или на ответе отсутствует пометка «проверено». Это может происходить, когда в настройках КТ, отвечающей за консультирование из базы данных QAS, установлен параметр «Использовать кэш ответов» в режиме «Только проверенные ответы».
Отработка склеек и удержания контекста: в QAS летит вообще вся история сообщений в рамках одного контекста общения через разделитель «|». Модель генерации будет отвечать на последний вопрос в цепочке с учетом ранее написанных сообщений в этом контексте.
"answered":true — был ли ответ true/false "category":[0:"МФЦ НСО СНИЛС"] — отображается список категорий, в которые попал вопрос (их может быть больше одной)."nearest":NULL
Следующий кусок ключа current проще объяснить на примере запроса "оформить паспорт":
"entry":"entry":[0:"Паспорт, вес 3" ] — зашли в КТ по метке «Паспорт», запросили тип паспорта (загран), старый/новый образец и дошли до возраста получателя:
"missingRunData":[
0:"Возраст заявителя для заграна, вес 3"] — тут отображаются ЭД, которые нужны для «пропуска» дальше в действия.
"passedRunData":[ ] — список условий AND, который выполнился.
"waitingRunData":
"Возраст заявителя для заграна, вес 3" — отображается ЭД, который запросили и ждем получения.
"border":0 — отражает границу, от которой система смотрит на данные. Например, при border:1 - система будет смотреть от 2-го ЭД в списке data и ниже. При border:0 - с первого.
"preborder":0
}
"models":[...] — раскрыв список, можно посмотреть все модели, которые отработали за сессию.
"scripts":[] — отображает список скриптов, которые отработали за сессию.
"data":[...] — раскрыв data, можно увидеть параметр "message" — фраза-сообщение пользователя. И под каждым message, есть своя data, где находятся все метки и все тэги, пришедшие от моделей SMC и SEE на эту фразу.
"timers":[...]
"variables":{} — тут отображаются пришедшие переменные, если есть.
"error":"" — выводит ошибку при отработке скрипта.
"events":{ — параметр отображает счетчики событий за сессию (не найдено/нет данных/тишина).
"not found":{...}
"no data":{...}
"silence":{...}
}
Тестирование скриптом
Теперь вы можете автоматически тестировать робота с помощью скриптов. Например, если у вас возникли сложности с маршрутизацией и нет желания каждый раз вручную воспроизводить весь диалог при отладке сценария, вы можете сохранить его для последующего тестирования. Для этого кликните на кнопку
справа от чата появится окно. Добавить скрипт можно путем импорта из файла
, если есть данные в формате txt или импортировать диалог из текущей сессии. Нажмите на иконку импорта или выберите «Скрипт» в выпадающем меню и нажмите «Добавить скрипт» (рис. 24). Появится диалоговое окно «Добавление скрипта». Введите название скрипта, выберите файл и нажмите «Добавить». Если у вас уже открыта сессия, отметьте в окне добавления скрипта опцию «Импорт из чата». Если у вас несколько скриптов, переключаться между ними можно через выпадающий список «Скрипт».
Правее него находятся иконки импорт
, экспорт
и удалить
. Импорт был описан ранее. Экспорт позволяет выгрузить скрипт в формате txt. Кнопка удалить - удаляет весь скрипт.
Файл для импорта и экспорта - это простой текстовый файл, в котором все запросы к роботу, каждый с новой строки.
Галочки обозначают точки останова (рис. 25). Когда они стоят, автотест останавливается и ждет, пока вы нажмете кнопку «Дальше». параллельно можно открыть отладчик и смотреть, что происходит на каждом этапе теста.
У тестирования есть два основных режима:
- Полный тест:
- Все галочки сняты
- Тест выполняется автоматически от начала до конца, без остановок
- Пошаговый режим:
- Тест останавливается на каждом шаге
- Для продолжения нужно нажимать "Дальше"
Если вы не поставили ни одной галочки (режим «полный тест»), а затем поставили хотя бы одну, тест переключится в пошаговый режим. При этом переключатель автоматически переключится в «пошаговый режим», но все галочки он не поставит. Это просто оповещение о том, что тест неполный.
Чтобы начать тестирование, сначала сбросьте текущую сессию, если она активна, и нажмите кнопку «Тест». Если выбран «Полный тест», он запустится автоматически. Для «Пошагового» теста нужно будет последовательно нажимать «Дальше». После того как тест завершится или вам нужно прервать его в любой момент (это относится к «пошаговым тестам»), нажмите кнопку «Остановить». После этого тестирование можно запустить еще раз. Внутри одной сессии нельзя запустить тестирование, скрипт тестирования ограницен сохраненными формулировками. Но можно продолжать диалог, в этой же сессии, с роботом после тестирования.
Последняя отправленная фраза будет выделена голубым цветом.
Просмотр данных сессии
Эта функция позволяет вам в реальном времени отслеживать диалоги и данные сессии у другого пользователя в рамках одного бота.
Подключение к отслеживанию
- Нажмите на иконку «Просмотр сессии»
. Введите название переменной, за которой хотите следить и ее значение (если требуется, например, номер телефона абонента) в соответствующие поля. - Нажмите кнопку «Подключиться».
- Меню закроется, и вы увидите всплывающее уведомление с подтверждением успешного подключения.
- В основном интерфейсе индикатор отслеживания (иконка «Отключиться от сессии»
) изменит свой вид: он будет зачеркнут и периодически мигать. Это сигнализирует о том, что соединение активно и система ожидает данные.
Как поступают данные:
Как только у пользователя, за которым вы следите, начнется новый диалог (произойдет старт разговора), в ваш чат будут автоматически поступать все его сообщения, а в раздел «Дебаггер» — все соответствующие технические данные.
Отключение от отслеживания
Чтобы прекратить отслеживание, выполните одно из следующих действий:
- Нажмите на индикатор отслеживания («Отключиться от сессии»
), который активен в режиме подключения. - Выполните команду «Сброс сессии»
.
Любое из этих действий разорвет соединение для отслеживания, и индикатор вернется в обычное состояние.
Пример настройки просмотра сессии
Пользователь, за чьим диалогом будет наблюдение, должен создать у себя переменную (любую) и ее значение:
variable = за мной следят
Эту переменные можно установить в любое значение, так как важны их названия. Они будут служить идентификатором для системы отслеживания.
Пользователь, который хочет подключиться для просмотра, должен в своем разделе просмотра сессии создать точно такую же переменную:
variable = за мной следят
И после того, как начнется диалог, в режиме реального времени наблюдатель будет видеть все данные сессии того, кто ведет диалог с роботом.
Функция для пользователей UPS
Для более удобного отслеживания вы можете использовать уникальный
id пользователя UPS, который передается в переменные сессии.
- Вместо того чтобы указывать одинаковые переменные у обоих пользователей, вы можете напрямую указать
id пользователя, за которым хотите следить.- Это позволяет вам следить за конкретным пользователем, при этом ему не обязательно вручную задавать у себя переменную.
Тестирование голосовыми сообщениями и в голосовом канале
Робота можно протестировать, задавая вопросы голосом и/или вводя переменные. Например, можно проверить, как робот отправляет в разные конечные точки, получая одинаковые метки от SMC и номера телефонов различных ведомств. Например, метка «Мобилизация» от SMC в сочетании с номером телефона МФЦ приводит в КТ Консультация ЧаВО, а «Мобилизация» и номер единого контактного центра (ЕКЦ) — в КТ Перевод на оператора. Чтобы провести тестирование робота с переменными раскройте меню, кликнув на иконку шестеренки
и заполните поля:
- Переменная: введите название переменной.
- Значение: укажите значение этой переменной..
В этом же меню вы можете настроить параметры аудиоответов и автовоспроизведения.
Если вы активируете опцию «Аудиоответы», то будете получать от робота голосовые ответы. В противном случае ответы будут в текстовом формате.
Отметка «Автовоспроизведение» позволит автоматически воспроизводить голосовой ответ робота.
Чтобы протестировать робота с помощью голосовых сообщений, нужно нажать и удерживать кнопку
. Для работы этой кнопки необходим доступ к UPS через протокол HTTPS. Вы можете настроить такой доступ, используя любой веб-сервер, например, nginx или apache. В случае, если нет галочки «Аудиоответы», то бот будет отвечать текстом (рис. 27).
В дебаггере есть функция, позволяющая протестировать голосовой канал - voice (рис. 28), то есть имитировать звонок. Чтобы запустить процесс, достаточно нажать на кнопку «Начать разговор»
. Пока разговор активен, кнопка изменится на «Закончить разговор»
. Переменные задаются в меню, как и в текстовом канале. Для этого нажмите на иконку шестерёнки
(рис. 21).
Архив диалогов
После тестирования робота в любом канале можно заглянуть в Архив диалогов (рис. 29), чтобы изучить данные сессии. Для этого необходимо кликнуть на одноименную кнопку на панели инструментов рядом с кнопками версий робота
. Интерфейс архива содержит:
- Список доступных роботов слева на экране.
- Блок с фильтрацией диалогов.
- До момента пока вы не выберете диалог из списка справа будет пустой блок с текстом «Выберете диалог». После того как диалог выбран вы увидите отображение аналогичное рисунку 29.
- Информационные вкладки (см. в разделе «Настройка робота»).
Работа с архивом диалога
Архив диалогов поддерживает версионность робота, то есть можно просмотреть диалоги одной из трех версий: черновик, прод или архивной. Для этого кликните по кнопке с нужной версией находясь уже в Архиве либо предварительно выбрав ее и перейдя в архив. Диалоги в архиве фильтруются по дате и времени, для этого кликните на иконку календаря
в поле «Начало» и «Конец», чтобы выбрать дату. И время, кликнув на иконку часов (по умолчанию дата и время выставляются за текущие сутки). Выберите нужную дату и время, добавьте необходимые фильтры. Также можно отфильтровать звонки по:
- каналам связи:
- default,
- telegram,
- web,
- voice,
- vkontakte.
2. элементам данных — при нажатии на это поле открывается перечень всех элементов данных из сценария текущего робота.
3. номеру телефона,
4. ID диалога, берется из отладчика - значение атрибута session,
5. по названию и значению переменной,
3. либо тексту, либо ключевым словам, которые могут быть в искомом диалоге.
После настройки система, по нажатию кнопки «Поиск», отобразит все диалоги с роботом, учитывая выбранные фильтры (рис. 27). На самом верху над диалогом можно просмотреть его ID. В архиве диалоги сгруппированы по принципу «запрос от пользователя — ответ робота». При выборе каждой пары открывается отладчик, где можно увидеть метки и теги, полученные от моделей, копия отладчика из тестирования робота. Этот отладчик аналогичен тому, что используется в сценарной машине. Для голосового канала есть возможность прослушивания аудио диалога помимо текстового просмотра. Также есть возможность импортировать запросы диалога в скрипт тестирования в чат-отладчик по кнопке "Добавить в скрипт тестирования" снизу диалога.
Чтобы выйти из Архива диалогов в сценарий нужно снова кликнуть на иконку
.
Пользовательские справочники
Для доступа к справочнику нажмите на значок «Пользовательский справочник»
на панели инструментов справа от архива диалогов. Чтобы создать новый справочник, нажмите кнопку «Добавить справочник» (рис. 30). В открывшемся окне заполните обязательные поля: название справочника и его структуру — наименования колонок. При необходимости задайте значения по умолчанию для каждой колонки. Эти значения будут автоматически заполнять новые строки. Затем нажмите «Добавить».
Если значения по умолчанию не указаны, справочник будет пустым. Заполнять таблицу можно вручную.
Справочники можно переименовывать и удалять. Чтобы переименовать или удалить справочник, наведите курсор на его название. Появится две иконки: карандаш для переименования и корзинка для удаления.
Перед переименованием справочника обязательно сохраните внесенные изменения, иначе они будут удалены.
При нажатии на карандаш откроется окно «Редактирование структуры». Важно помнить: изменения можно внести только в название справочника или в значения по умолчанию (если предыдущие значения были, они будут автоматически обновлены). Переименовать столбцы нельзя. После сохранения изменений нажмите кнопку «Сохранить», расположенную внизу под таблицей (рис. 31).
Внимание! Справочники зависят от версии робота. Если вы вносите изменения в структуру справочника в черновой версии
, то для применения этих изменений в продовой версии нужно применить робота в прод. Важно: переносится только структура справочника. Данные не дублируются. Их можно перенести вручную, экспортировав
из черновика и импортировав
в прод.
Вы можете фильтровать записи по содержанию любой колонки. Выделите галочками несколько записей сразу и удалите их. В правом нижнем углу появится иконка корзины, как только вы выберете хотя бы одну запись (рис. 31).
Справочники можно экспортировать и импортировать. Экспорт и импорт осуществляются в формате JSON.
При импорте структуры импортируемого файла и справочника в интерфейсе должны совпадать. Если они не совпадают, то заполнятся только совпадающие поля. Есть возможность импорта с дополнением новых данных, либо полной заменой (Рис. 32). Структура экспорта:
[
{"колонка1":"значение 1","колонка2":"значение 2","колонка3":"значение 3","id":"58845671-1150-4ae2-9c46-e8aeb2553c57"},
{"колонка1":"значение 2","колонка2":"значение 2","колонка3":"значение 3","id":"2e0a7f8e-6d64-4df9-a3ce-5862f8eb441c"}
]
Структура json-файла для импорта:
[
{"колонка1":"значение 4","колонка2":"значение 5","колонка3":"значение 6"},
{"колонка1":"значение 2","колонка2":"значение 3","колонка3":""}
]
При импорте не обязательно указывать id.
Чтобы выйти из Пользовательских справочников в сценарий нужно снова кликнуть на иконку
.
Панель управления SES
Панель управления SES включает в себя 8 кнопок: импорт, экспорт, обнуление черновика рабочей версией, применение робота, восстановление робота, применение настроек робота, массовая замена моделей в элементах данных и меню пользователя.
Совместное использование
В Сценарной машине может работать несколько пользователей одновременно, но только если они работают с разными элементами данных и конечными точками. В противном случае будут сохранены только последние изменения, внесённые одним из пользователей.