Spaces:
Build error
Build error
| package model_setting | |
| import ( | |
| "one-api/setting/config" | |
| ) | |
| // GeminiSettings 定义Gemini模型的配置 | |
| type GeminiSettings struct { | |
| SafetySettings map[string]string `json:"safety_settings"` | |
| VersionSettings map[string]string `json:"version_settings"` | |
| SupportedImagineModels []string `json:"supported_imagine_models"` | |
| ThinkingAdapterEnabled bool `json:"thinking_adapter_enabled"` | |
| ThinkingAdapterBudgetTokensPercentage float64 `json:"thinking_adapter_budget_tokens_percentage"` | |
| } | |
| // 默认配置 | |
| var defaultGeminiSettings = GeminiSettings{ | |
| SafetySettings: map[string]string{ | |
| "default": "OFF", | |
| "HARM_CATEGORY_CIVIC_INTEGRITY": "BLOCK_NONE", | |
| }, | |
| VersionSettings: map[string]string{ | |
| "default": "v1beta", | |
| "gemini-1.0-pro": "v1", | |
| }, | |
| SupportedImagineModels: []string{ | |
| "gemini-2.0-flash-exp-image-generation", | |
| "gemini-2.0-flash-exp", | |
| }, | |
| ThinkingAdapterEnabled: false, | |
| ThinkingAdapterBudgetTokensPercentage: 0.6, | |
| } | |
| // 全局实例 | |
| var geminiSettings = defaultGeminiSettings | |
| func init() { | |
| // 注册到全局配置管理器 | |
| config.GlobalConfig.Register("gemini", &geminiSettings) | |
| } | |
| // GetGeminiSettings 获取Gemini配置 | |
| func GetGeminiSettings() *GeminiSettings { | |
| return &geminiSettings | |
| } | |
| // GetGeminiSafetySetting 获取安全设置 | |
| func GetGeminiSafetySetting(key string) string { | |
| if value, ok := geminiSettings.SafetySettings[key]; ok { | |
| return value | |
| } | |
| return geminiSettings.SafetySettings["default"] | |
| } | |
| // GetGeminiVersionSetting 获取版本设置 | |
| func GetGeminiVersionSetting(key string) string { | |
| if value, ok := geminiSettings.VersionSettings[key]; ok { | |
| return value | |
| } | |
| return geminiSettings.VersionSettings["default"] | |
| } | |
| func IsGeminiModelSupportImagine(model string) bool { | |
| for _, v := range geminiSettings.SupportedImagineModels { | |
| if v == model { | |
| return true | |
| } | |
| } | |
| return false | |
| } | |