model_setting.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package setting
  2. import (
  3. "encoding/json"
  4. "one-api/common"
  5. )
  6. var geminiSafetySettings = map[string]string{
  7. "default": "OFF",
  8. "HARM_CATEGORY_CIVIC_INTEGRITY": "BLOCK_NONE",
  9. }
  10. func GetGeminiSafetySetting(key string) string {
  11. if value, ok := geminiSafetySettings[key]; ok {
  12. return value
  13. }
  14. return geminiSafetySettings["default"]
  15. }
  16. func GeminiSafetySettingFromJsonString(jsonString string) {
  17. geminiSafetySettings = map[string]string{}
  18. err := json.Unmarshal([]byte(jsonString), &geminiSafetySettings)
  19. if err != nil {
  20. geminiSafetySettings = map[string]string{
  21. "default": "OFF",
  22. "HARM_CATEGORY_CIVIC_INTEGRITY": "BLOCK_NONE",
  23. }
  24. }
  25. // check must have default
  26. if _, ok := geminiSafetySettings["default"]; !ok {
  27. geminiSafetySettings["default"] = common.GeminiSafetySetting
  28. }
  29. }
  30. func GeminiSafetySettingsJsonString() string {
  31. // check must have default
  32. if _, ok := geminiSafetySettings["default"]; !ok {
  33. geminiSafetySettings["default"] = common.GeminiSafetySetting
  34. }
  35. jsonString, err := json.Marshal(geminiSafetySettings)
  36. if err != nil {
  37. return "{}"
  38. }
  39. return string(jsonString)
  40. }