1
0
Files
nex/openspec/changes/unified-model-id/specs/conversion-engine/spec.md

2.0 KiB
Raw Blame History

MODIFIED Requirements

Requirement: 跨协议响应转换支持 model 覆写

ConversionEngine SHALL 在跨协议响应转换时支持 model 字段覆写。

Scenario: ConvertHttpResponse 接收 modelOverride 参数

  • WHEN 调用 ConvertHttpResponse 时传入 modelOverride 参数(跨协议场景,非空字符串)
  • THEN SHALL 在解码上游响应到 canonical 后,将 Model 字段设为 modelOverride
  • THEN SHALL 使用覆写后的 canonical 编码为客户端协议格式

Scenario: modelOverride 为空

  • WHEN 调用 ConvertHttpResponsemodelOverride 为空字符串
  • THEN SHALL NOT 覆写 canonical 的 Model 字段,保持上游原始值

Scenario: Chat 响应 model 覆写

  • WHEN 跨协议转换 Chat 类型响应且 modelOverride 非空
  • THEN CanonicalResponse.Model SHALL 被设为 modelOverride

Scenario: Embedding 响应 model 覆写

  • WHEN 跨协议转换 Embedding 类型响应且 modelOverride 非空
  • THEN CanonicalEmbeddingResponse.Model SHALL 被设为 modelOverride

Scenario: Rerank 响应 model 覆写

  • WHEN 跨协议转换 Rerank 类型响应且 modelOverride 非空
  • THEN CanonicalRerankResponse.Model SHALL 被设为 modelOverride

Requirement: 跨协议流式转换支持 model 覆写

ConversionEngine SHALL 在跨协议流式转换时支持 model 字段覆写。

Scenario: CreateStreamConverter 接收 modelOverride 参数

  • WHEN 调用 CreateStreamConverter 时传入 modelOverride 参数(跨协议场景)
  • THEN SHALL 在流式 canonical 事件中将 Model 字段设为 modelOverride

Requirement: TargetProvider 字段语义

TargetProvider 的 ModelName 字段 SHALL 存储上游供应商的模型名称(即 model_name 字段值),语义保持不变。

Scenario: encoder 使用 TargetProvider.ModelName

  • WHEN 协议适配器编码请求时
  • THEN SHALL 使用 TargetProvider.ModelName 作为发给上游的 model 字段值(值为路由结果中的 model_name