BazaarLinkBazaarLink
Войти
ДокументацияAPI СсылкаSDK СсылкаАгентное использованиеAI Навыки
Содержание

Responses API

Responses API

An OpenAI Ответы Конечная точка, совместимая с API, для многоповоротных диалогов без сохранения состояния, вызова инструментов и мультимодальных входных данных. Идеально подходит для агентов и платформ, которые используют OpenAI Python SDK ≥ 1.x с client.responses.create().

POST/v1/responses
Note
Принимает ту же аутентификацию и модель маршрутизации, что и Chat Completions.

Тело запроса

modelобязательно
string
Используйте id или alias из GET /v1/models, например "claude-sonnet-4.6" или "anthropic/claude-sonnet-4.6".
inputобязательно
string | Item[]
User input — простая строка (одиночное сообщение) или массив элементов ввода для многооборотных/мультимодальных разговоров.
instructions
string
Инструкции системного уровня, эквивалентные системному сообщению. Необходимо отправлять повторно при каждом запросе.
stream
boolean
Если true, возвращает события потока ответов API SSE. Типы событий: ответ.создан, ответ.выходной_текст.дельта, ответ.завершено.
max_output_tokens
integer
Максимальное количество создаваемых выходных токенов (включая логические токены для моделей серии O). Определения
temperature
number
Параметры семплирования передаются без проверки диапазона. Модель может ограничить или игнорировать значения вне поддерживаемого диапазона.
top_p
number
Масса вероятности выборки ядра. По умолчанию: 1
tools
Tool[]
Tool (функции) — тот же формат схемы JSON, что и Chat Completions (принимает как плоскую форму ответов, так и вложенную форму). Собственные встроенные размещенные инструменты OpenAI (web_search_preview, file_search, Computer_use_preview) не поддерживаются; веб-поиск доступен через плагины: [{id:"web"}] — поддерживается только на некоторых маршрутах модели.
tool_choice
string | object
Использование инструмента управления: «авто», «нет» или конкретный инструмент.
parallel_tool_calls
boolean
Включить параллельный вызов функций при наличии инструментов. По умолчанию: правда. Только модели семейства OpenAI — см. примечание ниже.
response_format
object
Force структурированный вывод JSON. См. раздел «Структурированный вывод».
previous_response_id
string
Эта конечная точка не имеет состояния — при передаче ненулевого значения немедленно возвращается 400 (invalid_prompt), оно никогда не принимается и игнорируется. Вместо этого используйте режим без сохранения состояния: передайте полную историю разговоров во входной массив.

Схема запроса (TypeScript)

type ResponsesRequest = {
  model: string;                    // Listed id or alias from GET /v1/models
  input: string | InputItem[];      // string or multi-turn array

  // Optional
  instructions?: string;            // System-level message
  stream?: boolean;                 // Default: false
  max_output_tokens?: number;
  temperature?: number;
  top_p?: number;
  tools?: Tool[];
  tool_choice?: "auto" | "none" | "required" | object;
  parallel_tool_calls?: boolean;    // Default: true
  previous_response_id?: string;    // Not supported — use full input array
};

type InputItem =
  | { type?: "message"; role: "user" | "assistant" | "system" | "developer"; content: string | ContentBlock[] }
  | { type: "function_call_output"; call_id: string; output: string }   // tool result
  | { type: "function_call"; call_id: string; name: string; arguments: string };

type ContentBlock =
  | { type: "input_text"; text: string }
  | { type: "input_image"; image_url: string; detail?: "auto" | "low" | "high" };

Пример запроса

curl https://api.bazaarlink.ai/v1/responses \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-5.4-mini",
    "instructions": "You are a helpful assistant.",
    "input": "What is the capital of Taiwan?"
  }'

Формат ответа

BazaarLink возвращает стандартизованный ответ и удаляет поля, специфичные для апстрима. Непрозрачный ID запроса BazaarLink в ответе совпадает с x-request-id; используйте его с GET /v1/generation. Нестриминговые ответы также возвращают тот же ID в x-generation-id. usage.cost — сумма в USD, списанная с клиента. Статистика может появиться через несколько секунд после завершения; при 404 ненадолго повторите запрос.

// Non-streaming response object
type ResponsesResponse = {
  id: string;             // Opaque BazaarLink request id; format may change
  object: "response";
  created_at: number;
  completed_at: number;
  status: "completed" | "failed" | "incomplete";
  model: string;
  output: OutputItem[];
  usage: {
    input_tokens: number;   // equivalent to prompt_tokens
    output_tokens: number;  // equivalent to completion_tokens
    total_tokens: number;
    cost?: number;          // USD amount charged to the customer for this request
  } | null;
  error: null | { code: string; message: string };
};

type OutputItem =
  | {
      type: "message";
      id: string;
      role: "assistant";
      status: "completed";
      content: Array<{ type: "output_text"; text: string; annotations: [] }>;
    }
  | { type: "function_call"; id: string; call_id: string; name: string; arguments: string; status: "completed" };

Миграция с Chat Completions

Замените сообщения входными данными (строкой или массивом), используйте инструкции вместо сообщения системной роли и прочитайте выходные данные[0].content[0].text вместо choice[0].message.content.

# Chat Completions (before)
response = client.chat.completions.create(
    model="openai/gpt-5.4-mini",
    messages=[
        {"role": "system", "content": "You are helpful."},
        {"role": "user",   "content": "Hello"},
    ]
)
text = response.choices[0].message.content

# Responses API (after)
response = client.responses.create(
    model="openai/gpt-5.4-mini",
    instructions="You are helpful.",
    input="Hello"
)
text = response.output[0].content[0].text

Ограничения

  • previous_response_id или store: true отклоняется с кодом 400 (код ошибки valid_prompt) — не принимается и игнорируется. Всегда используйте режим без сохранения состояния: передавайте полную историю разговоров во входной массив. Собственные встроенные размещенные инструменты
  • OpenAI (web_search_preview, file_search, Computer_use_preview) не поддерживаются. Веб-поиск доступен через плагины: [{id:"web"}] — поддерживается только на некоторых маршрутах модели.
  • background: true принимается, но игнорируется — каждый запрос выполняется синхронно до завершения.
Поддержка
Здравствуйте! Чем мы можем помочь?
Отправьте сообщение, и мы ответим в ближайшее время.
Responses API | BazaarLink