Перейти к основному содержимому

Совместимость J‑Graph с JAICP DSL

Таким основным понятиям J‑Graph, как шаги, темы и блоки, соответствуют конструкции JAICP DSL — языка, на котором пишутся сценарии ботов в JAICP.

подсказка
J‑Graph полностью совместим с текстовым редактором кода. Все изменения, сделанные в J‑Graph, автоматически сохраняются в коде, и наоборот — изменения в коде сразу отображаются на холсте.

Благодаря совместимости J‑Graph с JAICP DSL разные члены команд разработки диалоговых решений могут эффективно взаимодействовать друг с другом:

  • Дизайнеры разговорных интерфейсов могут проектировать прототип сценария в графическом редакторе, а затем передавать его в разработку.
  • Разработчики, приступив к работе над проектом, начинают не с нуля — значительную часть кода уже сгенерировал за них J‑Graph.

Шаги​

Шаги в JAICP DSL соответствуют тегу state. Группы шагов соответствуют вложенным стейтам. Например, фрагмент сценария ниже, открытый в J‑Graph, соответствует следующей структуре кода:

Группа шагов
theme: /

state: Симптомы

state: Есть
# ...

state: Нет
# ...

state: Ответ
# ...

Темы​

Темы в J‑Graph соответствуют тегу theme. Корневая тема соответствует теме /.

Если вы создадите новую тему в J‑Graph, в директорию src/themes будет добавлен .sc-файл с названием темы. Тема будет объявлена в этом файле. Файл будет автоматически подключен в главный файл сценария с помощью require.

При удалении темы в J‑Graph:

  • Тема и ее стейты будут удалены из всех файлов проекта.
  • Если файл содержит только эту тему, то файл будет удален.

Блоки​

Всем блокам в J‑Graph соответствуют теги JAICP DSL, а их настройкам — параметры тегов. Перейдите к документации по нужному тегу, чтобы подробнее узнать, как устроен изнутри тот или иной блок.

Фразы клиента и события​

J‑GraphJAICP DSL
Блок Фраза клиента (интент)Тег intent
Блок СобытиеТег event
Блок ПаттернТег q
Поле Перейти в шаг (у событий и паттернов)
Поле Бот должен перейти… (у интентов)
Параметр toState
Флаг Игнорировать переход из вложенных шаговПараметр onlyThisState

Способы активации​

J‑GraphJAICP DSL
Блок Фраза клиента (интент)Тег intent или intent!
Блок СобытиеТег event или event!
Блок ПаттернТег q или q!
Флаг Глобальный способ активацииЕсли включен, используется глобальный тег
Поле Ожидать активацию из шагаПараметр fromState
Флаг Игнорировать активацию из вложенных шаговПараметр onlyThisState

Реакции​

Блок J‑GraphТег JAICP DSL
Текстa
Изображениеimage
Аудиоaudio
Условиеif
elseif
else
Случайный ответrandom
Группа кнопокbuttons
inlineButtons (если действие по нажатию кнопки — Открыть ссылку)
Переходgo (если переход отложенный)
go! (если переход немедленный)
Кодscript

Действия​

Блок J‑GraphТег JAICP DSL
AI-агентAIAgent
HTTP-запросHttpRequest
Действия с Google ТаблицамиGoogleSheets
Завершение сессииEndSession
Запрос номера телефонаInputPhoneNumber
Запрос подтвержденияConfirmation
Запрос текстаInputText
Запрос файлаInputFile
Запрос числаInputNumber
Оплата через TelegramTelegramPayment
Отправка emailEmail
Отправка SMSSms
Перевод звонка на оператораTransferCallToOperator
Перевод чата на оператораTransferToOperator