Spaces:
Build error
Build error
| package model_setting | |
| import ( | |
| "net/http" | |
| "one-api/setting/config" | |
| ) | |
| //var claudeHeadersSettings = map[string][]string{} | |
| // | |
| //var ClaudeThinkingAdapterEnabled = true | |
| //var ClaudeThinkingAdapterMaxTokens = 8192 | |
| //var ClaudeThinkingAdapterBudgetTokensPercentage = 0.8 | |
| // ClaudeSettings 定义Claude模型的配置 | |
| type ClaudeSettings struct { | |
| HeadersSettings map[string]map[string][]string `json:"model_headers_settings"` | |
| DefaultMaxTokens map[string]int `json:"default_max_tokens"` | |
| ThinkingAdapterEnabled bool `json:"thinking_adapter_enabled"` | |
| ThinkingAdapterBudgetTokensPercentage float64 `json:"thinking_adapter_budget_tokens_percentage"` | |
| } | |
| // 默认配置 | |
| var defaultClaudeSettings = ClaudeSettings{ | |
| HeadersSettings: map[string]map[string][]string{}, | |
| ThinkingAdapterEnabled: true, | |
| DefaultMaxTokens: map[string]int{ | |
| "default": 8192, | |
| }, | |
| ThinkingAdapterBudgetTokensPercentage: 0.8, | |
| } | |
| // 全局实例 | |
| var claudeSettings = defaultClaudeSettings | |
| func init() { | |
| // 注册到全局配置管理器 | |
| config.GlobalConfig.Register("claude", &claudeSettings) | |
| } | |
| // GetClaudeSettings 获取Claude配置 | |
| func GetClaudeSettings() *ClaudeSettings { | |
| // check default max tokens must have default key | |
| if _, ok := claudeSettings.DefaultMaxTokens["default"]; !ok { | |
| claudeSettings.DefaultMaxTokens["default"] = 8192 | |
| } | |
| return &claudeSettings | |
| } | |
| func (c *ClaudeSettings) WriteHeaders(originModel string, httpHeader *http.Header) { | |
| if headers, ok := c.HeadersSettings[originModel]; ok { | |
| for headerKey, headerValues := range headers { | |
| httpHeader.Del(headerKey) | |
| for _, headerValue := range headerValues { | |
| httpHeader.Add(headerKey, headerValue) | |
| } | |
| } | |
| } | |
| } | |
| func (c *ClaudeSettings) GetDefaultMaxTokens(model string) int { | |
| if maxTokens, ok := c.DefaultMaxTokens[model]; ok { | |
| return maxTokens | |
| } | |
| return c.DefaultMaxTokens["default"] | |
| } | |