API Reference

Параметры запроса

Контракт canonical Chat Completions route. Passthrough не означает поддержку любого поля OpenAI.

verified
rewritten by 42gpu
passthrough
unsupported / not documented
modelstringverified
Обязательность
required
Default
нет
Можно менять
да
Допустимые значения
Только "Qwen/Qwen3.5-397B-A17B-FP8"

Поле обязательно даже при одной доступной модели. Другой ID не выбирает скрытую модель или провайдера.

"model": "Qwen/Qwen3.5-397B-A17B-FP8"
messagesarray<object>verified
Обязательность
required
Default
нет
Можно менять
да
Допустимые значения
Роли system, user, assistant и tool; текст или перечисленные ниже content blocks

История передаётся upstream. Для tool-ответа используйте role=tool и соответствующий tool_call_id.

"messages": [{"role":"user","content":"Привет"}]
max_tokensintegerverified
Обязательность
optional
Default
server/upstream default
Можно менять
да
Допустимые значения
Положительное целое; input + зарезервированный output должны помещаться в 262144

Ограничивает весь output: reasoning, финальный текст и tool calls вместе. 42gpu не подставляет значение при текущей конфигурации, но admission резервирует 8192 токена, если поле пропущено.

"max_tokens": 2048
temperaturenumberpassthrough
Обязательность
optional
Default
server/upstream default
Можно менять
да
Допустимые значения
Число в диапазоне, принимаемом текущим upstream; 42gpu не задаёт отдельные границы

Передаётся без преобразования. Точный default и границы не являются контрактом 42gpu.

"temperature": 0.7
top_pnumberpassthrough
Обязательность
optional
Default
server/upstream default
Можно менять
да
Допустимые значения
Число в диапазоне, принимаемом upstream

Nucleus sampling; передаётся без преобразования. Обычно меняют temperature или top_p, а не оба одновременно.

"top_p": 0.9
streambooleanverified
Обязательность
optional
Default
false (upstream)
Можно менять
да
Допустимые значения
true | false

true возвращает Server-Sent Events. Поток завершается событием data: [DONE].

"stream": true
stream_optionsobjectpassthrough
Обязательность
optional
Default
нет
Можно менять
да
Допустимые значения
{"include_usage": true}; остальные ключи не документированы

Передаётся upstream. include_usage просит отдельный финальный chunk с usage до [DONE].

"stream_options": {"include_usage": true}
stopstring | string[]passthrough
Обязательность
optional
Default
server/upstream default
Можно менять
да
Допустимые значения
Строка или массив строк, принимаемый upstream

Последовательности остановки передаются без изменения; точный лимит количества не установлен 42gpu.

"stop": ["</answer>"]
seedintegerpassthrough
Обязательность
optional
Default
server/upstream default
Можно менять
да
Допустимые значения
Целое, принимаемое upstream

Передаётся без изменения. Одинаковый seed не является гарантией побитовой воспроизводимости между версиями deployment.

"seed": 42
frequency_penaltynumberpassthrough
Обязательность
optional
Default
server/upstream default
Можно менять
да
Допустимые значения
Число в диапазоне, принимаемом upstream

Передаётся без преобразования; точные границы не закреплены публичным контрактом 42gpu.

"frequency_penalty": 0.2
presence_penaltynumberpassthrough
Обязательность
optional
Default
server/upstream default
Можно менять
да
Допустимые значения
Число в диапазоне, принимаемом upstream

Передаётся без преобразования; точные границы не закреплены публичным контрактом 42gpu.

"presence_penalty": 0.2
nintegerpassthrough
Обязательность
optional
Default
server/upstream default
Можно менять
да
Допустимые значения
Положительное целое, принимаемое upstream

Запрашивает несколько choices. Каждый сгенерированный токен учитывается в usage и стоимости; production-путь с n>1 отдельно не гарантируется.

"n": 1
toolsarray<object>verified
Обязательность
optional
Default
нет
Можно менять
да
Допустимые значения
OpenAI-style function tools с name, description и JSON Schema parameters

Deployment запущен с auto tool choice и Qwen tool-call parser. Аргументы функции возвращаются JSON-строкой; валидируйте их в приложении.

"tools": [{"type":"function","function":{"name":"weather","parameters":{"type":"object"}}}]
tool_choicestring | objectpassthrough
Обязательность
optional
Default
server/upstream default
Можно менять
да
Допустимые значения
none | auto | required | объект выбора функции, если принят upstream

42gpu не нормализует выбор инструмента; неподдерживаемая форма будет отклонена upstream.

"tool_choice": "auto"
response_formatobjectunsupported / not documented
Обязательность
optional
Default
нет
Можно менять
да
Допустимые значения
Нет подтверждённого публичного набора форматов

Поле технически проходит через proxy, но structured output на текущем deployment не защищён smoke-тестом. Не полагайтесь на него как на публичный контракт.

не публикуется

Формат messages и multimodal content

system, user и assistant принимают текстовый content. Роль tool связывается с вызовом через tool_call_id.

Для user-сообщения проверены массивы блоков text + image_url. Deployment также принимает video_url в той же схеме: {"type":"video_url","video_url":{"url":"…"}}. Доступность URL и медиа-лимиты проверяет upstream.

Image request
{
  "model": "Qwen/Qwen3.5-397B-A17B-FP8",
  "messages": [{
    "role": "user",
    "content": [
      {"type": "text", "text": "Что изображено?"},
      {"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
    ]
  }],
  "max_tokens": 512
}

Reasoning: включение и выключение

Нативный публичный control — chat_template_kwargs.enable_thinking. Если его пропустить, 42gpu не подставляет значение: применяется поведение chat template/upstream.

Thinking включён

request.json
{
  "model": "Qwen/Qwen3.5-397B-A17B-FP8",
  "messages": [{"role": "user", "content": "Реши: 17 × 24"}],
  "chat_template_kwargs": {"enable_thinking": true},
  "thinking_token_budget": 1024,
  "max_tokens": 2048
}

Thinking выключен

request.json
{
  "model": "Qwen/Qwen3.5-397B-A17B-FP8",
  "messages": [{"role": "user", "content": "Ответь кратко: 17 × 24"}],
  "chat_template_kwargs": {"enable_thinking": false},
  "max_tokens": 256
}

thinking_token_budget — нативный положительный integer. При выключенном thinking 42gpu удаляет его.

enable_thinking (top-level) — compatibility alias: переносится в chat_template_kwargs.enable_thinking и удаляется.

reasoning_effort: "none" выключает thinking; любая другая непустая строка включает. Это compatibility mapping, а не шкала качества.

thinking_budget — compatibility alias для thinking_token_budget. Нативное поле имеет приоритет.

max_tokens не относится только к финальному тексту: reasoning тоже тратит общий output budget. Если лимит закончился после reasoning и до ответа, response сохраняет reasoning_content и может получить diagnostic thinking_token_budget_exhausted.

В non-streaming reasoning приходит в choices[].message.reasoning_content, в SSE — в choices[].delta.reasoning_content.

Что можно и нельзя менять

Можно в запросе

Сообщения, output budget, reasoning on/off и budget, sampling passthrough-поля, streaming, stop, seed, tools/tool choice и проверенные image/video content blocks.

Фиксировано платформой

Семейство и веса модели, FP8, окно 262144, GPU/topology и tensor parallelism, регион hosting, admission limits, fallback, logging/retention, billing mechanics, deployment и autoscaling. Политики SLA, retention и compliance не выводятся из JSON-параметров.