OpenAI adapter
В Caila реализован специальный endpoint для использования в приложениях, которые уже интегрированы с OpenAI интерфейсом.
API
API доступно по адресу: https://caila.io/api/adapters/openai
Поддерживаются методы:
- chat/completion
- completion
- embedding
- models
Для обращения к Caila-сервисам через OpenAI адаптер нужно указать:
- В хидере Authorization указать API-ключ, созданный в Caila
- В поле model в запросе указать ID модели в формате:
<author>/<service>[/model]
- author — первая часть идентификатора модели — имя аккаунта владельца сервиса (не вашего собственного, а того, кто разместил сервис). Например just-ai.
- service — имя сервиса в Caila. Например openai-proxy.
- model — опциональная часть, определяет значение поля «model», которое будет передано в сервис в запросе. Например gpt-4o.
Примеры запросов
Qwen
curl https://caila.io/api/adapters/openai/chat/completions \
-H 'Authorization: <ключ из Caila>' \
-H 'Content-Type: application/json' \
-d '{"model":"just-ai/vllm-qwen1.5-32b-chat","messages":[{"role":"user","content":"Напиши текст на 100 слов"}],"stream":true}'
Chat-GPT
curl https://caila.io/api/adapters/openai/chat/completions \
-H 'Authorization: <ключ из Caila>' \
-H 'Content-Type: application/json' \
-d '{"model":"just-ai/openai-proxy/gpt-3.5-turbo","messages":[{"role":"user","content":"Напиши текст на 100 слов"}],"stream":true}'
Технические детали
OpenAI adapter работает через те же интерфейсы, что и Caila LLM API.
При получении запроса, адаптер разбирает тело запроса и разделяет его на ChatCompletionRequest
и ChatCompletionConfig
.
Поля model
, stream
и messages
помещаются в predict-request
, а все остальные поля в predict-config
и в таком виде передаются сервису.
Ответ от сервиса передаётся в ответ gpt-adapter как есть.