|
@@ -233,7 +233,11 @@ var (
|
|
|
modelRatioMapMutex = sync.RWMutex{}
|
|
modelRatioMapMutex = sync.RWMutex{}
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
-var CompletionRatio map[string]float64 = nil
|
|
|
|
|
|
|
+var (
|
|
|
|
|
+ CompletionRatio map[string]float64 = nil
|
|
|
|
|
+ CompletionRatioMutex = sync.RWMutex{}
|
|
|
|
|
+)
|
|
|
|
|
+
|
|
|
var defaultCompletionRatio = map[string]float64{
|
|
var defaultCompletionRatio = map[string]float64{
|
|
|
"gpt-4-gizmo-*": 2,
|
|
"gpt-4-gizmo-*": 2,
|
|
|
"gpt-4o-gizmo-*": 3,
|
|
"gpt-4o-gizmo-*": 3,
|
|
@@ -334,10 +338,17 @@ func GetDefaultModelRatioMap() map[string]float64 {
|
|
|
return defaultModelRatio
|
|
return defaultModelRatio
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-func CompletionRatio2JSONString() string {
|
|
|
|
|
|
|
+func GetCompletionRatioMap() map[string]float64 {
|
|
|
|
|
+ CompletionRatioMutex.Lock()
|
|
|
|
|
+ defer CompletionRatioMutex.Unlock()
|
|
|
if CompletionRatio == nil {
|
|
if CompletionRatio == nil {
|
|
|
CompletionRatio = defaultCompletionRatio
|
|
CompletionRatio = defaultCompletionRatio
|
|
|
}
|
|
}
|
|
|
|
|
+ return CompletionRatio
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func CompletionRatio2JSONString() string {
|
|
|
|
|
+ GetCompletionRatioMap()
|
|
|
jsonBytes, err := json.Marshal(CompletionRatio)
|
|
jsonBytes, err := json.Marshal(CompletionRatio)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
SysError("error marshalling completion ratio: " + err.Error())
|
|
SysError("error marshalling completion ratio: " + err.Error())
|
|
@@ -345,12 +356,9 @@ func CompletionRatio2JSONString() string {
|
|
|
return string(jsonBytes)
|
|
return string(jsonBytes)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-func UpdateCompletionRatioByJSONString(jsonStr string) error {
|
|
|
|
|
- CompletionRatio = make(map[string]float64)
|
|
|
|
|
- return json.Unmarshal([]byte(jsonStr), &CompletionRatio)
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
func GetCompletionRatio(name string) float64 {
|
|
func GetCompletionRatio(name string) float64 {
|
|
|
|
|
+ GetCompletionRatioMap()
|
|
|
|
|
+
|
|
|
if strings.Contains(name, "/") {
|
|
if strings.Contains(name, "/") {
|
|
|
if ratio, ok := CompletionRatio[name]; ok {
|
|
if ratio, ok := CompletionRatio[name]; ok {
|
|
|
return ratio
|
|
return ratio
|
|
@@ -476,10 +484,3 @@ func GetAudioCompletionRatio(name string) float64 {
|
|
|
}
|
|
}
|
|
|
return 2
|
|
return 2
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
-func GetCompletionRatioMap() map[string]float64 {
|
|
|
|
|
- if CompletionRatio == nil {
|
|
|
|
|
- CompletionRatio = defaultCompletionRatio
|
|
|
|
|
- }
|
|
|
|
|
- return CompletionRatio
|
|
|
|
|
-}
|
|
|