Перейти к основному содержимому

Подключение Caila-сервисов

Все сервисы в Caila предназначены, в первую очередь, для использования через API для интеграции в приложения.

Способы подключения

Получить доступ к Caila-сервисам можно несколькими способами:

  • по HTTP через Caila API
  • по GRPC
  • через адаптеры, симулирующие API широко известных облачных сервисов
  • с помощью Python SDK
  • с помощью Java SDK

Подробное описание каждого из вариантов смотрите на вложенных страницах.

Общие условия

Для доступа к любому ML-сервису вам понадобятся следующие элементы:

  1. Идентификатор сервиса, например, just-ai/claude. Идентификатор всегда состоит из двух частей: <author>/<service>. Идентификатор сервиса можно найти на странице в Каталоге или скопировать последние два элемента из URL страницы сервиса — https://caila.io/catalog/just-ai/claude.
  2. API-ключ. Ключи создаются в Рабочем пространстве — https://caila.io/workspace/api-tokens.
  3. Тип данных запроса и ответа, а также примеры запроса. Эта информация обычно приведена на странице сервиса в Каталоге.

Контракт 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.

Существующие типы задач и их контракты описаны здесь -…