Fix: accept array content format in ChatMessage + add extra=allow, update .gitignore

This commit is contained in:
2026-02-23 18:40:28 +00:00
parent 15c650f942
commit 592b34cff0
2 changed files with 7 additions and 2 deletions

4
.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
venv/
__pycache__/
*.pyc
.env

View File

@@ -9,9 +9,10 @@ from pydantic import BaseModel, Field
# ============================================================================ # ============================================================================
class ChatMessage(BaseModel): class ChatMessage(BaseModel):
model_config = {"extra": "allow"}
"""A chat message in the conversation.""" """A chat message in the conversation."""
role: Literal["system", "user", "assistant", "function", "tool", "developer"] 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 name: Optional[str] = None
function_call: Optional[Dict[str, Any]] = None function_call: Optional[Dict[str, Any]] = None
tool_calls: Optional[List[Dict[str, Any]]] = None tool_calls: Optional[List[Dict[str, Any]]] = None
@@ -81,7 +82,7 @@ class ChatCompletionResponse(BaseModel):
class ChatCompletionChunkDelta(BaseModel): class ChatCompletionChunkDelta(BaseModel):
"""Delta content in streaming response.""" """Delta content in streaming response."""
role: Optional[str] = None role: Optional[str] = None
content: Optional[str] = None content: Optional[Union[str, List[Dict[str, Any]]]] = None
function_call: Optional[Dict[str, Any]] = None function_call: Optional[Dict[str, Any]] = None
tool_calls: Optional[List[Dict[str, Any]]] = None tool_calls: Optional[List[Dict[str, Any]]] = None