Перейти к основному содержанию
POST
/
openai
/
v1
/
chat
/
completions
Создать запрос чат-диалога
curl --request POST \
  --url https://api.highwayapi.ai/openai/v1/chat/completions \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: <content-type>' \
  --data '
{
  "model": "<string>",
  "messages": [
    {
      "content": {
        "type": "<string>",
        "text": "<string>",
        "image_url": "<string>",
        "video_url": "<string>"
      },
      "role": "<string>",
      "name": "<string>"
    }
  ],
  "max_tokens": 123,
  "stream": {},
  "stream_options": {
    "include_usage": true
  },
  "n": {},
  "seed": {},
  "frequency_penalty": {},
  "presence_penalty": {},
  "repetition_penalty": {},
  "stop": {},
  "temperature": {},
  "top_p": {},
  "top_k": {},
  "min_p": {},
  "logit_bias": {},
  "logprobs": {},
  "top_logprobs": {},
  "tools": {
    "type": "<string>",
    "function": {
      "name": "<string>",
      "description": {},
      "parameters": {},
      "strict": true
    }
  },
  "response_format": {
    "type": "<string>",
    "json_schema": {
      "name": "<string>",
      "description": {},
      "schema": {},
      "strict": true
    }
  },
  "separate_reasoning": {},
  "enable_thinking": {}
}
'
{
  "choices": [
    {
      "finish_reason": "<string>",
      "index": 123,
      "message": {
        "role": "<string>",
        "content": {},
        "reasoning_content": {}
      }
    }
  ],
  "created": 123,
  "id": "<string>",
  "model": "<string>",
  "object": "<string>",
  "usage": {
    "completion_tokens": 123,
    "prompt_tokens": 123,
    "total_tokens": 123
  }
}
Генерирует ответ модели на основе указанного чат-диалога

Заголовки запроса

Content-Type
string
обязательно
Значения перечисления: application/json
Authorization
string
обязательно
Формат аутентификации Bearer: Bearer {{API 秘钥}}.

Тело запроса

