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

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-адаптер, но запросы в сервис отправляются с другим типом данных:

Аналогичный «прямой» запрос можно отправить и через 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"}'