Gateway
Справочник API

Chat Completions

Диалоговые запросы к моделям

POST/v1/chat/completions

Основной маршрут для чатов, помощников, генерации текста, классификации и извлечения данных.

Пример запроса

curl {{PUBLIC_API_BASE_URL}}/chat/completions \
  -H "Authorization: Bearer gw_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "provider/model-name",
    "messages": [
      {"role": "system", "content": "Отвечай кратко."},
      {"role": "user", "content": "Составь список из трёх идей."}
    ],
    "temperature": 0.7
  }'

Потоковый ответ

Если модель поддерживает потоковую передачу, передайте stream: true.

{
  "model": "provider/model-name",
  "stream": true,
  "messages": [
    {"role": "user", "content": "Напиши короткий план."}
  ]
}

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

Советы

  • Держите системную инструкцию короткой и стабильной.
  • Не отправляйте секреты, которые не нужны модели.
  • Для разных приложений используйте разные ключи API.

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

ПолеОбязательностьОписание
modelДаПубличное имя модели из GET /v1/models.
messagesДаИстория сообщений.
messages[].roleДаРоль: system, user, assistant или другая роль, которую поддерживает модель.
messages[].contentДаТекст или структурированный контент сообщения.
temperatureНетНасколько свободным будет ответ.
max_tokensНетМаксимум выходных токенов.
streamНетtrue, если нужен потоковый ответ.
toolsНетИнструменты, если модель и клиент поддерживают tool calling.
tool_choiceНетПравило выбора инструмента.

Поля ответа

ПолеОбязательностьОписание
idДаИдентификатор ответа.
objectДаТип объекта.
createdНетВремя создания.
modelДаМодель, вернувшая ответ.
choicesДаВарианты ответа.
choices[].messageДаСообщение ассистента.
choices[].finish_reasonНетПочему генерация завершилась.
usageНетТокены запроса и ответа.

Пример ответа

{
  "id": "chatcmpl_example",
  "object": "chat.completion",
  "model": "provider/model-name",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Вот три идеи: короткий тур, чек-лист первого запуска и письмо с полезными ссылками."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 32,
    "completion_tokens": 24,
    "total_tokens": 56
  }
}