Подключение 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.
Существующие типы задач и их контракты описаны здесь -…