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.
Примеры запросов и конфигурации
Раздел «Примеры запросов и конфигурации»Используйте пример для выбранного протокола и версии клиента. Замените учебные ключи и идентификаторы моделей своими. Команды выполняются на вашем компьютере или сервере.
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 одним предложением на русском."}] }'{ "id": "example-completion", "object": "chat.completion", "model": "gpt-5.6-sol", "choices": [{ "index": 0, "message": {"role": "assistant", "content": "DNS преобразует доменное имя в сетевой адрес."}, "finish_reason": "stop" }]}{ "model": "gpt-5.6-sol", "messages": [ {"role": "user", "content": "Я изучаю DNS."}, {"role": "assistant", "content": "Можно начать с разрешения доменного имени."}, {"role": "user", "content": "Чем это отличается от HTTP?"} ]}