| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- 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
- }
|