ym88659208ym87991671
SmartApp Brain Direct API | Документация для разработчиков
Skip to main content

Скачать OpenAPI-спецификацию:Скачать

С помощью SmartApp Brain Direct API вы можете использовать сторонний обученный классификатор в своих проектах. Для обращения к SmartApp Brain Direct API из проектов, разработанных в Code, используйте встроенный сервис $caila.

Если переобучение модели не удалось, то для классификации будет использоваться предыдущая версия.

Аутентификация

Для подтверждения запросов используется API-ключ Brain.

Чтобы получить ключ:

  1. Откройте проект Code.
  2. Перейдите в раздел Настройки проекта.
  3. Откройте вкладку Классификатор.
  4. Сгенерируйте ключ в поле API-ключ Brain.
  5. Скопируйте ключ.

Для получения API-ключа текущего проекта в сценарии используйте метод $jsapi.cailaService.getCurrentClassifierToken().

Inference

Основные операции - простая классификация, классификация текста с дополнительными параметрами, согласование текста в требуемый формат, согласование текста с числительными.

conform

Согласование слова. Параметры согласования (исправление орфографии и язык) задаются в настройках проекта

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

query Parameters
text
required
string

Слово, которое нужно согласовать с числительным.

number
required
integer

Числительное, с которым нужно согласовать слово.

Responses

inflect

Склонение. Параметры склонения (исправление орфографии и язык) задаются в настройках проекта

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

query Parameters
text
required
string

Слово для склонения.

tags
required
Array of strings

Массив падежей для склонения

Responses

simpleInference

Простая классификация и слот-фиилинг с минимумом входных параметров

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

query Parameters
query
required
string

Реплика для обработки или поиска

clientId
string

Идентификатор пользователя

header Parameters
Z-timezone
string

Часовой пояс пользователя. Необязательный параметр. Если параметр не задан, используется часовой пояс проекта. Если часовой пояс проекта не задач, используется часовой пояс сервера

Z-refTime
integer <int64>

Текущее время тестов. Используется для обработки реплик вроде «сейчас» или «завтра» с помощью сущностей, которые зависят от времени, например duckling.time

Responses

Response samples

Content type
application/json
{
  • "intent": {
    },
  • "confidence": 0,
  • "slots": [
    ],
  • "debug": { }
}

inference

Классификация и слот-филлинг с дополнительными параметрами

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

header Parameters
Z-timezone
string

Часовой пояс пользователя. Необязательный параметр. Если параметр не задан, используется часовой пояс проекта. Если часовой пояс проекта не задач, используется часовой пояс сервера

Z-refTime
integer <int64>

Текущее время тестов. Используется для обработки реплик вроде «сейчас» или «завтра» с помощью сущностей, которые зависят от времени, например duckling.time

Request Body schema: application/json

Тело запроса

object (PhraseMarkupData)
Array of objects (KnownSlotData) [ items ]
nBest
integer
Default: 1
showDebugInfo
boolean
Default: false
clientId
string

Responses

Request samples

Content type
application/json
{
  • "phrase": {
    },
  • "knownSlots": [
    ],
  • "nBest": 1,
  • "showDebugInfo": false,
  • "clientId": "string"
}

Response samples

Content type
application/json
{
  • "phrase": {
    },
  • "variants": [
    ],
  • "spelledWords": [
    ]
}

inferenceMultiple

Слот-филлиг и классификация с дополнительными параметрами и возможностью пакетной обработки

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

header Parameters
Z-timezone
string

Часовой пояс пользователя. Необязательный параметр. Если параметр не задан, используется часовой пояс проекта. Если часовой пояс проекта не задач, используется часовой пояс сервера

Z-refTime
integer <int64>

Текущее время тестов. Используется для обработки реплик вроде «сейчас» или «завтра» с помощью сущностей, которые зависят от времени, например duckling.time

Request Body schema: application/json

Тело запроса

Array of objects (InferenceRequestPhrasesAndSlots) [ items ]
nBest
integer
Default: 1
showDebugInfo
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "phrases": [
    ],
  • "nBest": 1,
  • "showDebugInfo": false
}

Response samples

Content type
application/json
[
  • {
    }
]

entitiesLookup

Возвращает массив именованных сущностей, обнаруженных в переданном тексте

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

query Parameters
query
required
string

Реплика для обработки или поиска

showAll
required
boolean

Указывает, что нужно вернуть все найденные сущности. Одному слову может соответствовать несколько сущностей.

clientId
string

Идентификатор пользователя

header Parameters
Z-timezone
string

Часовой пояс пользователя. Необязательный параметр. Если параметр не задан, используется часовой пояс проекта. Если часовой пояс проекта не задач, используется часовой пояс сервера

