mirror of
https://gitee.com/wanwujie/sub2api
synced 2026-04-18 05:44:46 +08:00
Merge pull request #941 from CoolCoolTomato/main
fix: 修复gpt-5.2以上模型映射到gpt-5.2以下时verbosity参数引发的报错
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package service
|
package service
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -226,6 +227,29 @@ func normalizeCodexModel(model string) string {
|
|||||||
return "gpt-5.1"
|
return "gpt-5.1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SupportsVerbosity(model string) bool {
|
||||||
|
if !strings.HasPrefix(model, "gpt-") {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
var major, minor int
|
||||||
|
n, _ := fmt.Sscanf(model, "gpt-%d.%d", &major, &minor)
|
||||||
|
|
||||||
|
if major > 5 {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if major < 5 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
// gpt-5
|
||||||
|
if n == 1 {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return minor >= 3
|
||||||
|
}
|
||||||
|
|
||||||
func getNormalizedCodexModel(modelID string) string {
|
func getNormalizedCodexModel(modelID string) string {
|
||||||
if modelID == "" {
|
if modelID == "" {
|
||||||
return ""
|
return ""
|
||||||
|
|||||||
@@ -1767,6 +1767,14 @@ func (s *OpenAIGatewayService) Forward(ctx context.Context, c *gin.Context, acco
|
|||||||
bodyModified = true
|
bodyModified = true
|
||||||
markPatchSet("model", normalizedModel)
|
markPatchSet("model", normalizedModel)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 移除 gpt-5.2-codex 以下的版本 verbosity 参数
|
||||||
|
// 确保高版本模型向低版本模型映射不报错
|
||||||
|
if !SupportsVerbosity(normalizedModel) {
|
||||||
|
if text, ok := reqBody["text"].(map[string]any); ok {
|
||||||
|
delete(text, "verbosity")
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 规范化 reasoning.effort 参数(minimal -> none),与上游允许值对齐。
|
// 规范化 reasoning.effort 参数(minimal -> none),与上游允许值对齐。
|
||||||
|
|||||||
Reference in New Issue
Block a user