Comprehensive Technical Analysis of Responses, Real-time, Completion and Agent Builder APIs
Новый унифицированный API для структурированных ответов с встроенными инструментами
WebSocket API для голосовых взаимодействий в реальном времени
Основной API для текстовых взаимодействий и чат-ботов
Статeful API с встроенными инструментами для сложных агентов
| Аспект | Responses API | Real-time API | Chat Completions | Assistants API |
|---|---|---|---|---|
| Протокол | REST HTTP | WebSocket | REST HTTP | REST HTTP |
| Состояние | Stateless с кэшем | Stateful сессии | Stateless | Stateful потоки |
| Встроенные инструменты | Да (веб-поиск, файлы, компьютер) | Ограниченные | Нет (только function calling) | Да (Code Interpreter, File Search) |
| Структурированный вывод | JSON Schema валидация | Нет | Ограниченный | Нет |
| Память разговора | Через кэширование | В рамках сессии | Ручное управление | Персистентные потоки |
| Компонент | Responses API | Real-time API | Chat Completions | Assistants API |
|---|---|---|---|---|
| Базовая стоимость | По тарифам модели | gpt-realtime: $4/$16 за 1М токенов | По тарифам модели | По тарифам модели |
| Аудио обработка | Не применимо | Вход: $0.06/мин, Выход: $0.24/мин | Не применимо | Не применимо |
| Веб-поиск | $25/1K вызовов (превью) | Недоступен | Недоступен | Недоступен |
| Поиск по файлам | $2.50/1K вызовов | Недоступен | Недоступен | $0.10/ГБ/день |
| Code Interpreter | Недоступен | Недоступен | Недоступен | $0.03/сессия |
| Хранение | Не требуется | Не требуется | Не требуется | $0.10/ГБ/день (1ГБ бесплатно) |
from openai import OpenAI
from pydantic import BaseModel
class UserInfo(BaseModel):
name: str
age: int
email: str
client = OpenAI()
response = client.responses.create(
model="gpt-4o",
messages=[{
"role": "user",
"content": "Extract user info: John, 25, john@email.com"
}],
response_format=UserInfo,
tools=[{"type": "web_search"}]
)
print(response.content.parsed)
import websocket
import json
def on_message(ws, message):
data = json.loads(message)
if data['type'] == 'response.audio.delta':
# Обработка аудио потока
audio_chunk = data['delta']
play_audio(audio_chunk)
ws = websocket.WebSocketApp(
"wss://api.openai.com/v1/realtime",
header={"Authorization": f"Bearer {api_key}"},
on_message=on_message
)
# Отправка аудио
ws.send(json.dumps({
"type": "input_audio_buffer.append",
"audio": encoded_audio
}))
| Концепт Assistants API | Эквивалент в Responses API | Шаги Миграции |
|---|---|---|
| Assistant | System message + tools configuration | Переместите инструкции в системное сообщение, настройте инструменты |
| Thread | Conversation state management | Реализуйте управление состоянием через кэширование или внешнее хранилище |
| Messages | Messages array | Прямое сопоставление, используйте массив сообщений |
| Runs | Single API call | Замените асинхронные runs на синхронные вызовы API |
| File Search | Built-in file search tool | Используйте встроенный инструмент поиска по файлам |
| Code Interpreter | Coming soon | Ожидайте паритет функций в 2025 |
Responses API представляет собой будущее направление OpenAI для создания агентов, объединяя лучшие возможности Chat Completions и Assistants API с значительными улучшениями производительности и новыми встроенными инструментами.
Real-time API открывает новые возможности для голосовых приложений с беспрецедентно низкой латентностью, хотя и требует более сложной инфраструктуры.
Для максимальной эффективности рекомендуется: использовать Responses API для новых проектов агентов, Chat Completions для простых текстовых задач, Real-time API для голосовых взаимодействий, и планировать миграцию с Assistants API до 2026 года.