Skip to main content

Параметры chat completions

Как настраивать /v1/chat/completions в GonkaGate: что менять сначала, что делают основные поля и когда нужны JSON-ответы или tool calling.

Настраивайте /v1/chat/completions по одному полю за раз. Начинайте с temperature для характера ответа или max_tokens для длины. К response_format, tools, tool_choice и полям для отладки на уровне токенов переходите только когда нужны structured outputs, вызовы функций или отладка.

Минимальный рабочий пример

Минимальный рабочий пример
export GONKAGATE_API_KEY="gp-your-api-key"

curl https://api.gonkagate.com/v1/chat/completions \
  -H "Authorization: Bearer $GONKAGATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen/qwen3-235b-a22b-instruct-2507-fp8",
    "messages": [
      {
        "role": "user",
        "content": "Explain idempotency keys in 3 short bullets."
      }
    ],
    "temperature": 0.2,
    "max_tokens": 180
  }'

Ожидаемый результат: форма запроса не меняется, но ответ обычно становится стабильнее и реже уходит в лишнюю длину.

  • temperature делает ответ стабильнее.
  • max_tokens ограничивает длину ответа.
  • Перед продакшеном замените пример model на актуальный ID из GET /v1/models.

Как выбрать нужную группу параметров

  • Более стабильный или более вариативный текст: начните с temperature или top_p. Эти поля меняют sampling.
  • Более короткий или ограниченный ответ: начните с max_tokens или stop. Эти поля управляют длиной и условиями остановки.
  • Меньше повторов: начните с frequency_penalty или presence_penalty. Эти поля уменьшают повторение токенов или подталкивают модель к новым формулировкам.
  • Машиночитаемый ответ: начните с response_format. Это меняет контракт ответа, а не только стиль текста.
  • Вызов функций из вашего приложения: начните с tools и tool_choice. Модель сможет запросить именованную функцию.
  • Воспроизводимость или отладка по токенам: начните с seed, logprobs или top_logprobs. Эти поля полезны для отладки, оценки и сравнения ответов.

Что меняют основные поля

Sampling и борьба с повторами

ПолеТипЧто меняетПримечание
temperaturenumberСлучайность и вариативность0-2
top_pnumberNucleus sampling0-1
frequency_penaltynumberШтрафует токены, которые часто повторяются-2 до 2
presence_penaltynumberШтрафует токены, которые уже появлялись-2 до 2
stopstring или arrayОстанавливает генерацию по одной или нескольким stop-последовательностямПолезно, когда приложению уже известен нужный разделитель или граница.

Меняйте по одному семейству sampling-параметров. Если вы уже настраиваете temperature, не добавляйте одновременно top_p, penalties и stop, если только это не нужно для одного очень конкретного контракта.

Длина ответа, воспроизводимость и отладка

ПолеТипЧто меняетПримечание
max_tokensintegerВерхнюю границу генерацииЗадавайте его заранее, если длина ответа важна. Значение должно быть не меньше 1.
seedintegerВоспроизводимость на best-effort основеУдобно для тестов и сравнений, но одинаковый результат гарантируется не у каждой модели.
logprobsbooleanВозвращает log probabilities токеновПолезно для анализа и оценки.
top_logprobsintegerВозвращает самые вероятные альтернативные токены на каждой позиции0-20, имеет смысл только вместе с logprobs: true.

Формат ответа и tool calling

ПолеТипЧто меняетПримечание
response_formatobjectПросит модель вернуть JSON или другой structured formatПоддержка зависит от выбранной пары model/provider.
toolsarrayОписывает функции, которые модель может вызватьИспользуйте стандартную OpenAI-совместимую форму tool calling.
tool_choicestring или objectУправляет тем, может ли модель вызвать tool и какой именноИспользуйте required или конкретную функцию, если вызов обязателен.

GonkaGate сохраняет OpenAI-совместимость для /v1/chat/completions, но возможности вроде structured outputs и tool calling всё равно зависят от выбранной пары model/provider.

Для точной схемы тела запроса, правил валидации, структуры ответа и GonkaGate-специфичных полей запроса используйте Создать chat completion.

Частые ошибки

  • Менять sampling, penalties, формат ответа и настройки tool calling в одном тесте, а потом не понимать, какое поле изменило результат.
  • Считать response_format, tools или tool_choice косметическими настройками. Эти поля меняют то, как приложение потребляет ответ.
  • Указывать top_logprobs без logprobs: true.
  • Считать, что structured outputs и tool calling одинаково работают на любой паре model/provider.
  • Не задавать max_tokens, когда длина ответа важна для работы приложения.

См. также

Была ли эта страница полезной?