|
@@ -1,5 +1,5 @@
|
|
from datetime import datetime
|
|
from datetime import datetime
|
|
-from typing import Optional, Any, Iterable, Dict, List, Union
|
|
|
|
|
|
+from typing import Optional, Any, Iterable, Dict, List, Union, Literal
|
|
|
|
|
|
from pydantic import Field as PDField
|
|
from pydantic import Field as PDField
|
|
|
|
|
|
@@ -52,9 +52,9 @@ class ChatCompletionAudioParam(BaseModel):
|
|
"""
|
|
"""
|
|
|
|
|
|
|
|
|
|
-class ChatCompletionModality(Enum):
|
|
|
|
- text = "text"
|
|
|
|
- audio = "audio"
|
|
|
|
|
|
+class ChatCompletionModality(BaseModel):
|
|
|
|
+ text = str = Field(sa_column=Column(Enum("text"), nullable=False))
|
|
|
|
+ audio = str = Field(sa_column=Column(Enum("audio"), nullable=False))
|
|
|
|
|
|
|
|
|
|
class RunBase(BaseModel):
|
|
class RunBase(BaseModel):
|
|
@@ -116,7 +116,7 @@ class RunBase(BaseModel):
|
|
top_p: Optional[float] = Field(default=None) # top_p
|
|
top_p: Optional[float] = Field(default=None) # top_p
|
|
# parallel_tool_calls: bool = Field(default=False) # parallel_tool_calls
|
|
# parallel_tool_calls: bool = Field(default=False) # parallel_tool_calls
|
|
# audio: Optional[ChatCompletionAudioParam] = Field(default=None) # audio
|
|
# audio: Optional[ChatCompletionAudioParam] = Field(default=None) # audio
|
|
- # modalities: Optional[List[ChatCompletionModality]] = Field(
|
|
|
|
|
|
+ # modalities: Optional[List[Literal["text", "audio"]]] = Field(
|
|
# default=None, sa_column=Column(JSON)
|
|
# default=None, sa_column=Column(JSON)
|
|
# )
|
|
# )
|
|
|
|
|
|
@@ -157,7 +157,7 @@ class RunCreate(BaseModel):
|
|
top_p: Optional[float] = Field(default=None) # top_p
|
|
top_p: Optional[float] = Field(default=None) # top_p
|
|
# parallel_tool_calls: bool = Field(default=False) # parallel_tool_calls
|
|
# parallel_tool_calls: bool = Field(default=False) # parallel_tool_calls
|
|
# audio: Optional[ChatCompletionAudioParam] = Field(default=None) # audio
|
|
# audio: Optional[ChatCompletionAudioParam] = Field(default=None) # audio
|
|
- # modalities: Optional[List[ChatCompletionModality]] = Field(
|
|
|
|
|
|
+ # modalities: Optional[List[Literal["text", "audio"]]] = Field(
|
|
# default=None, sa_column=Column(JSON)
|
|
# default=None, sa_column=Column(JSON)
|
|
# )
|
|
# )
|
|
|
|
|