修复 AI 网关流式断流:错误透传、自动降级,max_tokens 可缺省
CI / test (push) Successful in 33s
Release / release (push) Successful in 56s

This commit is contained in:
2026-07-13 15:06:01 +08:00
parent 81d4650f3d
commit 9309ad1ffc
11 changed files with 420 additions and 28 deletions
+22
View File
@@ -104,3 +104,25 @@ func RespStreamCompletedUsage(data []byte) *aiwire.Usage {
}
return RespPassthroughUsage(ev.Response)
}
// RespStreamErrorMsg 从一行 SSE data JSON 中提取 error / response.failed 事件的
// 错误消息;非错误事件返回空串。流式直通据此把上游错误写入调用日志。
func RespStreamErrorMsg(data []byte) string {
var ev respStreamEvent
if json.Unmarshal(data, &ev) != nil {
return ""
}
switch ev.Type {
case "error":
if ev.Message != "" {
return ev.Message
}
return "上游返回错误事件 error"
case "response.failed":
if m := respErrorMsg(ev.Response); m != "" {
return m
}
return "上游返回错误事件 response.failed"
}
return ""
}