$caila.inference
Выполняет классификацию текста c дополнительными параметрами.
Синтаксис
Метод принимает в качестве аргумента текст для разметки в виде строки string и дополнительные параметры:
$caila.inference({"phrase":{"text":"greetings"}, "nBest": 5, knownSlots: [{"name":"a", "value":"b"}]})
Здесь:
- phrase— фразы для классификации.
- nBest— количество возвращаемых гипотез.
- knownSlots— известные слоты:- name— название слота;
- value— значение слота.
 
В качестве ответа передается JSON с результатом классифкации фразы.
Определим интент hello с тренировычными фразами: hello, hi. Результат классификации фразы hello:
{
   "phrase":{
      "text":"hello",
      "entities":[
      ]
   },
   "variants":[
      {
         "intent":{
            "id":12174,         // id интента
            "path":"/hello",    // путь к интенту
            "slots":[           // слоты
            ]
         },
         "confidence":1,       // степень уверенности
         "slots":[
         ]
      }
   ]
}
подсказка
Вы также можете использовать кастомный идентификатор клиента 
clientId в качестве аргумента метода. Укажите идентификатор clientId последним аргументом. При выполнении $caila.inference() сущности будут распознаваться для указанного клиента.По умолчанию как уникальный идентификатор клиента используется $request.channelUserId.
Использование в сценарии
    state:
        q!: inference
        script:
            $reactions.answer(JSON.stringify($caila.inference({"phrase":{"text":"hello"}, "nBest": 5, knownSlots: [{"name":"a", "value":"b"}]})));