Browse Source

enh: add presence_penalty parameter to openai

Serkan Sakar 1 month ago
parent
commit
d62353c140
2 changed files with 4 additions and 0 deletions
  1. 3 0
      backend/open_webui/utils/middleware.py
  2. 1 0
      backend/open_webui/utils/payload.py

+ 3 - 0
backend/open_webui/utils/middleware.py

@@ -672,6 +672,9 @@ def apply_params_to_form_data(form_data, model):
         if "frequency_penalty" in params and params["frequency_penalty"] is not None:
             form_data["frequency_penalty"] = params["frequency_penalty"]
 
+        if "presence_penalty" in params and params["presence_penalty"] is not None:
+            form_data["presence_penalty"] = params["presence_penalty"]
+
         if "reasoning_effort" in params and params["reasoning_effort"] is not None:
             form_data["reasoning_effort"] = params["reasoning_effort"]
 

+ 1 - 0
backend/open_webui/utils/payload.py

@@ -59,6 +59,7 @@ def apply_model_params_to_body_openai(params: dict, form_data: dict) -> dict:
         "top_p": float,
         "max_tokens": int,
         "frequency_penalty": float,
+        "presence_penalty": float,
         "reasoning_effort": str,
         "seed": lambda x: x,
         "stop": lambda x: [bytes(s, "utf-8").decode("unicode_escape") for s in x],