Browse Source

feat: pass structured output format through to ollama

envision3d 4 tháng trước cách đây
mục cha
commit
16d900247a

+ 1 - 1
backend/open_webui/routers/ollama.py

@@ -917,7 +917,7 @@ class ChatMessage(BaseModel):
 class GenerateChatCompletionForm(BaseModel):
     model: str
     messages: list[ChatMessage]
-    format: Optional[str] = None
+    format: Optional[dict] = None
     options: Optional[dict] = None
     template: Optional[str] = None
     stream: Optional[bool] = True

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

@@ -154,6 +154,9 @@ def convert_payload_openai_to_ollama(openai_payload: dict) -> dict:
     )
     ollama_payload["stream"] = openai_payload.get("stream", False)
 
+    if "format" in openai_payload:
+        ollama_payload["format"] = openai_payload["format"]
+
     # If there are advanced parameters in the payload, format them in Ollama's options field
     ollama_options = {}