Explorar el Código

feat: pass structured output format through to ollama

envision3d hace 4 meses
padre
commit
16d900247a
Se han modificado 2 ficheros con 4 adiciones y 1 borrados
  1. 1 1
      backend/open_webui/routers/ollama.py
  2. 3 0
      backend/open_webui/utils/payload.py

+ 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 = {}