Перейти к содержимому
中文

OpenAI Chat Completions

Совместимый чат-API, чтение ответа и потоковых дельт.

Для поддерживаемой модели используйте POST /v1/chat/completions с Authorization: Bearer .... В OpenAI SDK задайте https://1zheai.com/v1 как base_url или baseURL.

Укажите точный model и messages. Начните без temperature, сложного формата результата и инструментов: некоторые модели рассуждений ограничивают такие параметры. Добавляйте их по одному после успешной проверки.

Обычный текст читается из choices[].message.content. При вызове инструмента сообщение может не содержать обычного текста. Проверьте finish_reason, включая остановку по длине, и usage.

Для потока читайте choices[].delta, обрабатывайте фрагменты, а не ожидайте целое сообщение в каждом событии. Учитывайте ошибки после начала ответа и протокольное завершение. Не смешивайте структуру Chat Completions с Messages или Responses.

В многошаговом диалоге приложение само передаёт нужную историю. Использование одного ключа не создаёт постоянную память сервера. Потоки · Responses.

Примеры запросов и конфигурации

Раздел «Примеры запросов и конфигурации»

Используйте пример для выбранного протокола и версии клиента. Замените учебные ключи и идентификаторы моделей своими. Команды выполняются на вашем компьютере или сервере.

bash
curl --fail-with-body --connect-timeout 10 --max-time 120 \
https://1zheai.com/v1/chat/completions \
-H "Authorization: Bearer $ONEZHE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"messages": [{"role": "user", "content": "Объясните назначение DNS одним предложением на русском."}]
}'
json
{
"id": "example-completion",
"object": "chat.completion",
"model": "gpt-5.6-sol",
"choices": [{
"index": 0,
"message": {"role": "assistant", "content": "DNS преобразует доменное имя в сетевой адрес."},
"finish_reason": "stop"
}]
}
json
{
"model": "gpt-5.6-sol",
"messages": [
{"role": "user", "content": "Я изучаю DNS."},
{"role": "assistant", "content": "Можно начать с разрешения доменного имени."},
{"role": "user", "content": "Чем это отличается от HTTP?"}
]
}