Unverified Commit c0110cb5 authored by Wesley Liddick's avatar Wesley Liddick Committed by GitHub
Browse files

Merge pull request #941 from CoolCoolTomato/main

fix: 修复gpt-5.2以上模型映射到gpt-5.2以下时verbosity参数引发的报错
parents 1f8e1142 eb0b77bf
package service package service
import ( import (
"fmt"
"strings" "strings"
) )
...@@ -226,6 +227,29 @@ func normalizeCodexModel(model string) string { ...@@ -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 ...@@ -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),与上游允许值对齐。
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment