模型与协议

模型 ID 从哪来、哪个模型走哪个端点、Responses 支持度怎么判断、官方 SDK 兼容性与流式开启方式。

1. 找到可用的模型

1.1 怎么知道我能用哪些模型?

调 GET /v1/models。它只返回当前 API Key 已授权、且在账号权限与实际上游路由下仍可用的模型,并给出每个模型的 type、supported_protocols、protocol_endpoints、format 和 endpoint。

原样使用返回的模型 ID。字段含义见模型列表。

1.2 提示 Model not available 怎么办?

三点依次检查:

  1. 模型 ID 来自当前 API Key 的 GET /v1/models。
  2. 该模型已授权给这把 Key。
  3. 该模型所选渠道当前仍可用。

1.3 该发哪个模型 ID?

GET /v1/models 返回的 LLM ID,原样发送。网关会按该模型选定的渠道路由,同一把 Key 的不同模型可以走不同渠道。

2. 选对协议

2.1 为什么用 OpenAI 格式调 Claude、Gemini 会失败?

因为这两家有各自的原生协议,网关按原生协议转发:

模型端点说明
ClaudePOST /v1/messages见 Anthropic 格式。走 /v1/chat/completions 会被拒绝
GeminiPOST /v1/models/{model}:generateContent见 Gemini 格式

例外:supported_protocols 包含 openai-completions 的 Gemini 型号可以用 OpenAI Chat Completions。Claude 没有这个例外。

2.2 怎么判断模型支持 Responses?

调 GET /v1/models,看 supported_protocols 是否包含 openai-responses;旧客户端可以改看 responses_endpoint 是否为 /v1/responses。满足则可用 OpenAI Responses API。

一律以模型列表返回项为准,不要根据模型名判断——/v1/responses 只接受明确声明支持的已开放模型。

2.3 能用官方 OpenAI SDK 吗?

可以,范围是 OpenAI 风格端点:Chat Completions、声明了 responses_endpoint 的模型的 Responses,以及 GPT Image 2 的 generations / edits。

Claude 用原生 SDK。Gemini 默认原生格式,supported_protocols 包含 openai-completions 的型号也可用 OpenAI SDK。通用媒体生成用异步任务 API。

2.4 流式怎么开?

协议开启方式
Chat Completions请求体传 "stream":true
OpenAI Responses请求体传 "stream":true
Anthropic Messages请求体传 "stream":true
Gemini改用 :streamGenerateContent
媒体模型不使用 SSE,创建任务后轮询状态

3. 参数与缓存

3.1 GPT 模型怎么命中提示词缓存?

固定携带 session-id 请求头:从响应中读取该值,在同一关联会话的每次 LLM 请求中原样发送。这个头可选,但建议始终携带。

thread-id 和 conversation-id 只用于会话追踪,不是缓存命中的必需条件。媒体任务端点和其他自定义请求头不会透传,也不要在这些头里放敏感凭据。

3.2 Flex 渠道的 claude-opus-4-7 / 4-8 报 400 怎么办?

这两个 Flex 模型对采样参数较严格:

  • temperature 固定填 1.0,或者不传。
  • 不要同时传 temperature 和 top_p。

需要其他取值时,把该模型的渠道改成 Standard,继续用同一个模型 ID。

本页目录

On this page