Подключение сервисов Caila в JAICP
Caila — платформа от Just AI, которая предоставляет каталог NLP-сервисов и инструменты для полного управления их жизненным циклом: разработки, тестирования, развертывания, мониторинга.
JAICP имеет встроенную интеграцию с Caila. Вы можете использовать сервисы из каталога Caila, а также собственные обученные сервисы для выполнения таких задач NLU, как:
Ознакомьтесь с документацией Caila и каталогом сервисов, чтобы узнать больше.
Токен доступа к Caila
Для использования сервисов Caila в сторонних приложениях, в том числе JAICP, нужен персональный токен доступа. Чтобы выпустить токен:
-
Перейдите в Caila.
подсказкаCaila и Conversational Cloud использует общую базу аккаунтов, поэтому если вы зарегистрированы в Conversational Cloud, дополнительно регистрироваться в Caila не нужно.
-
Перейдите на страницу Мое пространство → API-токены.
-
В правом верхнем углу нажмите Создать токен.
-
Придумайте имя токена, сгенерируйте его и скопируйте в буфер обмена.
Подключение классификатора из каталога Caila
Все проекты JAICP поддерживают понимание естественного языка (NLU), в том числе классификацию интентов для распознавания запросов пользователей.
По умолчанию проекты используют классификатор STS. В настройках проекта вы можете сменить алгоритм классификации на Classic ML, Deep Learning или Transformer.
Все встроенные в JAICP классификаторы, кроме STS, уже работают на основе сервисов Caila:
Классификатор в JAICP | Сервис в Caila |
---|---|
Classic ML | text-classifier-logreg-bow |
Deep Learning | text-classifier-cnn |
Transformer | text-classifier-logreg-caila-roberta — для проектов на русском языке text-classifier-logreg-labse — для проектов на других языках |
Поэтому эти сервисы из каталога Caila нецелесообразно подключать в JAICP по инструкции ниже.
Допустим, вы хотите использовать в проекте своего бота другой классификатор из каталога Caila, например text-classifier-knn-caila-roberta. Чтобы это сделать:
-
В настройках проекта выберите классификатор Transformer.
-
Перейдите в расширенные настройки NLU.
-
По ключу
mlp
укажите следующее значение:{
// ...
"mlp": {
"restUrl": "https://caila.io/",
"mlpAccessKey": "<токен-доступа>",
"trainingModel": {
"account": "just-ai",
"model": "text-classifier-knn-rubert-light"
}
}
}Здесь:
mlpAccessKey
— токен доступа к Caila.trainingModel
— параметры сервиса: ID аккаунта его владельца и ID самого сервиса.
подсказкаПодробнее обо всех настройках читайте в статье Расширенные настройки NLU. -
В правом нижнем углу раздела NLU нажмите Тестировать, чтобы запустить обучение классификатора.
Теперь тестовый виджет NLU будет выдавать интенты, распознанные внешним классификатором.
При первом обучении в Caila будет автоматически создан датасет под названием jaicp-classifier-for-<id-проекта>
,
а также сервис классификации с таким же именем, обученный на этом датасете.
Когда вы в дальнейшем будете запускать переобучение, датасет будет формироваться заново с новым наполнением интентов из JAICP, а сервис в Caila будет переобучаться на этом новом датасете.
Подключение обученного классификатора
Теперь рассмотрим другой сценарий:
- Вы обучили различные сервисы классификации из Caila на своем датасете.
- Вы сравнили качество этих сервисов через сервис кросс-валидации.
- Вы установили, что классификатор
my-little-wizard
показывает наилучшие результаты.
Чтобы использовать этот обученный классификатор в проекте бота:
- В расширенных настройках используйте
derivedModel
вместоtrainedModel
. - В
account
вместо"just-ai"
укажите ID своего аккаунта со страницы Настройки аккаунта. - В
model
используйте название или ID сервиса из вашего пространства.
{
// ...
"mlp": {
"restUrl": "https://caila.io/",
"mlpAccessKey": "<токен-доступа>",
"derivedModel": {
"account": "1000005",
"model": "my-little-wizard"
}
}
}