From 796be42487edbc2a7d42a8a309405b8bea76e8eb Mon Sep 17 00:00:00 2001 From: JustSong Date: Sun, 10 Mar 2024 19:29:42 +0800 Subject: [PATCH] feat: update ratio config if missing --- common/model-ratio.go | 20 ++++++++++++++++++++ main.go | 2 -- model/option.go | 3 +++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/common/model-ratio.go b/common/model-ratio.go index 9ff18ec2..5b0a759b 100644 --- a/common/model-ratio.go +++ b/common/model-ratio.go @@ -148,6 +148,26 @@ func init() { } } +func AddNewMissingRatio(oldRatio string) string { + newRatio := make(map[string]float64) + err := json.Unmarshal([]byte(oldRatio), &newRatio) + if err != nil { + logger.SysError("error unmarshalling old ratio: " + err.Error()) + return oldRatio + } + for k, v := range DefaultModelRatio { + if _, ok := newRatio[k]; !ok { + newRatio[k] = v + } + } + jsonBytes, err := json.Marshal(newRatio) + if err != nil { + logger.SysError("error marshalling new ratio: " + err.Error()) + return oldRatio + } + return string(jsonBytes) +} + func ModelRatio2JSONString() string { jsonBytes, err := json.Marshal(ModelRatio) if err != nil { diff --git a/main.go b/main.go index e9673118..96603066 100644 --- a/main.go +++ b/main.go @@ -9,7 +9,6 @@ import ( "github.com/songquanpeng/one-api/common" "github.com/songquanpeng/one-api/common/config" "github.com/songquanpeng/one-api/common/logger" - "github.com/songquanpeng/one-api/common/message" "github.com/songquanpeng/one-api/controller" "github.com/songquanpeng/one-api/middleware" "github.com/songquanpeng/one-api/model" @@ -88,7 +87,6 @@ func main() { logger.SysLog("metric enabled, will disable channel if too much request failed") } openai.InitTokenEncoders() - _ = message.SendMessage("One API", "", fmt.Sprintf("One API %s started", common.Version)) // Initialize HTTP server server := gin.New() diff --git a/model/option.go b/model/option.go index f58a9ca3..e129b9f0 100644 --- a/model/option.go +++ b/model/option.go @@ -81,6 +81,9 @@ func InitOptionMap() { func loadOptionsFromDatabase() { options, _ := AllOption() for _, option := range options { + if option.Key == "ModelRatio" { + option.Value = common.AddNewMissingRatio(option.Value) + } err := updateOptionMap(option.Key, option.Value) if err != nil { logger.SysError("failed to update option map: " + err.Error())