问题
当前 /v1/chat/completions 在文本请求中会根据模型解析 provider:
grok-4.3、grok-4 这类模型会走 Grok Console 链路。
grok-4.20-* 这类模型会走 Grok app-chat 链路。
但 /v1/responses 的文本请求路径目前直接调用通用文本后端,没有按 model 解析 Grok provider。因此调用方如果向 /v1/responses 传入 model: "grok-4.3",预期是使用 Grok Console Responses 能力,实际却可能走到非 Grok 后端,或者表现与 /v1/chat/completions 不一致。
这会让 OpenAI Responses 兼容调用方很难判断:同一个 Grok 模型在 /v1/chat/completions 可用,但在 /v1/responses 上并没有走 Grok。
期望行为
/v1/responses 文本请求应与 /v1/chat/completions 保持一致的模型路由语义。
- 当
model 是 Grok Console 模型,例如 grok-4.3、grok-4,应调用 Grok Console 链路。
- 如果暂不支持 Grok 的
/v1/responses,应返回明确的 400/501 错误,而不是静默走其他后端。
- 如果支持 Grok Console Responses,应继续保留
tools,并允许 web_search 等 Grok 服务端工具生效。
建议改动
在 /v1/responses 文本路径中增加类似 /v1/chat/completions 的模型解析:
spec = resolve_model(model)
if spec.provider == GROK_PROVIDER:
if is_grok_app_chat_model(spec):
raise HTTPException(status_code=501, detail={"error": "Grok app-chat is not supported on /v1/responses"})
completion = grok.console_chat_completion(body, spec, messages)
return response_completed(...)
实现方式可以不完全照搬上面片段,但核心是:不要让 Grok 模型在 /v1/responses 文本请求里静默进入非 Grok 后端。
建议测试
/v1/responses + model=grok-4.3 应调用 Grok Console 链路,并返回 Responses 格式结果。
/v1/responses + model=grok-4.3 + tools=[{"type":"web_search"}] 应保留搜索工具参数。
/v1/responses + app-chat 模型如果暂不支持,应返回明确错误。
/v1/chat/completions 的现有 Grok 行为不应回归。
问题
当前
/v1/chat/completions在文本请求中会根据模型解析 provider:grok-4.3、grok-4这类模型会走 Grok Console 链路。grok-4.20-*这类模型会走 Grok app-chat 链路。但
/v1/responses的文本请求路径目前直接调用通用文本后端,没有按model解析 Grok provider。因此调用方如果向/v1/responses传入model: "grok-4.3",预期是使用 Grok Console Responses 能力,实际却可能走到非 Grok 后端,或者表现与/v1/chat/completions不一致。这会让 OpenAI Responses 兼容调用方很难判断:同一个 Grok 模型在
/v1/chat/completions可用,但在/v1/responses上并没有走 Grok。期望行为
/v1/responses文本请求应与/v1/chat/completions保持一致的模型路由语义。model是 Grok Console 模型,例如grok-4.3、grok-4,应调用 Grok Console 链路。/v1/responses,应返回明确的 400/501 错误,而不是静默走其他后端。tools,并允许web_search等 Grok 服务端工具生效。建议改动
在
/v1/responses文本路径中增加类似/v1/chat/completions的模型解析:实现方式可以不完全照搬上面片段,但核心是:不要让 Grok 模型在
/v1/responses文本请求里静默进入非 Grok 后端。建议测试
/v1/responses+model=grok-4.3应调用 Grok Console 链路,并返回 Responses 格式结果。/v1/responses+model=grok-4.3+tools=[{"type":"web_search"}]应保留搜索工具参数。/v1/responses+ app-chat 模型如果暂不支持,应返回明确错误。/v1/chat/completions的现有 Grok 行为不应回归。