Browse Source

feat: read max_tokens from model config with fallback to 1000 for title and tag generation

Improves title and tag generation by using the max_tokens value from the model configuration when available, with a fallback to the previous default of 1000.

This change is necessary for models like Gemini Pro that generate longer responses and require a higher token limit to successfully generate titles or tags.
Athanasios Oikonomou 4 months ago
parent
commit
eabdd4a140
1 changed files with 6 additions and 2 deletions
  1. 6 2
      backend/open_webui/routers/tasks.py

+ 6 - 2
backend/open_webui/routers/tasks.py

@@ -192,15 +192,19 @@ async def generate_title(
         },
     )
 
+    max_tokens = (
+        models[task_model_id].get("info", {}).get("params", {}).get("max_tokens", 1000)
+    )
+
     payload = {
         "model": task_model_id,
         "messages": [{"role": "user", "content": content}],
         "stream": False,
         **(
-            {"max_tokens": 1000}
+            {"max_tokens": max_tokens}
             if models[task_model_id].get("owned_by") == "ollama"
             else {
-                "max_completion_tokens": 1000,
+                "max_completion_tokens": max_tokens,
             }
         ),
         "metadata": {