OpenAI direct
OpenAI direct — специальная вариация OpenAI адаптера, предназначенная для взаимодействия с проксируемыми GPT-сервисами без ограничений со стороны Caila.
- OpenAI адаптер — позволяет взаимодействовать с прокси-сервисами через единое стандартное API.
- OpenAI Direct — позволяет взаимодействовать с прокси-сервисами через их собственное API, при этом Caila контролирует только расходы.
API
API доступно по адресу: https://caila.io/api/adapters/openai-direct
Поддерживаемые методы:
- chat-completion
Для обращения к сервисам Caila через OpenAI direct нужно указать:
- В хидере Authorization указать API-ключ, созданный в Caila.
- В поле model в запросе указать ID модели в формате:
<author>/<service>[/model]
. - author — первая часть идентификатора модели, имя аккаунта владельца сервиса (не вашего собственного, а того, кто разместил сервис). Например, just-ai.
- service — имя сервиса в Caila. Например, openai-proxy.
- model — опциональная часть, определяет значение поля «model», которое будет передано в запросе на сервис. Например, gpt-4o.
Примеры запросов
Chat-GPT
curl https://caila.io/api/adapters/openai-direct/chat/completions \
-H 'Authorization: <ключ из Caila>' \
-H 'Content-Type: application/json' \
-d '{"model":"just-ai/openai-proxy/gpt-3.5-turbo","messages":[{"role":"user","content":"Напиши текст на 20 слов"}],"stream":true}'
Claude
curl https://caila.io/api/adapters/openai-direct/chat/completions \
-H 'Authorization: <ключ из Caila>' \
-H 'Content-Type: application/json' \
-d '{"model":"just-ai/claude/claude-3-5-sonnet-20240620","max_tokens":1024,"messages":[{"role":"user","content":[{"type":"text","text":"Напиши текст на 20 слов"}]}],"stream":true}'
Обратите внимание:
- поле max_tokens становится обязательным.
- поле content меняет формат: строковое значение в прямом режиме не поддерживается сервисом Claude.
Технические детали
OpenAI direct использует те же самые сервисы, что и OpenAI-адаптер, но запросы в сервис отправляются с другим типом данных:
- https://caila.io/specs/mlp-data-gpt.yml#/ChatCompletionDirectProxy — для сервиса openai-proxy
- https://caila.io/specs/mlp-data-common.yml#/JsonObject — для всех остальных сервисов.
Аналогичный «прямой» запрос можно отправить и через Predict API, например:
export IMAGE=`base64 -w 0 cat.jpg`
curl -X 'POST' \
'https://caila.io/api/mlpgate/account/just-ai/model/claude/predict-with-config' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H "MLP-API-KEY: ${MLP_API_KEY}" \
-d '{"config":{},"data":{"model":"claude-3-5-sonnet-20240620","max_tokens":1024,"messages":[{"role":"user","content":[{"type":"image","source":{"type":"base64","media_type":"image/jpeg","data":"'"$IMAGE"'"}},{"type":"text","text":"Что изображено на картинке?"}]}]},"dataType":"https://caila.io/specs/mlp-data-common.yml#/JsonObject"}'