|
@@ -30,20 +30,24 @@ class ChatRequest(BaseModel):
|
|
|
|
|
|
|
|
class ImageChatRequest(BaseModel):
|
|
class ImageChatRequest(BaseModel):
|
|
|
"""图片对话请求:base64 图片"""
|
|
"""图片对话请求:base64 图片"""
|
|
|
- image_base64: str = Field(..., min_length=1, description="Base64 编码的图片")
|
|
|
|
|
- mime_type: str = Field(default="image/jpeg", description="图片 MIME 类型")
|
|
|
|
|
|
|
+ model_config = {"populate_by_name": True}
|
|
|
|
|
+
|
|
|
|
|
+ image_base64: str = Field(..., min_length=1, alias="imageBase64", description="Base64 编码的图片")
|
|
|
|
|
+ mime_type: str = Field(default="image/jpeg", alias="mimeType", description="图片 MIME 类型")
|
|
|
message: str = Field(default="", max_length=2000, description="可选的附加文字问题")
|
|
message: str = Field(default="", max_length=2000, description="可选的附加文字问题")
|
|
|
- conversation_id: str = Field(default_factory=lambda: str(uuid.uuid4()))
|
|
|
|
|
|
|
+ conversation_id: str = Field(default_factory=lambda: str(uuid.uuid4()), alias="conversationId")
|
|
|
|
|
|
|
|
|
|
|
|
|
class MultimodalChatRequest(BaseModel):
|
|
class MultimodalChatRequest(BaseModel):
|
|
|
"""统一多模态对话请求:支持文本 + 图片 + 视频"""
|
|
"""统一多模态对话请求:支持文本 + 图片 + 视频"""
|
|
|
|
|
+ model_config = {"populate_by_name": True}
|
|
|
|
|
+
|
|
|
message: str = Field(default="", max_length=2000, description="文字问题(可选)")
|
|
message: str = Field(default="", max_length=2000, description="文字问题(可选)")
|
|
|
# 媒体附件(图片和视频二选一或都不传,纯文本也可以)
|
|
# 媒体附件(图片和视频二选一或都不传,纯文本也可以)
|
|
|
- media_type: str = Field(default="", description="媒体类型: image / video / 空=纯文本")
|
|
|
|
|
- media_base64: str = Field(default="", description="Base64 编码的图片或视频")
|
|
|
|
|
- media_mime: str = Field(default="", description="媒体 MIME 类型,如 image/jpeg, video/mp4")
|
|
|
|
|
- conversation_id: str = Field(default_factory=lambda: str(uuid.uuid4()))
|
|
|
|
|
|
|
+ media_type: str = Field(default="", alias="mediaType", description="媒体类型: image / video / 空=纯文本")
|
|
|
|
|
+ media_base64: str = Field(default="", alias="mediaBase64", description="Base64 编码的图片或视频")
|
|
|
|
|
+ media_mime: str = Field(default="", alias="mediaMime", description="媒体 MIME 类型,如 image/jpeg, video/mp4")
|
|
|
|
|
+ conversation_id: str = Field(default_factory=lambda: str(uuid.uuid4()), alias="conversationId")
|
|
|
|
|
|
|
|
|
|
|
|
|
class ChatResponse(BaseModel):
|
|
class ChatResponse(BaseModel):
|