50 lines
2.0 KiB
Markdown
50 lines
2.0 KiB
Markdown
## MODIFIED Requirements
|
||
|
||
### Requirement: 跨协议响应转换支持 model 覆写
|
||
|
||
ConversionEngine SHALL 在跨协议响应转换时支持 model 字段覆写。
|
||
|
||
#### Scenario: ConvertHttpResponse 接收 modelOverride 参数
|
||
|
||
- **WHEN** 调用 `ConvertHttpResponse` 时传入 `modelOverride` 参数(跨协议场景,非空字符串)
|
||
- **THEN** SHALL 在解码上游响应到 canonical 后,将 `Model` 字段设为 `modelOverride`
|
||
- **THEN** SHALL 使用覆写后的 canonical 编码为客户端协议格式
|
||
|
||
#### Scenario: modelOverride 为空
|
||
|
||
- **WHEN** 调用 `ConvertHttpResponse` 时 `modelOverride` 为空字符串
|
||
- **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)
|