mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-02-03 04:50:52 +08:00
fix(translator): accept camelCase thinking config in OpenAI→Gemini
This commit is contained in:
@@ -65,17 +65,23 @@ func ConvertOpenAIRequestToGeminiCLI(modelName string, inputRawJSON []byte, _ bo
|
|||||||
if tc := gjson.GetBytes(rawJSON, "extra_body.google.thinking_config"); tc.Exists() && tc.IsObject() {
|
if tc := gjson.GetBytes(rawJSON, "extra_body.google.thinking_config"); tc.Exists() && tc.IsObject() {
|
||||||
var setBudget bool
|
var setBudget bool
|
||||||
var normalized int
|
var normalized int
|
||||||
if v := tc.Get("thinking_budget"); v.Exists() {
|
|
||||||
|
if v := tc.Get("thinkingBudget"); v.Exists() {
|
||||||
|
normalized = util.NormalizeThinkingBudget(modelName, int(v.Int()))
|
||||||
|
out, _ = sjson.SetBytes(out, "request.generationConfig.thinkingConfig.thinkingBudget", normalized)
|
||||||
|
setBudget = true
|
||||||
|
} else if v := tc.Get("thinking_budget"); v.Exists() {
|
||||||
normalized = util.NormalizeThinkingBudget(modelName, int(v.Int()))
|
normalized = util.NormalizeThinkingBudget(modelName, int(v.Int()))
|
||||||
out, _ = sjson.SetBytes(out, "request.generationConfig.thinkingConfig.thinkingBudget", normalized)
|
out, _ = sjson.SetBytes(out, "request.generationConfig.thinkingConfig.thinkingBudget", normalized)
|
||||||
setBudget = true
|
setBudget = true
|
||||||
}
|
}
|
||||||
if v := tc.Get("include_thoughts"); v.Exists() {
|
|
||||||
|
if v := tc.Get("includeThoughts"); v.Exists() {
|
||||||
out, _ = sjson.SetBytes(out, "request.generationConfig.thinkingConfig.include_thoughts", v.Bool())
|
out, _ = sjson.SetBytes(out, "request.generationConfig.thinkingConfig.include_thoughts", v.Bool())
|
||||||
} else if setBudget {
|
} else if v := tc.Get("include_thoughts"); v.Exists() {
|
||||||
if normalized != 0 {
|
out, _ = sjson.SetBytes(out, "request.generationConfig.thinkingConfig.include_thoughts", v.Bool())
|
||||||
out, _ = sjson.SetBytes(out, "request.generationConfig.thinkingConfig.include_thoughts", true)
|
} else if setBudget && normalized != 0 {
|
||||||
}
|
out, _ = sjson.SetBytes(out, "request.generationConfig.thinkingConfig.include_thoughts", true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,18 +65,23 @@ func ConvertOpenAIRequestToGemini(modelName string, inputRawJSON []byte, _ bool)
|
|||||||
if tc := gjson.GetBytes(rawJSON, "extra_body.google.thinking_config"); tc.Exists() && tc.IsObject() {
|
if tc := gjson.GetBytes(rawJSON, "extra_body.google.thinking_config"); tc.Exists() && tc.IsObject() {
|
||||||
var setBudget bool
|
var setBudget bool
|
||||||
var normalized int
|
var normalized int
|
||||||
if v := tc.Get("thinking_budget"); v.Exists() {
|
|
||||||
// Normalize budget to model range
|
if v := tc.Get("thinkingBudget"); v.Exists() {
|
||||||
|
normalized = util.NormalizeThinkingBudget(modelName, int(v.Int()))
|
||||||
|
out, _ = sjson.SetBytes(out, "generationConfig.thinkingConfig.thinkingBudget", normalized)
|
||||||
|
setBudget = true
|
||||||
|
} else if v := tc.Get("thinking_budget"); v.Exists() {
|
||||||
normalized = util.NormalizeThinkingBudget(modelName, int(v.Int()))
|
normalized = util.NormalizeThinkingBudget(modelName, int(v.Int()))
|
||||||
out, _ = sjson.SetBytes(out, "generationConfig.thinkingConfig.thinkingBudget", normalized)
|
out, _ = sjson.SetBytes(out, "generationConfig.thinkingConfig.thinkingBudget", normalized)
|
||||||
setBudget = true
|
setBudget = true
|
||||||
}
|
}
|
||||||
if v := tc.Get("include_thoughts"); v.Exists() {
|
|
||||||
|
if v := tc.Get("includeThoughts"); v.Exists() {
|
||||||
out, _ = sjson.SetBytes(out, "generationConfig.thinkingConfig.include_thoughts", v.Bool())
|
out, _ = sjson.SetBytes(out, "generationConfig.thinkingConfig.include_thoughts", v.Bool())
|
||||||
} else if setBudget {
|
} else if v := tc.Get("include_thoughts"); v.Exists() {
|
||||||
if normalized != 0 {
|
out, _ = sjson.SetBytes(out, "generationConfig.thinkingConfig.include_thoughts", v.Bool())
|
||||||
out, _ = sjson.SetBytes(out, "generationConfig.thinkingConfig.include_thoughts", true)
|
} else if setBudget && normalized != 0 {
|
||||||
}
|
out, _ = sjson.SetBytes(out, "generationConfig.thinkingConfig.include_thoughts", true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user