Перейти к основному содержимому
Версия: 3.0

Знакомство со Studio

Studio — редактор конкретного бота. Открыв бота из списка в админ-панели, вы увидите рабочий экран из нескольких частей.

Главный процесс бота «НашБанк — Контакт-центр» в конструкторе процессов Studio

  • Левая боковая панель — вертикальный ряд иконок разделов Studio (процессы, контент, понимание естественного языка, вопрос-ответ, аналитика, редактор кода, обучение бота, автотесты, настройка), а внутри выбранного раздела — список его элементов (например, список процессов (flows) бота).
  • Центральная область — рабочий холст: для конструктора процессов это схема выбранного сценария, для других разделов — соответствующий редактор (список намерений, таблица вопросов-ответов и т. д.).
  • Правая панель «Эмулятор» — тестовый чат для проверки бота прямо в Studio, без публикации и без переключения на другой экран. Кнопка «Эмулятор» в правом верхнем углу открывает и закрывает эту панель.
  • Нижняя панель («Панель отладки» в верхней панели) — отладчик и журнал платформы, полезны для разбора конкретного диалога шаг за шагом. Подробности ниже.
  • Верхняя панель — аватар и название бота, рядом бейдж с его статусом («Опубликован», «Персональный» или «Отключён», см. «Настройки бота»), переключение темы оформления, справка. Рядом с названием появляются инициалы коллег, которые сейчас открыли этого бота в Studio: наведите курсор, чтобы увидеть их адреса. Так видно, что бота кто-то правит одновременно с вами; у процесса, который редактирует коллега, конструктор дополнительно показывает блокировку.
  • Плашки состояния сервисов — ряд маленьких индикаторов в верхней панели, рядом с названием бота. Подробности ниже.

На рисунке бот «НашБанк» ответил в эмуляторе меню с кнопками, а звено, которое его показало, подсвечено на схеме.

Панель «Эмулятор» рядом со схемой процесса: ответ бота с кнопками меню

Плашки состояния сервисов​

Бот зависит от нескольких служб платформы, и сбой любой из них проявляется по-разному: бот «не понимает» фразы, обучение возвращается к кнопке «Обучить», эмулятор молчит. Чтобы не искать причину по журналам, состояние служб показывают плашки в верхней панели Studio. Те же плашки есть в консоли администрирования, в заголовке страницы.

Плашки состояния сервисов в верхней панели Studio

Плашка зелёная, когда служба работает, красная, когда не отвечает, жёлтая, когда работает с ограничением. Наведите курсор, чтобы прочитать, что это значит и что делать. Плашки «БД» и «Сервер» появляются, только когда с ними проблема, а «Redis» и «Duckling» — только если эти службы используются на вашей установке. Плашка «Сервер» жёлтая также первые пять минут после запуска сервера: если она появляется снова и снова без обновления платформы, сервер перезапускается, сообщите администратору.

ПлашкаЧто показываетЕсли не зелёная
Серверотвечает ли платформа на запрос состояния и давно ли она запущенакрасная: платформа не запущена или недоступна по сети; жёлтая: сервер только что запустился, повторяющиеся запуски означают перезапуски процесса
БДдоступна ли база данныхпроверьте PostgreSQL и строку подключения
NLUработает ли сервер распознавания намеренийбез него бот не понимает фразы, а обучение не запускается
Языкизагружены ли языки на языковом серверекрасная плашка: языковой сервер не отвечает (частая причина — ему не хватило памяти); жёлтая: языки ещё загружаются; без языков обучение невозможно
Ducklingработает ли распознавание дат, чисел и суммбез него остальное работает, но даты и суммы в фразах не извлекаются
Сообщенияработает ли сервис сообщенийбез него не работают веб-чат и каналы
Redisдоступен ли Redis (только в кластере)узлы кластера не узнают об изменениях друг друга
Сокетыкак Studio связана с сервером в реальном временижёлтая: работает через обычные запросы (long polling), потому что WebSocket заблокирован прокси; красная: события Studio, прогресс обучения и эмулятор не доходят

Плашка «Языки» отражает прямой запрос к языковому серверу, а не только то, что помнит NLU: если языковой сервер остановился, плашка станет красной, пока NLU ещё считает языки доступными.

Нижняя панель: отладчик и журнал​

Панель открывается кнопкой «Панель отладки». Во вкладке «Отладчик» видно, как бот разобрал выбранное сообщение в эмуляторе:

Вкладка «Отладчик»: решение диспетчера диалогов и понимание языка

  • Решение — что бот сделал в ответ, например «Выполнение основного процесса». Причину выбора («Подходящих предложений нет», «Уверенность ниже порога 0.5» и другие) показывает подсказка по значку «i» рядом с решением.
  • Понимание языка — «Определённый язык» (на каком языке написана фраза) и «Используемый язык» (на котором бот её разбирал).
  • Топ намерений — кандидаты с уверенностью в процентах. Если ни одно намерение не подошло, показано «Нет подходящего намерения». Если фразу распознал вопрос из базы вопросов-ответов, вместо внутреннего идентификатора показан текст самого вопроса.

Вкладка «Журнал» содержит три внутренние вкладки:

  • Журнал — записи платформы по мере их появления. Кнопки справа включают прокрутку за новыми записями, скачивают журнал и очищают список.
  • Отладка — дерево тем, по которым платформа пишет подробные служебные сообщения: запросы к API, работа диалогового движка, обучение NLU, аудит действий и так далее. Рядом с каждой темой стоит значок «?» с коротким описанием. Отметьте нужные темы и нажмите «Применить»; «Применить и сохранить» оставляет выбор и после перезапуска сервера. Включайте только то, что нужно: полный вывод очень большой.
  • Фильтр — какие записи показывать в журнале: по важности (отладка, информация, предупреждение, ошибка, критическая) и по принадлежности (общие записи платформы или записи текущего бота). Запись считается записью бота, если она сделана через iqbot.logger.forBot(...), остальные записи общие. Настройка фильтра хранится в браузере.

Навигация по разделам​

Иконки левой колонки (сверху вниз) открывают разделы Studio:

  1. Процессы — здесь строится логика диалога (подробно в разделе «Конструктор процессов»).
  2. Контент — библиотека сообщений бота («Содержимое бота»).
  3. Понимание естественного языка — намерения и сущности («Понимание языка и QnA»).
  4. Вопрос-Ответ — база вопросов и ответов.
  5. Аналитика — показатели по диалогам бота.
  6. Редактор кода — для нестандартных сценариев (см. предостережение ниже).
  7. Обучение бота — отчёт о фразах, которые бот не распознал.
  8. Автотесты — запись и воспроизведение тестовых сценариев («Тестирование и публикация»).
  9. Настройка — параметры конкретного бота: статус, языки, описание, аватар и режим ответов из базы вопросов-ответов внутри процесса, см. «Настройки бота».
Редактор кода — только для тех, кто понимает код

Раздел «Редактор кода» даёт прямой доступ к JavaScript/TypeScript-коду действий (actions) и хуков (hooks) бота, в том числе — при наличии прав — к общим («глобальным») скриптам, которые используют несколько ботов сразу. Правка общих скриптов — например, встроенных действий модуля базовых навыков — затрагивает все боты рабочего пространства, которые их используют, а не только текущий; делайте это только осознанно и предпочтительно с резервной копией (ревизией) бота. Для обычной настройки диалогов использовать этот раздел не требуется — всё типовое строится через конструктор процессов.