Z-refTime
integer <int64>

Текущее время тестов. Используется для обработки реплик вроде «сейчас» или «завтра» с помощью сущностей, которые зависят от времени, например duckling.time

Responses

Response samples

Content type
application/json
{
  • "text": "string",
  • "entities": [
    ],
  • "stagedPhraseIdx": 0
}

analyze

Выполняет три операции в одном запросе — первоначальную разметку, поиск именованных сущностей и склонение текста

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

header Parameters
Z-timezone
string

Часовой пояс пользователя. Необязательный параметр. Если параметр не задан, используется часовой пояс проекта. Если часовой пояс проекта не задач, используется часовой пояс сервера

Z-refTime
integer <int64>

Текущее время тестов. Используется для обработки реплик вроде «сейчас» или «завтра» с помощью сущностей, которые зависят от времени, например duckling.time

Request Body schema: application/json
object (InferenceRequestData)
object (InferenceRequestData)
showAll
boolean

Указывает, что нужно вернуть все найденные сущности. Одному слову может соответствовать несколько сущностей.

Responses

Request samples

Content type
application/json
{
  • "data": {
    },
  • "addtitionalData": {
    },
  • "showAll": true
}

Response samples

Content type
application/json
{
  • "markup": {
    },
  • "entitiesLookup": {
    },
  • "inference": {
    },
  • "addtitionalInference": {
    }
}

initialMarkup

Получить текущую разметку

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

query Parameters
query
required
string

Query text

Responses

Response samples

Content type
application/json
{
  • "source": "string",
  • "correctedText": "string",
  • "words": [
    ]
}

initialMarkupInternal

Создать разметку для паттернов, примеров и словарей

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

Request Body schema: application/json

Array of texts for processing

Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
[
  • {
    }
]

Projects

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

Экспорт проекта

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

Responses

Response samples

Content type
application/json
{
  • "project": {
    },
  • "settings": {
    },
  • "intents": [
    ],
  • "entities": [
    ],
  • "enabledSystemEntities": [
    ]
}

Импорт проекта

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

Request Body schema: application/json
object (ProjectData)
object (ProjectSettingsData)
Array of objects (IntentData) [ items ]
Array of objects (NamedEntityWithRecordsData) [ items ]
enabledSystemEntities
Array of strings

Responses

Request samples

Content type
application/json
{
  • "project": {
    },
  • "settings": {
    },
  • "intents": [
    ],
  • "entities": [
    ],
  • "enabledSystemEntities": [
    ]
}

Response samples

Content type
application/json
{
  • "project": {
    },
  • "settings": {
    },
  • "intents": [
    ],
  • "entities": [
    ],
  • "enabledSystemEntities": [
    ]
}

Entities

Работа с сущностям — поиск сущностей в переданном тексте, редактирование сущностей.

Получить сущности проекта

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

query Parameters
withRecordsCount
boolean
Default: false

Указывает, что нужно добавить счетчик количества сущностей

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Создать новую сущность

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

Request Body schema: application/json

Новые интенты

id
integer <int64>
name
required
string

Имя сущности. Будет доступно как @<name> в паттернах и шаблонах фраз

enabled
boolean
Default: true

Включена ли сущность

shared
boolean

Общая сущность, которая используется для поиска во всех проектах. Можно указать true только в общих проектах.

type
required
string (NamedEntityType)
Enum: "dictionary" "annotation"

Тип именованной сущности:

  • Dictionary - справочники и правила;
  • Annotation - сущности основанные на машинном обучении.
priority
integer

Поле для ручного разрешения конфликтов, возникающих в случае если сущность соответствует одной части текста

noSpelling
boolean
Default: false

Отключить автоматическое исправление орфографии для сущности. Включение указывает, что извлечение сущностей будет выполнено до исправления орфографии

noMorph
boolean
Default: false

Отключает морфологическую нечувствительность сущности.

itemsCount
integer
phoneticSearch
boolean
Default: false
fuzzySearch
boolean
Default: false
client
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "enabled": true,
  • "shared": true,
  • "type": "dictionary",
  • "priority": 0,
  • "noSpelling": false,
  • "noMorph": false,
  • "itemsCount": 0,
  • "phoneticSearch": false,
  • "fuzzySearch": false,
  • "client": false
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "enabled": true,
  • "shared": true,
  • "type": "dictionary",
  • "priority": 0,
  • "noSpelling": false,
  • "noMorph": false,
  • "itemsCount": 0,
  • "phoneticSearch": false,
  • "fuzzySearch": false,
  • "client": false
}

Обновить все сущности проекта

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

Request Body schema: application/json

Массив новых сущностей

