Responses API или Chat Completions
Сравните структуру запросов, streaming, инструменты и совместимость провайдеров до выбора Responses API или Chat Completions.
Responses API и Chat Completions отправляют запросы языковым моделям, но по-разному организуют ввод, вывод, инструменты и streaming. Выбор следует начинать с контракта клиента и модели, а не с предположения, что более новый эндпоинт автоматически поддерживается всеми провайдерами.
Краткое правило:
- Используйте Responses API для агента программирования или приложения, которое уже ожидает типизированные элементы Responses, события инструментов и потоковый жизненный цикл Responses.
- Используйте Chat Completions для широко совместимых чат-клиентов и семейств провайдеров, которые предоставляют OpenAI-формат через прямую передачу Chat Completions.
Всегда сверяйте поддерживаемый формат в разделе Модели и цены.
Сравнение протоколов
| Критерий | Responses API | Chat Completions |
|---|---|---|
| Основной ввод | input и типизированные элементы | Массив messages |
| Модель вывода | Типизированные элементы и события | Варианты сообщений ассистента и дельты |
| Streaming | Поток событий Responses | Поток фрагментов Chat Completions |
| Инструменты | Типизированные вызовы и результаты | Вызовы, прикреплённые к сообщениям ассистента |
| Типичный сценарий | Агенты, инструменты программирования и Responses-приложения | Чат-клиенты и широко поддерживаемые OpenAI-совместимые провайдеры |
| Переносимость моделей | Только модели, проверенные для Responses | Только модели, проверенные для Chat Completions |
Таблица описывает сетевой контракт. Она не означает, что Modelflare преобразует все функции провайдера из одного формата в другой.
Когда лучше выбрать Responses API
Выбирайте /v1/responses, если клиент воспринимает выполнение модели как последовательность типизированных элементов, а не одно сообщение ассистента. Такой подход характерен для агентов программирования, которым важно различать видимый текст, сводки рассуждений, аргументы функций, ввод пользовательских инструментов и другие события.
Минимальный запрос:
curl -sS https://modelflare.dev/v1/responses \
-H "Authorization: Bearer $MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.6-sol",
"input": "Перечисли три проверки перед миграцией API.",
"stream": true
}'
Проверяйте поток Responses от начала до конца. Клиент, который умеет подключаться, но понимает только фрагменты Chat Completions, может успешно открыть соединение и не показать полезного результата.
Когда безопаснее Chat Completions
Выбирайте /v1/chat/completions, если приложение построено вокруг сообщений system, user, assistant и tool либо провайдер явно документирует OpenAI-совместимый эндпоинт Chat Completions.
curl -sS https://modelflare.dev/v1/chat/completions \
-H "Authorization: Bearer $MODELFLARE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_CHAT_MODEL",
"messages": [
{"role": "system", "content": "Отвечай кратко."},
{"role": "user", "content": "Что должна проверять диагностика состояния API?"}
],
"stream": true
}'
Для семейств не от OpenAI Modelflare может передавать Chat Completions без преобразований, чтобы специальные поля рассуждений или поиска дошли до провайдера неизменными. Это намеренно более точная гарантия, чем заявление о полной совместимости с Responses.
Не выбирайте только по названию модели
Необходимо отдельно проверить:
- API-ключ имеет доступ к модели. Доступ зависит от ключа и доступных групп.
- Модель поддерживает эндпоинт. Наличие в /v1/models не означает поддержку обоих форматов.
- Клиент понимает поток. События Responses и фрагменты Chat Completions — разные клиентские контракты.
Если любой пункт не выполнен, простая замена пути может превратить понятную ошибку совместимости в пустой или частично отображённый ответ.
Миграция инструментов и структурированного вывода
Перед переносом реальной интеграции:
- сравните схему определения инструментов;
- проверьте возврат ID вызовов и результатов инструментов;
- сохраняйте явно переданные значения 0 и false;
- определите специальные поля, которые должны проходить без изменений;
- протестируйте ответы только с вызовами инструментов и без видимого текста;
- уточните, как клиент определяет завершение и использование.
Похожий текст для одного промпта ещё не подтверждает совместимость протокола. Тест должен задействовать функции, от которых зависит приложение.
Практический порядок выбора
- Выберите модель и группу в разделе Модели и цены.
- Подтвердите поддерживаемый формат API.
- Если есть подходящее руководство, следуйте документации Modelflare для конкретного клиента.
- Отправьте запрос без streaming.
- Отправьте потоковый запрос.
- Проверьте инструменты или структурированный вывод.
- Сверьте статус, время, токены и стоимость в журнале использования.
Responses API не является универсальной заменой Chat Completions, а Chat Completions не устарел. Правильный формат одновременно поддерживают клиент, выбранная модель и контракт вышестоящего провайдера.