/chat/completions
model
/models
当前 AI 网关的 /api/v1/models 与 /api/v1/chat/completions 在模型标识字段上存在不一致。 按 OpenAI-compatible 接口惯例,客户端会从 /models 获取模型列表,并使用模型对象的可调用模型标识作为 /chat/completions 请求体里的 model 字段。 但当前接口中,/models 返回的 modelName / providerModelName / id 都无法用于 /chat/completions,实际只有 modelAlias / displayName 可以调用成功。 这会导致标准 OpenAI-compatible 客户端或自动生成客户端难以判断应该使用哪个字段作为 chat completion 的 model 值。
/api/v1/models
/api/v1/chat/completions
modelName
providerModelName
id
modelAlias
displayName
Base URL:
http://localhost:8088/api/v1
GET /api/v1/models Authorization: Bearer <token>
返回的某个模型记录示例:
{ "id": "78ebcd29-addb-4e24-914b-7b83537cf4ef", "provider": "volces-openai", "platformName": "火山引擎(OpenAI兼容)", "modelName": "doubao-seed-2-0-mini-260215", "providerModelName": "doubao-seed-2-0-mini-260215", "modelAlias": "Doubao Seed 2.0 Mini", "displayName": "Doubao Seed 2.0 Mini", "modelType": ["image_analysis", "text_generate", "tools_call"], "enabled": true }
POST /api/v1/chat/completions Authorization: Bearer <token> Content-Type: application/json
请求体:
{ "model": "doubao-seed-2-0-mini-260215", "messages": [ { "role": "user", "content": "ping" } ] }
实际结果:
{ "code": "no_model_candidate", "message": "no enabled platform model matches request", "status": 404 }
{ "model": "78ebcd29-addb-4e24-914b-7b83537cf4ef", "messages": [ { "role": "user", "content": "ping" } ] }
实际结果同样是 404。 4. 使用 modelAlias / displayName 调用:
{ "model": "Doubao Seed 2.0 Mini", "messages": [ { "role": "user", "content": "ping" } ] }
实际结果:HTTP 200,返回正常 chat completion。
建议至少满足其中一种:
{ "id": "Doubao Seed 2.0 Mini", "object": "model" }
并明确该 id 就是 /chat/completions 的 model 可调用值。 3. 在 OpenAPI 文档中明确说明:/chat/completions 的 model 字段必须使用 /models 返回的 modelAlias,而不是 modelName、providerModelName 或 id。
当前行为会导致接入方误用 modelName / providerModelName / id 作为 chat completion 的 model 值,从而收到:
No dependencies set.
The note is not visible to the blocked user.
问题描述
当前 AI 网关的
/api/v1/models与/api/v1/chat/completions在模型标识字段上存在不一致。按 OpenAI-compatible 接口惯例,客户端会从
/models获取模型列表,并使用模型对象的可调用模型标识作为/chat/completions请求体里的model字段。但当前接口中,
/models返回的modelName/providerModelName/id都无法用于/chat/completions,实际只有modelAlias/displayName可以调用成功。这会导致标准 OpenAI-compatible 客户端或自动生成客户端难以判断应该使用哪个字段作为 chat completion 的
model值。复现环境
Base URL:
复现步骤
返回的某个模型记录示例:
modelName调用聊天接口:请求体:
实际结果:
/models返回的id调用:实际结果同样是 404。
4. 使用
modelAlias/displayName调用:实际结果:HTTP 200,返回正常 chat completion。
期望行为
建议至少满足其中一种:
/chat/completions的model字段支持/models返回的稳定可调用标识,例如modelName、providerModelName或id。/models返回 OpenAI-compatible 的标准结构,例如:并明确该
id就是/chat/completions的model可调用值。3. 在 OpenAPI 文档中明确说明:
/chat/completions的model字段必须使用/models返回的modelAlias,而不是modelName、providerModelName或id。影响
当前行为会导致接入方误用
modelName/providerModelName/id作为 chat completion 的model值,从而收到: