Responses API

對於以 OpenAI 回應項目格式為基礎的應用程式與程式開發工具,請使用 Responses API。

POST https://getrouter.ai/v1/responses

基本請求

curl https://getrouter.ai/v1/responses \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_ID",
    "instructions": "請以一小段文字回答。",
    "input": "說明反向 Proxy 的用途。"
  }'

回應包含一個由回應項目組成的 output 陣列。SDK 可能會提供 output_text 便捷屬性,用來取得彙整後的文字。

Python

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://getrouter.ai/v1",
)

response = client.responses.create(
    model="MODEL_ID",
    instructions="請以一小段文字回答。",
    input="說明反向 Proxy 的用途。",
)

print(response.output_text)

Node.js / TypeScript

import OpenAI from 'openai'

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://getrouter.ai/v1',
})

const response = await client.responses.create({
  model: 'MODEL_ID',
  instructions: '請以一小段文字回答。',
  input: '說明反向 Proxy 的用途。',
})

console.log(response.output_text)

常用請求欄位

欄位說明
model必填的模型 ID
input字串或輸入項目陣列
instructions回應的高階指示
stream設為 true 時串流回應事件
max_output_tokens輸出 token 數量上限
tools適用於相容模型的工具定義
tool_choice工具選擇行為
reasoning適用於相容模型的推理設定
previous_response_id從先前的回應接續
truncationautodisabled

接續回應

對於支援回應接續的工作流程,請傳入先前的回應 ID:

{
  "model": "MODEL_ID",
  "previous_response_id": "RESPONSE_ID",
  "input": "現在請提供一個具體範例。"
}

具狀態的接續功能是否可用,可能取決於所選模型與上游服務。

壓縮上下文

GetRouter 提供 Responses 壓縮端點:

POST https://getrouter.ai/v1/responses/compact

此端點接受 model,以及 inputinstructionsprevious_response_id。只有在用戶端已實作 Responses 壓縮工作流程時才使用此端點。

curl https://getrouter.ai/v1/responses/compact \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_ID",
    "input": "CONVERSATION_INPUT"
  }'

串流

stream 設為 true 即可接收 Responses API 事件。事件格式不同於 Chat Completions 的串流區塊。請參閱串流

相容性注意事項

  • 使用支援 Responses 端點的模型。
  • 請勿假設能搭配 Chat Completions 使用的模型也支援 Responses。
  • Codex 等工具可能依賴 Responses 專屬的事件與工具格式,因此請依照專用整合指南進行設定。

後續步驟