model
string
обязательно
Имя модели, которую нужно использовать.
messages
object[]
обязательно
Список сообщений, составляющих текущий диалог.
max_tokens
integer
обязательно
Максимальное количество tokens, генерируемых в завершении.Если сумма tokens вашего запроса (предыдущих сообщений) и max_tokens превышает длину контекста модели, поведение зависит от context_length_exceeded_behavior. По умолчанию max_tokens будет уменьшено, чтобы уместиться в контекстное окно, вместо возврата ошибки.
stream
boolean | null
по умолчанию:false
Возвращать ли частичный прогресс потоково. Если включено, tokens будут отправляться как server-sent events (SSE), предназначенные только для данных, по мере их доступности, а поток завершится сообщением data: [DONE].
stream_options
object | null
Опции потокового ответа. Устанавливайте это только когда stream имеет значение true.
n
integer | null
по умолчанию:1
Количество завершений, генерируемых для каждого промпта.Примечание: поскольку этот параметр генерирует множество завершений, он может быстро расходовать вашу квоту tokens. Используйте с осторожностью и убедитесь, что у вас заданы разумные значения для max_tokens и stop.Требуемый диапазон: 1 < x < 128
seed
integer | null
Если указано, наша система приложит все усилия для детерминированной выборки, чтобы повторные запросы с тем же seed и параметрами возвращали одинаковый результат.
frequency_penalty
number | null
по умолчанию:0
Положительные значения штрафуют новые tokens в зависимости от их текущей частоты в тексте, снижая вероятность того, что модель будет дословно повторять одни и те же строки.Если цель — лишь немного уменьшить повторяющиеся образцы, разумные значения находятся в диапазоне от 0.1 до 1. Если цель — сильно подавить повторения, коэффициент можно увеличить до 2, но это может существенно снизить качество образцов. Отрицательные значения можно использовать для увеличения вероятности повторения.См. также presence_penalty, который штрафует tokens, появившиеся хотя бы один раз, с фиксированной скоростью.Требуемый диапазон: -2 < x < 2
presence_penalty
number | null
по умолчанию:0
Положительные значения штрафуют новые tokens в зависимости от того, появляются ли они в тексте, повышая вероятность того, что модель будет говорить на новые темы.Если цель — лишь немного уменьшить повторяющиеся образцы, разумные значения находятся в диапазоне от 0.1 до 1. Если цель — сильно подавить повторения, коэффициент можно увеличить до 2, но это может существенно снизить качество образцов. Отрицательные значения можно использовать для увеличения вероятности повторения.См. также frequency_penalty, который штрафует tokens с возрастающей скоростью в зависимости от частоты их появления.Требуемый диапазон: -2 < x < 2
repetition_penalty
number | null
Применяет штраф к повторяющимся tokens, чтобы препятствовать или способствовать повторению. Значение 1.0 означает отсутствие штрафа и позволяет свободные повторения. Значения выше 1.0 штрафуют повторения, снижая вероятность повторяющихся tokens. Значения между 0.0 и 1.0 поощряют повторения, увеличивая вероятность повторяющихся tokens. Для хорошего баланса обычно рекомендуется значение 1.2. Обратите внимание, что штраф применяется к сгенерированному выводу и к промпту в моделях только с декодером.Требуемый диапазон: 0 < x < 2
stop
string | null
До 4 последовательностей, при которых API прекратит генерацию дальнейших tokens. Возвращаемый текст будет содержать стоп-последовательность.
temperature
number | null
по умолчанию:1
Используемая температура выборки, от 0 до 2. Более высокие значения, например 0.8, делают вывод более случайным, а более низкие значения, например 0.2, делают его более сфокусированным и детерминированным.Обычно мы рекомендуем изменять либо этот параметр, либо top_p, но не оба одновременно.Требуемый диапазон: 0 < x < 2
top_p
number | null
Альтернативный температуре выборки метод, называемый nucleus sampling, при котором модель учитывает результаты tokens с вероятностной массой top_p. Поэтому 0.1 означает, что учитываются только tokens, составляющие верхние 10% вероятностной массы. Обычно мы рекомендуем изменять либо этот параметр, либо температуру, но не оба одновременно.Требуемый диапазон: 0 < x <= 1
top_k
integer | null
Top-k sampling — это еще один метод выборки, при котором фильтруются k наиболее вероятных следующих tokens, а вероятностная масса перераспределяется только между этими k следующими tokens. Значение k управляет количеством кандидатов на следующий tokens на каждом шаге генерации текста.Требуемый диапазон: 1 < x < 128
min_p
number | null
Представляет минимальную вероятность, при которой tokens рассматриваются, относительно вероятности наиболее вероятного tokens.Требуемый диапазон: 0 <= x <= 1
logit_bias
map[string, integer] | null
Изменяет вероятность появления указанных tokens в завершении.Принимает JSON-объект, сопоставляющий tokens со связанными значениями смещения от -100 до 100. Математически смещение добавляется к logits, сгенерированным моделью перед выборкой. Точный эффект зависит от модели.Например, установка "logit_bias":{"1024": 6} увеличит вероятность tokens с token ID 1024.
logprobs
boolean | null
по умолчанию:false
Возвращать ли логарифмические вероятности выходных tokens. Если true, возвращаются логарифмические вероятности каждого выходного tokens в содержимом сообщения.
top_logprobs
integer | null
Целое число от 0 до 20, указывающее количество наиболее вероятных tokens, возвращаемых в каждой позиции tokens, каждый с соответствующей логарифмической вероятностью. Если используется этот параметр, logprobs должен быть установлен в true.Требуемый диапазон: 0 <= x <= 20
tools
object[] | null
Список инструментов, которые модель может вызывать. В настоящее время в качестве инструментов поддерживаются только функции. Используйте этот параметр, чтобы предоставить список функций, для которых модель может сгенерировать JSON-ввод.Подробнее о вызове функций см. в руководстве по вызову функций.
response_format
object | null
Позволяет принудительно заставить модель генерировать определенный формат вывода.Установка { "type": "json_schema", "json_schema": {...} } включает структурированный вывод и гарантирует, что модель будет соответствовать предоставленной вами JSON schema.Установка { "type": "json_object" } включает старый режим JSON и гарантирует, что сообщения, сгенерированные моделью, будут валидным JSON. Для моделей, которые это поддерживают, рекомендуется использовать json_schema.
separate_reasoning
boolean | null
по умолчанию:false
Отделять ли рассуждения от “content” в поле “reasoning_content”.Поддерживаемые модели:
  • deepseek/deepseek-r1-turbo
enable_thinking
boolean | null
по умолчанию:true
Управляет переключением между режимом мышления и режимом без мышления.Поддерживаемые модели:
  • zai-org/glm-4.5

Информация об ответе

choices
object[]
обязательно
Список вариантов завершения чата.
created
integer
обязательно
Unix-время генерации ответа (в секундах).
id
string
обязательно
Уникальный идентификатор ответа.
model
string
обязательно
Модель, использованная для завершения чата.
object
string
обязательно
Тип объекта, всегда chat.completion.
usage
object
Статистика использования.Для потоковых ответов поле usage содержится в последнем возвращаемом блоке ответа.