jack 1 month ago
parent
commit
7bca64f98b
1 changed files with 6 additions and 6 deletions
  1. 6 6
      app/models/run.py

+ 6 - 6
app/models/run.py

@@ -1,5 +1,5 @@
 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
 
@@ -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):
@@ -116,7 +116,7 @@ class RunBase(BaseModel):
     top_p: Optional[float] = Field(default=None)  # top_p
     # parallel_tool_calls: bool = Field(default=False)  # parallel_tool_calls
     # 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)
     # )
 
@@ -157,7 +157,7 @@ class RunCreate(BaseModel):
     top_p: Optional[float] = Field(default=None)  # top_p
     # parallel_tool_calls: bool = Field(default=False)  # parallel_tool_calls
     # 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)
     # )