Перейти к содержанию
Справочник APIChat Completions (OpenAI)

Chat Completions (OpenAI)

Запросы и ответы Chat Completions для выбранного семейства моделей.

Протокол модели

Запрос Claude

POST /v1/chat/completions — OpenAI-совместимая форма для Claude. В SDK задайте адрес Guard, ключ и точный model; остальные поля должны соответствовать контракту ниже. Серверный промпт настраивается отдельно и не требует другого endpoint.

python
from openai import OpenAI
client = OpenAI(
    api_key=KEY,
    base_url="https://api.guardrelay.ai/v1",
)
resp = client.chat.completions.create(
    model="claude-sonnet-5-5",
    messages=[
        {"role": "system", "content": "Ты helpful-ассистент."},
        {"role": "user", "content": "Привет!"},
    ],
)
print(resp.choices[0].message.content)

Kimi, Composer и Grok на этом endpoint'е

Здесь работают все восемь семейств. Набор принимаемых полей зависит от выбранной модели и нативного контракта семейства.

Codex на Chat Completions

Семь моделей Codex принимают Chat Completions JSON/SSE на обоих alias: /v1/chat/completions и /codex/v1/chat/completions. Передавайте историю массивом messages; continuation между Chat, Messages и Responses сервер не придумывает.

bash
curl https://api.guardrelay.ai/codex/v1/chat/completions \
  -H "Authorization: Bearer $GUARD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-astra",
    "messages": [{"role": "user", "content": "Ответь ровно OK"}],
    "stream": false
  }'

Запрос Kimi

python
from openai import OpenAI
client = OpenAI(
    api_key=KEY,
    base_url="https://api.guardrelay.ai/v1",
)
resp = client.chat.completions.create(
    model="k3",
    messages=[{"role": "user", "content": "Привет!"}],
    max_tokens=512,
)
print(resp.choices[0].message.content)

Запрос Grok

python
from openai import OpenAI
client = OpenAI(
    api_key=KEY,
    base_url="https://api.guardrelay.ai/v1",
)
resp = client.chat.completions.create(
    model="cursor-grok-4.6-medium",
    messages=[{"role": "user", "content": "Привет!"}],
    max_tokens=512,
)
print(resp.choices[0].message.content)

Запрос Composer

python
from openai import OpenAI
client = OpenAI(
    api_key=KEY,
    base_url="https://api.guardrelay.ai/v1",
)
resp = client.chat.completions.create(
    model="composer-2.5",
    messages=[{"role": "user", "content": "Привет!"}],
    max_tokens=512,
)
print(resp.choices[0].message.content)
ЧтоКак у Composer и Grok
Поля запросаmodel, messages, max_tokens либо max_completion_tokens, stream, tools
Два лимита сразуmax_tokens и max_completion_tokens в одном запросе дают 400; передавайте один
Ролиuser, assistant, а также system и developer как обычные сообщения в массиве
Блоки содержимоготекстовые блоки ровно с ключами type и text; у Grok дополнительно image_url с инлайн base64
Ответобычная OpenAI-форма: choices[0].message.content, finish_reason: "stop", кэш в usage.prompt_tokens_details.cached_tokens
Ответ с вызовом инструментаchoices[0].message.tool_calls с id, name и arguments, а finish_reason равен tool_calls. На такой ход отвечают сообщением с ролью tool

GLM Chat Completions

Используйте POST /v1/chat/completions или POST /glm/v1/chat/completions. История передаётся целиком в messages.

bash
curl https://api.guardrelay.ai/glm/v1/chat/completions \
  -H "Authorization: Bearer $GUARD_API_KEY" \
  -H "content-type: application/json" \
  -d '{"model":"glm-5.3","messages":[{"role":"user","content":"Reply with OK"}],"max_tokens":4096}'
json
{
  "id": "…",
  "model": "glm-5.3",
  "choices": [{
    "message": {"role": "assistant", "content": "OK"},
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 31,
    "prompt_tokens_details": {"cached_tokens": 0},
    "completion_tokens": 9,
    "completion_tokens_details": {"reasoning_tokens": 0},
    "total_tokens": 40
  }
}
ПолеПравило
modelТочный glm-5.3 или glm-5.3-flash.
messagesНепустой массив объектов сообщений; для полного цикла инструмента сохраняйте сообщение assistant.
max_tokens / max_completion_tokensПоложительный integer; для старта 4096.
thinkingПодтверждённая форма отключения: {"type":"disabled"}.
stream_options.include_usageДобавьте для итоговых счётчиков usage в SSE.

Клиентские функции возвращаются в choices[0].message.tool_calls; ваше приложение выполняет функцию и добавляет message с role: "tool" и тем же tool_call_id.

Встроенный поиск использует только исходный объект web_search; похожие варианты с другими именами не являются частью GLM-контракта.

Gemini Chat Completions

Используйте POST /v1/chat/completions с точным model Gemini. История передаётся целиком в messages; без явного max_tokens шлюз берёт 4096 токенов.

bash
curl https://api.guardrelay.ai/v1/chat/completions \
  -H "Authorization: Bearer $GUARD_API_KEY" \
  -H "content-type: application/json" \
  -d '{"model":"gemini-4-argon","messages":[{"role":"user","content":"Reply with OK"}],"max_tokens":4096}'

Muse Chat Completions

Используйте POST /v1/chat/completions с точным model Muse. История передаётся целиком в messages.

bash
curl https://api.guardrelay.ai/v1/chat/completions \
  -H "Authorization: Bearer $GUARD_API_KEY" \
  -H "content-type: application/json" \
  -d '{"model":"muse-wonder-1.0","messages":[{"role":"user","content":"Reply with OK"}],"max_tokens":4096}'

Разделы

На этой странице