Сторона запроса (base_url, auth, переключение моделей) описана в Вызовы в совместимом режиме. Эта страница посвящена исключительно стороне ответа: тому, как разбирать полученные данные.
Два режима, один endpoint
Один и тот же endpoint/v1/chat/completions; только флаг stream меняет форму:
Ответ без потоковой передачи
Стабильная структура — просто прочитайтеchoices[0].message.content:
Потоковый ответ (SSE)
Потоковая передача отправляет фрагменты как Server-Sent Events, по одному в строке какdata: {...}, завершаясь data: [DONE]:
delta.content:
Примечания по интеграции: несколько различий, обрабатываемых единообразно
Детали потоковой передачи немного различаются между моделями, но соблюдение правил ниже позволяет одному кодовому пути покрыть их все.Надежный парсер ссылок
Когда вы обрабатываете raw SSE самостоятельно (без SDK), это покрывает все различия выше:Модели рассуждения (grok, qwen, glm и т. д.) сначала передают в поток
delta.reasoning_content (chain of thought), затем delta.content (ответ). Парсер выше читает только content, поэтому thinking пропускается автоматически. Чтобы отобразить thinking, см. Вывод модели рассуждения.Использование и тарификация
usageвозвращается встроенно в ответах без потоковой передачи; при потоковой передаче оно приходит в завершающем фрагменте (место указано в таблице выше — «записывайте всякий раз, когда присутствует»).- Разбивка полей отличается: семейство OpenAI добавляет
completion_tokens_details, Gemini/Claude добавляютinput_tokens/output_tokens, модели с reasoning добавляютreasoning_tokens. Ориентируйтесь на три стандартных поля:prompt_tokens/completion_tokens/total_tokens.
Связанные ссылки
- Та же группа: Вызовы в режиме совместимости · Вывод модели рассуждения · Нативные вызовы
- Модели и тарифы: Обзор моделей и тарифов
- Получение / управление tokens:
https://api.apiyi.com/token