|
@@ -116,7 +116,9 @@ class RunCreate(BaseModel):
|
|
|
tool_choice: Optional[str] = Field(default=None) # 工具选择
|
|
|
temperature: Optional[float] = Field(default=None) # 温度
|
|
|
top_p: Optional[float] = Field(default=None) # top_p
|
|
|
- parallel_tool_calls: Optional[bool] = False # parallel_tool_calls
|
|
|
+ parallel_tool_calls: bool = Field(
|
|
|
+ default=False, nullable=False
|
|
|
+ ) # parallel_tool_calls
|
|
|
audio: Optional[dict] = Field(default=None, sa_column=Column(JSON)) # audio
|
|
|
modalities: Optional[List[Literal["text", "audio"]]] = Field(
|
|
|
default=None, sa_column=Column(JSON)
|
|
@@ -126,6 +128,10 @@ class RunCreate(BaseModel):
|
|
|
def model_validator(cls, data: Any):
|
|
|
extra_body = data.get("extra_body")
|
|
|
if extra_body:
|
|
|
+ # 取出并赋值
|
|
|
+ for key in ["parallel_tool_calls", "audio", "modalities"]:
|
|
|
+ if key in extra_body and extra_body[key] is not None:
|
|
|
+ data[key] = extra_body[key]
|
|
|
action_authentications = extra_body.get("action_authentications")
|
|
|
if action_authentications:
|
|
|
res = action_authentications.values()
|