From 592b34cff03feda92a8f5dd2dc541a7360b46719 Mon Sep 17 00:00:00 2001 From: Norbert Date: Mon, 23 Feb 2026 18:40:28 +0000 Subject: [PATCH] Fix: accept array content format in ChatMessage + add extra=allow, update .gitignore --- .gitignore | 4 ++++ app/models/openai_models.py | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2b91c72 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +venv/ +__pycache__/ +*.pyc +.env diff --git a/app/models/openai_models.py b/app/models/openai_models.py index 3dcc196..9af4308 100644 --- a/app/models/openai_models.py +++ b/app/models/openai_models.py @@ -9,9 +9,10 @@ from pydantic import BaseModel, Field # ============================================================================ class ChatMessage(BaseModel): + model_config = {"extra": "allow"} """A chat message in the conversation.""" role: Literal["system", "user", "assistant", "function", "tool", "developer"] - content: Optional[str] = None + content: Optional[Union[str, List[Dict[str, Any]]]] = None name: Optional[str] = None function_call: Optional[Dict[str, Any]] = None tool_calls: Optional[List[Dict[str, Any]]] = None @@ -81,7 +82,7 @@ class ChatCompletionResponse(BaseModel): class ChatCompletionChunkDelta(BaseModel): """Delta content in streaming response.""" role: Optional[str] = None - content: Optional[str] = None + content: Optional[Union[str, List[Dict[str, Any]]]] = None function_call: Optional[Dict[str, Any]] = None tool_calls: Optional[List[Dict[str, Any]]] = None