mirror of
https://github.com/open-webui/open-webui
synced 2024-12-29 15:25:29 +00:00
Merge pull request #7920 from envision3d/ollama-structured-output
feat: pass structured output format through to ollama
This commit is contained in:
commit
a14c06fa0b
@ -917,7 +917,7 @@ class ChatMessage(BaseModel):
|
|||||||
class GenerateChatCompletionForm(BaseModel):
|
class GenerateChatCompletionForm(BaseModel):
|
||||||
model: str
|
model: str
|
||||||
messages: list[ChatMessage]
|
messages: list[ChatMessage]
|
||||||
format: Optional[str] = None
|
format: Optional[dict] = None
|
||||||
options: Optional[dict] = None
|
options: Optional[dict] = None
|
||||||
template: Optional[str] = None
|
template: Optional[str] = None
|
||||||
stream: Optional[bool] = True
|
stream: Optional[bool] = True
|
||||||
|
@ -154,6 +154,9 @@ def convert_payload_openai_to_ollama(openai_payload: dict) -> dict:
|
|||||||
)
|
)
|
||||||
ollama_payload["stream"] = openai_payload.get("stream", False)
|
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
|
# If there are advanced parameters in the payload, format them in Ollama's options field
|
||||||
ollama_options = {}
|
ollama_options = {}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user