Graph экспортирует проект в виде zip-архива с файлами проекта Code.
Архив с проектом можно импортировать как в Graph, так и в Code.
Сценарии проектов Graph размечены с помощью мета-тегов. Для корректной работы проектов в Code, теги требуется удалить.
Экспорт проекта
Чтобы экспортировать проект:
- Откройте проект в личном кабинете.
- Перейдите в настройки проекта.
- Выберите вкладку Экспорт / Импорт.
- Нажмите кнопку Экспорт проекта.
Браузер загрузит zip-архив проекта.
Импорт проекта
Перед импортом убедитесь, что структура проекта соответствует стандартной, а все необходимые файлы и папки упакованы непосредственно в архив:
- размер архива — до 10 Мб,
- расширение — zip.
Обратите внимание: при импорте проекта Code происходит сброс текущей обученной модели классификатора на модель Brain, поэтому после завершения импорта рекомендуются обязательно пересобрать сценарий или запустить тестирование в разделе Интенты или Сущности.
При импортировании в сущеcтвующий проект, он заменяется на импортируемый.
Чтобы импортировать проект:
- Создайте новый проект.
- Перейдите в настройки проекта.
- Выберите вкладку Экспорт / Импорт.
- Выполните одно из действий:
- перетащите zip-архив с проектом в область Импорт проекта;
- нажмите на область Прикрепите файл или перетащите его сюда и выберите архив на компьютере.
Файлы будут импортированы в проект.
Работа с проектами Graph в Code
Code позволяет работать с проектами, созданными в визуальном конструкторе Graph.
Работа с кодом из Graph усложняется тем, что в нем есть вспомогательные конструкции, которые нужны визуальному редактору, но не нужны в Code.
В этом разделе приведен список вспомогательных конструкций, которые можно встретить в сценарии, если открыть в Code проект из Graph.
Мета-теги
Мета-теги необходимы Graph для построения некоторых блоков.
Описание блока в сценарии включает мета-тег и содержание блока в фигурных скобках:
@InputText:
actions = [
{
"buttons":[
{
"name":"Подсказка 1",
"url":"https://developers.sber.ru/docs/ru/va/chat/script/project-export-import#meta-tegi4"
},
{
"name":"Подсказка 2",
"transition":"/newNode_8"
}
],
"type":"buttons"
}
]
prompt = Из какой таблицы вывести данные
varName = table
then = /newNode_7
Удалите мета-теги из сценария, если планируете продолжать работу только в Code.
Мета-теги описывают:
@InputText
— блок ввода текста;@InputNumber
— блок ввода чисел;@InputPhoneNumber
— блок ввода телефонного номера;@IntentGroup
— блок интенты;@EndSession
— блок завершения сценария;@HttpRequest
— блок HTTP-запроса;@Transition
— блок переход.
Системныe интенты
Graph использует вспомогательный набор системных интентов, в основе которых лежат заранее подготовленные шаблоны.
Интенты Graph определены в библиотеке zfl-common
, которую можно использовать в любом проекте.
Чтобы подключить библиотеку zfl-common
в проект, откройте файл сценария и укажите следующее:
require: zenflow.sc;
module = sys.zfl—common;
Список системных интентов библиотеки zfl-common
:
$TEXT
— срабатывает на любой текстовый ответ пользователя и сохраняет его в переменную;$NUMBER
— срабатывает, если пользователь указал число, и сохраняет его в переменную;$CITY
— распознает город из сообщения пользователя. Распознание городов работает на основе системного справочника;$NAME
— распознает имя из сообщения пользователя. Распознание имен работает на основе системного справочника;$COUNTRY
— распознает страну из сообщения пользователя. Распознание стран работает на основе системного справочника;$WHERE
— срабатывает при вводе страны или города;$EMAIL
— распознает почтовый адрес, который указал пользователь;$PHONE
— распознает введенный пользователем мобильный телефонный номер для России;$AGREEMENT
— распознает согласие пользователя. Например, если сообщение пользователя содержит «да», «ок» или «хорошо»;$NEGATION
— распознает отрицательный ответ. Например, если сообщение пользователя содержит «нет», «не надо» или «отменить»;$HELLO
— распознает приветствие. Например, если сообщение пользователя содержит фразы вида «добрый день» или «привет»;$PARTING
— распознает прощание. Например, если сообщение пользователя содержит фразы вида «пока», «прощай» или «увидимся»;$THANKS
— распознает благодарность пользователя. Например, если сообщение пользователя содержит фразы вида «спасибо» или «благодарю»;$UNCERTAINTY
— распознает сомнение пользователя. Например, если сообщение пользователя содержит фразы вида «может быть» или «вроде бы»;$INSULTS
— распознает нецензурную лексику или оскорбления. Например, если сообщение пользователя содержит мат или слова вроде «дурак»;$APPROVAL
— распознает одобрение от пользователя. Например, если сообщение пользователя содержит слова вида «хорошо» или «нравится»;$NEGATIVE
— распознает негативную оценку пользователя. Например, если сообщение пользователя содержит слова вида «плохо» или «не очень»;$NORMAL
— распознает нейтральную оценку пользователя. Например, если сообщение пользователя содержит слова вида «нормально» или «сойдет»;$GENDER
— распознает пол пользователя. Этот интент принимает значения вида «мужчина», «женщина», «девочка» и другие.
Пример использования в сценарии:
state: Подтверждение
q: $AGREEMENT
a: Ваш заказ оформлен! Спасибо!
Ассистент проверит реплику пользователя на наличие выражающих согласие слов и оформит заказ, если они есть.