Подключение Caila-сервисов
Все сервисы в Caila предназначены, в первую очередь, для использования через API для интеграции в приложения.
Способы подключения
Получить доступ к Caila-сервисам можно несколькими способами:
- по HTTP через Caila API
 - по GRPC
 - через адаптеры, симулирующие API широко известных облачных сервисов
- OpenAI API
 - OpenAI-direct API
 - Yandex SpeechKit API для TTS сервисов
 
 - с помощью Python SDK
 - с помощью Java SDK
 
Подробное описание каждого из вариантов смотрите на вложенных страницах.
Общие условия
Для доступа к любому ML-сервису вам понадобятся следующие элементы:
- Идентификатор сервиса, например, just-ai/claude. Идентификатор всегда состоит из двух частей: 
<author>/<service>. Идентификатор сервиса можно найти на странице в Каталоге или скопировать последние два элемента из URL страницы сервиса — https://caila.io/catalog/just-ai/claude. - API-ключ. Ключи создаются в Рабочем пространстве — https://caila.io/workspace/api-tokens.
 - Тип данных запроса и ответа, а также примеры запроса. Эта информация обычно приведена на странице сервиса в Каталоге.
 
Контракт Caila-сервиса
Общим для всех ML-сервисов является то, что все сервисы реализуют один метод predict. Сигнатура метода, упрощённо, выглядит так:
  fun <PredictRequest, PredictConfig, PredictResponse>
          predict(request: PredictRequest, config: PredictConfig?): PredictResponse
Типы данных PredictRequest, PredictConfig, PredictResponse являются шаблонными. Т.е. метод predict у каждого сервиса
называется одинаково и имеет одинаковое число параметров, но конкретные типы запроса и ответа у каждого сервиса могут быть разными.
Спецификацию метода predict можно найти в Caila API — https://caila.io/swagger-ui. В спецификации присутствует несколько вариаций метода /predict. Отличаются они только способом передачи параметров, а по сути выполняют одну и ту же операцию.
Спецификацию типов PredictRequest, PredictConfig, PredictResponse для каждого конкретного сервиса нужно искать на его странице в Каталоге. Например: https://caila.io/catalog/just-ai/openai-proxy.
Типы задач
Понятие task-type в Caila определяет структуру типов PredictRequest и PredictResponse. Сервисы определённого
task-type обязаны использовать типы данных, заданные в этом task-type.
Существующие типы задач и их контракты описаны здесь -…