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

Экспорт и импорт интентов

Вы можете использовать в новых проектах интенты, ранее созданные в других проектах. Для этого воспользуйтесь функциями экспорта и импорта интентов.

Экспорт

Для экспорта интентов проекта перейдите в раздел Интенты и нажмите над списком интентов. Будет скачан файл в формате JSON, содержащий интенты и их настройки. Вы можете использовать этот файл для импорта интентов в новый проект.

подсказка
Вы также можете экспортировать проект полностью. Для этого напротив названия проекта нажмите  → Скачать. В экспортированном архиве в файле nlu.json содержатся все данные проекта по наполнению NLU-ядра CAILA, в том числе интенты и их настройки.

Импорт

Для импорта интентов перейдите в раздел Интенты и нажмите Импорт на верхней панели. Выберите файл и поведение системы при совпадении путей или названий интентов. Нажмите Импортировать.

подсказка
В файле содержится список интентов со всеми параметрами, настройками слот-филлинга и тренировочными фразами.

Структура файла

Интенты

Объект, представляющий каждый интент, содержит следующие поля:

ПолеТипОписаниеОбязательное
idЧислоИдентификатор интентаНет
pathСтрокаПуть к интентуДа
descriptionСтрокаКомментарий к интентуНет
answerСтрокаСтандартный ответ на интентНет
enabledЛогическийВключен ли интентНет
phrasesМассив объектов с полем textТренировочные фразыДа
patternsМассив строкТренировочные паттерныНет
slotsМассив объектовСлотыНет

Слоты

Поле slots содержит массив объектов, которые описывают слоты — сущности, которые клиент упоминает в процессе слот-филлинга. Каждый объект содержит следующие поля:

ПолеТипОписание
nameСтрокаНазвание слота
entityСтрокаНазвание сущности, соответствующей слоту
requiredЛогическийЯвляется ли слот обязательным
promptsМассив строкУточняющие вопросы
arrayЛогическийОбрабатывается ли слот как массив

Пример файла

Импортируемый файл должен быть в формате JSON. Пример корректного файла:

[
{
"id": 38886,
"path": "/City",
"description": "Название города",
"answer": "Подождите, загружаю погоду в этом городе.",
"enabled": true,
"phrases": [
{
"text": "@mystem.geo"
}
],
"patterns": [],
"slots": [
{
"name": "geo",
"entity": "mystem.geo",
"required": true,
"prompts": [
"Введите ваш город.",
"В каком городе вы хотели бы узнать прогноз?"
],
"array": false
}
]
}
]