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

Совместимость с OpenAI

Claudexia предоставляет OpenAI-совместимый эндпоинт /v1/chat/completions, позволяющий использовать OpenAI SDK или любой OpenAI-совместимый клиент с моделями Claude.

Эндпоинт

http
POST https://api.claudexia.tech/v1/chat/completions

Аутентификация

Используйте стандартный заголовок Authorization: Bearer:

http
Authorization: Bearer sk_cdx_YOUR_KEY

Тело запроса

ПараметрТипОбязательныйОписание
modelstringДаID модели (например, claude-sonnet-4-20250514).
messagesarrayДаМассив сообщений с role ("system", "user", "assistant") и content.
temperaturenumberНетТемпература сэмплирования (0–1).
max_tokensintegerНетМаксимум генерируемых токенов.
streambooleanНетВключить стриминг через SSE.

Маппинг полей

Claudexia автоматически преобразует между форматами OpenAI и Anthropic:

Поле OpenAIЭквивалент AnthropicПримечания
messages[role="system"]systemСистемные сообщения извлекаются и отправляются как параметр system.
max_tokensmax_tokensПрямой маппинг.
temperaturetemperatureПрямой маппинг.
stopstop_sequencesПринимает строку или массив.
choices[0].messagecontentКонтент ответа оборачивается в формат OpenAI.
choices[0].finish_reasonstop_reasonend_turn → stop, max_tokens → length.

Пример cURL

bash
curl https://api.claudexia.tech/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk_cdx_YOUR_KEY" \
  -d '{
    "model": "claude-sonnet-4.5",
    "max_tokens": 1024,
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ]
  }'

Пример на Python (OpenAI SDK)

python
from openai import OpenAI

client = OpenAI(
    api_key="sk_cdx_YOUR_KEY",
    base_url="https://api.claudexia.tech/v1",
)

response = client.chat.completions.create(
    model="claude-sonnet-4.5",
    max_tokens=1024,
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Explain quantum computing in one paragraph."},
    ],
)

print(response.choices[0].message.content)