36 lines
1.4 KiB
Python
36 lines
1.4 KiB
Python
"""
|
||
场景优化模块的数据模型
|
||
"""
|
||
from typing import Optional, List
|
||
from pydantic import BaseModel, Field
|
||
|
||
|
||
# ==================== 请求模型 ====================
|
||
|
||
class ScenarioOptimizationRequest(BaseModel):
|
||
"""场景优化请求"""
|
||
existing_scenarios: List[dict] = Field(..., description="存量场景列表")
|
||
data_assets: List[dict] = Field(default_factory=list, description="数据资产列表")
|
||
company_info: Optional[dict] = Field(None, description="企业信息")
|
||
scenario_screenshots: Optional[List[str]] = Field(
|
||
default_factory=list,
|
||
description="场景截图列表(Base64 编码的图片数据)"
|
||
)
|
||
|
||
|
||
# ==================== 响应模型 ====================
|
||
|
||
class OptimizationSuggestion(BaseModel):
|
||
"""优化建议"""
|
||
scenario_name: str = Field(..., description="场景名称")
|
||
current_status: str = Field(..., description="当前状态")
|
||
suggestions: List[str] = Field(..., description="建议列表")
|
||
potential_value: str = Field(..., description="潜在价值")
|
||
|
||
|
||
class ScenarioOptimizationResponse(BaseModel):
|
||
"""场景优化响应"""
|
||
optimization_suggestions: List[OptimizationSuggestion] = Field(..., description="优化建议列表")
|
||
generation_time: float = Field(..., ge=0, description="生成耗时(秒)")
|
||
model_used: str = Field(..., description="使用的大模型")
|