36 lines
640 B
Python
36 lines
640 B
Python
from enum import Enum
|
|
from pydantic import BaseModel
|
|
from typing import List
|
|
|
|
|
|
class Message(BaseModel):
|
|
role: str
|
|
content: str
|
|
|
|
|
|
class ChatRequest(BaseModel):
|
|
model: str
|
|
messages: List[Message]
|
|
|
|
|
|
class ModelType(str, Enum):
|
|
text = "text" # 文字对话
|
|
image = "image" # 文生图
|
|
audio = "audio" # 语音模型
|
|
reasoning = "reasoning" # 深度思考模型
|
|
|
|
|
|
class ModelInfo(BaseModel):
|
|
model_id: str
|
|
model_name: str
|
|
model_type: ModelType
|
|
|
|
|
|
class VendorModelList(BaseModel):
|
|
vendor: str
|
|
models: List[ModelInfo]
|
|
|
|
|
|
class VendorModelResponse(BaseModel):
|
|
data: List[VendorModelList]
|