feat: Add Gemini version settings configuration support (close #568)

This commit is contained in:
1808837298@qq.com
2025-02-26 18:19:09 +08:00
parent e19b244e73
commit bf80d71ddf
9 changed files with 98 additions and 39 deletions

View File

@@ -1,4 +1,4 @@
package setting
package model_setting
import (
"encoding/json"
@@ -43,3 +43,41 @@ func GeminiSafetySettingsJsonString() string {
}
return string(jsonString)
}
var geminiVersionSettings = map[string]string{
"default": "v1beta",
"gemini-1.0-pro": "v1",
}
func GetGeminiVersionSetting(key string) string {
if value, ok := geminiVersionSettings[key]; ok {
return value
}
return geminiVersionSettings["default"]
}
func GeminiVersionSettingFromJsonString(jsonString string) {
geminiVersionSettings = map[string]string{}
err := json.Unmarshal([]byte(jsonString), &geminiVersionSettings)
if err != nil {
geminiVersionSettings = map[string]string{
"default": "v1beta",
}
}
// check must have default
if _, ok := geminiVersionSettings["default"]; !ok {
geminiVersionSettings["default"] = "v1beta"
}
}
func GeminiVersionSettingsJsonString() string {
// check must have default
if _, ok := geminiVersionSettings["default"]; !ok {
geminiVersionSettings["default"] = "v1beta"
}
jsonString, err := json.Marshal(geminiVersionSettings)
if err != nil {
return "{}"
}
return string(jsonString)
}