diff --git a/config.json.example b/config.json.example index 35c6499..8c17fe5 100644 --- a/config.json.example +++ b/config.json.example @@ -13,6 +13,7 @@ "chat_api_organization": "", "chat_api_project": "", "chat_max_tokens": 4096, + "chat_top_p": 1.0, "chat_model_default": "gpt-4o", "chat_model_map": {}, "chat_locale": "zh_CN", diff --git a/main.go b/main.go index 6937120..a603928 100644 --- a/main.go +++ b/main.go @@ -42,6 +42,7 @@ type config struct { ChatApiOrganization string `json:"chat_api_organization"` ChatApiProject string `json:"chat_api_project"` ChatMaxTokens int `json:"chat_max_tokens"` + ChatTopP float64 `json:chat_top_p` ChatModelDefault string `json:"chat_model_default"` ChatModelMap map[string]string `json:"chat_model_map"` ChatLocale string `json:"chat_locale"` @@ -108,6 +109,10 @@ func readConfig() *config { _cfg.ChatMaxTokens = 4096 } + if _cfg.ChatTopP <= 0 { + _cfg.ChatTopP = 0.9 + } + return _cfg } @@ -363,6 +368,8 @@ func (s *ProxyService) completions(c *gin.Context) { body, _ = sjson.SetBytes(body, "max_tokens", s.cfg.ChatMaxTokens) } + body, _ = sjson.SetBytes(body, "top_p", s.cfg.ChatTopP) + proxyUrl := s.cfg.ChatApiBase + "/chat/completions" req, err := http.NewRequestWithContext(ctx, http.MethodPost, proxyUrl, io.NopCloser(bytes.NewBuffer(body))) if nil != err {