mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-10 03:09:50 +08:00
feat(ai-pipeline): 支持 reasoning signature 及媒体内容块的跨格式流式转换
- 在 CanonicalStreamEvent 中新增 ReasoningSignature 和 ContentPart 变体,CanonicalContentPart 枚举覆盖图片/文件/音频 - Gemini 流解析器提取 thoughtSignature,并对 inlineData/fileData 等非文本 part 生成 ContentPart 事件 - Claude 流聚合支持 thinking_delta / signature_delta,输出 thinking block 携带 signature 字段 - Gemini 同步响应聚合重写,支持媒体 part 和 reasoning signature 的完整还原 - 跨格式矩阵(gemini↔claude↔openai)补全图片块双向转换及 reasoning signature 传递 - 请求转换层(to/from openai_chat)补全 Claude/Gemini 的 thinking、图片、工具调用字段映射 - 新增/扩展测试:inline image 双向重写、thinking signature 聚合、跨格式 sync product 媒体字段
This commit is contained in:
@@ -888,6 +888,7 @@ fn converts_claude_cli_tool_use_to_openai_cli_function_call() {
|
||||
},
|
||||
{
|
||||
"type": "function_call",
|
||||
"id": "tool_123",
|
||||
"call_id": "tool_123",
|
||||
"name": "read_file",
|
||||
"arguments": "{\"path\":\"/tmp/test.txt\"}"
|
||||
@@ -952,7 +953,10 @@ fn converts_gemini_cli_response_to_openai_cli_response() {
|
||||
"usage": {
|
||||
"input_tokens": 3,
|
||||
"output_tokens": 7,
|
||||
"total_tokens": 10
|
||||
"total_tokens": 10,
|
||||
"output_tokens_details": {
|
||||
"reasoning_tokens": 2
|
||||
}
|
||||
}
|
||||
})
|
||||
);
|
||||
@@ -1011,6 +1015,7 @@ fn converts_gemini_cli_function_call_to_openai_cli_function_call() {
|
||||
},
|
||||
{
|
||||
"type": "function_call",
|
||||
"id": "call_auto_1",
|
||||
"call_id": "call_auto_1",
|
||||
"name": "get_weather",
|
||||
"arguments": "{\"location\":\"Tokyo\"}"
|
||||
@@ -1019,7 +1024,10 @@ fn converts_gemini_cli_function_call_to_openai_cli_function_call() {
|
||||
"usage": {
|
||||
"input_tokens": 3,
|
||||
"output_tokens": 7,
|
||||
"total_tokens": 10
|
||||
"total_tokens": 10,
|
||||
"output_tokens_details": {
|
||||
"reasoning_tokens": 2
|
||||
}
|
||||
}
|
||||
})
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user