Array
id
integer <int64>
name
required
string

Имя сущности. Будет доступно как @<name> в паттернах и шаблонах фраз

enabled
boolean
Default: true

Включена ли сущность

shared
boolean

Общая сущность, которая используется для поиска во всех проектах. Можно указать true только в общих проектах.

type
required
string (NamedEntityType)
Enum: "dictionary" "annotation"

Тип именованной сущности:

  • Dictionary - справочники и правила;
  • Annotation - сущности основанные на машинном обучении.
priority
integer

Поле для ручного разрешения конфликтов, возникающих в случае если сущность соответствует одной части текста

noSpelling
boolean
Default: false

Отключить автоматическое исправление орфографии для сущности. Включение указывает, что извлечение сущностей будет выполнено до исправления орфографии

noMorph
boolean
Default: false

Отключает морфологическую нечувствительность сущности.

itemsCount
integer
phoneticSearch
boolean
Default: false
fuzzySearch
boolean
Default: false
client
boolean
Default: false

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Получить сущность с записями по имени

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityName
required
string

Уникальное имя сущности

query Parameters
clientId
string

Идентификатор пользователя

Responses

Response samples

Content type
application/json
{
  • "entity": {
    },
  • "records": [
    ]
}

Обновить содержание сущности

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityName
required
string

Уникальное имя сущности

Request Body schema: application/json

Список новых записей для сущности

required
Array of objects (NamedEntityRecordData) [ items ]
clientId
string

Responses

Request samples

Content type
application/json
{
  • "data": [
    ],
  • "clientId": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

Создать новую запись в сущности

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityName
required
string

Уникальное имя сущности

Request Body schema: application/json

Новая запись

required
object (NamedEntityRecordData)
clientId
string

Responses

Request samples

Content type
application/json
{
  • "data": {
    },
  • "clientId": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": "pattern",
  • "rule": [
    ],
  • "value": "string",
  • "clientId": "string"
}

Удалить несколько записей

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityName
required
string

Уникальное имя сущности

query Parameters
clientId
string

Идентификатор пользователя

Request Body schema: application/json

Идентификаторы записей, которые нужно удалить

Array
integer <int64>

Responses

Request samples

Content type
application/json
[
  • 0
]

Обновить запись в сущности

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityName
required
string

Уникальное имя сущности

recordId
required
integer <int64>

Идентификатор записи

Request Body schema: application/json

Новая запись

required
object (NamedEntityRecordData)
clientId
string

Responses

Request samples

Content type
application/json
{
  • "data": {
    },
  • "clientId": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": "pattern",
  • "rule": [
    ],
  • "value": "string",
  • "clientId": "string"
}

Удалить список сущностей

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

Request Body schema: application/json

Список идентификаторов сущностей

Array
integer <int64>

Responses

Request samples

Content type
application/json
[
  • 0
]

Получить именованную сущность

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityId
required
integer <int64>

Идентификатор сущности

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "enabled": true,
  • "shared": true,
  • "type": "dictionary",
  • "priority": 0,
  • "noSpelling": false,
  • "noMorph": false,
  • "itemsCount": 0,
  • "phoneticSearch": false,
  • "fuzzySearch": false,
  • "client": false
}

Обновить именованную сущность

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityId
required
integer <int64>

Идентификатор сущности

Request Body schema: application/json

Новые сущности

id
integer <int64>
name
required
string

Имя сущности. Будет доступно как @<name> в паттернах и шаблонах фраз

enabled
boolean
Default: true

Включена ли сущность

shared
boolean

Общая сущность, которая используется для поиска во всех проектах. Можно указать true только в общих проектах.

type
required
string (NamedEntityType)
Enum: "dictionary" "annotation"

Тип именованной сущности:

  • Dictionary - справочники и правила;
  • Annotation - сущности основанные на машинном обучении.
priority
integer

Поле для ручного разрешения конфликтов, возникающих в случае если сущность соответствует одной части текста

noSpelling
boolean
Default: false

Отключить автоматическое исправление орфографии для сущности. Включение указывает, что извлечение сущностей будет выполнено до исправления орфографии

noMorph
boolean
Default: false

Отключает морфологическую нечувствительность сущности.

itemsCount
integer
phoneticSearch
boolean
Default: false
fuzzySearch
boolean
Default: false
client
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "enabled": true,
  • "shared": true,
  • "type": "dictionary",
  • "priority": 0,
  • "noSpelling": false,
  • "noMorph": false,
  • "itemsCount": 0,
  • "phoneticSearch": false,
  • "fuzzySearch": false,
  • "client": false
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "enabled": true,
  • "shared": true,
  • "type": "dictionary",
  • "priority": 0,
  • "noSpelling": false,
  • "noMorph": false,
  • "itemsCount": 0,
  • "phoneticSearch": false,
  • "fuzzySearch": false,
  • "client": false
}

