Merge pull request #7920 from envision3d/ollama-structured-output

feat: pass structured output format through to ollama
This commit is contained in:
Timothy Jaeryang Baek
2024-12-17 13:37:24 -08:00
committed by GitHub
2 changed files with 4 additions and 1 deletions

View File

@@ -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

View File

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