Удалить именную сущность

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityId
required
integer <int64>

Идентификатор сущности

Responses

Получить словарь именованной сущности

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityId
required
integer <int64>

Идентификатор сущности

query Parameters
page
integer <int32> >= 0
Default: 0

Страница

size
integer <int32> >= 1
Default: 20

Максимальное количество элементов в ответе

searchQuery
string

Поисковый запрос для фильтрации записей сущности

Responses

Response samples

Content type
application/json
{
  • "paging": {
    },
  • "records": [
    ]
}

Добавить запись в словарь сущности

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityId
required
integer <int64>

Идентификатор сущности

Request Body schema: application/json

Новая запись

id
integer <int64>
type
required
string (NamedEntityRecordType)
Enum: "pattern" "synonyms"
rule
required
Array of strings
value
required
string

Значение, связанное с сущностью. Как правило — строка, число или JSON-объект

clientId
string

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "type": "pattern",
  • "rule": [
    ],
  • "value": "string",
  • "clientId": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": "pattern",
  • "rule": [
    ],
  • "value": "string",
  • "clientId": "string"
}

Обновить все содержание сущности

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityId
required
integer <int64>

Идентификатор сущности

Request Body schema: application/json

Новые сущности

Array
id
integer <int64>
type
required
string (NamedEntityRecordType)
Enum: "pattern" "synonyms"
rule
required
Array of strings
value
required
string

Значение, связанное с сущностью. Как правило — строка, число или JSON-объект

clientId
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Удалить несколько записей

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityId
required
integer <int64>

Идентификатор сущности

Request Body schema: application/json

Массив идентификаторов зписией, которые нужно удалить

Array
integer <int64>

Responses

Request samples

Content type
application/json
[
  • 0
]

Загрузить записи из файла

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityId
required
integer <int64>

Идентификатор сущности

query Parameters
type
required
string
Value: "zb-csv"
Request Body schema: multipart/form-data

CSV-файл с записями именованных сущностей

file
string <binary>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Получить указанную запись из сущности

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityId
required
integer <int64>

Идентификатор сущности

recordId
required
integer <int64>

Идентификатор записи

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": "pattern",
  • "rule": [
    ],
  • "value": "string",
  • "clientId": "string"
}

Обновить указанную запись в сущности

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityId
required
integer <int64>

Идентификатор сущности

recordId
required
integer <int64>

Идентификатор записи

Request Body schema: application/json

Новая запись

id
integer <int64>
type
required
string (NamedEntityRecordType)
Enum: "pattern" "synonyms"
rule
required
Array of strings
value
required
string

Значение, связанное с сущностью. Как правило — строка, число или JSON-объект

clientId
string

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "type": "pattern",
  • "rule": [
    ],
  • "value": "string",
  • "clientId": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": "pattern",
  • "rule": [
    ],
  • "value": "string",
  • "clientId": "string"
}

Удалить указанную запись в сущности

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

entityId
required
integer <int64>

Идентификатор сущности

recordId
required
integer <int64>

Идентификатор записи

Responses

Training

Обущение NLU-модели — возможность переобучить модель, если были внесены изменения.

trainNLU

Запуск обучения NLU-модели

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

query Parameters
incremental
boolean
Default: true

Пошаговое обучение. Переобучает только измененные части. Например, изменение единственной сущности приведет только к ее пересозданию, модель классификатора не изменится.

logLabelingSessionId
integer <int64>

Responses

getNLUStatus

Возвращает статус обучения NLU-модели

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

Responses

Response samples

Content type
application/json
{
  • "trainingStatus": "NONE",
  • "lastError": "string",
  • "lastChangeInIntents": "2019-08-24T14:15:22Z",
  • "lastChangeInEntities": "2019-08-24T14:15:22Z",
  • "lastModelTrainStart": "2019-08-24T14:15:22Z",
  • "lastModelTrainTime": "2019-08-24T14:15:22Z",
  • "cachedModelTrainStart": "2019-08-24T14:15:22Z",
  • "cachedModelTrainTime": "2019-08-24T14:15:22Z"
}

Speller

Исправление орфографии.

getSpellerDictionary

Просмотр содержимого текущего пользовательского словаря

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

Responses

uploadSpellerDictionary

Загрузка пользовательского словаря в проект

path Parameters
accessToken
required
string

Токен доступа, который можно найти в настройках проекта

Request Body schema: multipart/form-data
file
string <binary>

Responses

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней