Files
000-platform/backend/app/schemas/stats.py
111 daa8125c58
All checks were successful
continuous-integration/drone/push Build is passing
Initial commit: 000-platform project skeleton
2026-01-23 14:32:09 +08:00

43 lines
1.4 KiB
Python

"""统计相关Schema"""
from datetime import datetime
from decimal import Decimal
from typing import Optional
from pydantic import BaseModel, Field
class AICallEventCreate(BaseModel):
"""AI调用事件上报"""
tenant_id: int = Field(..., description="租户ID")
user_id: Optional[int] = Field(None, description="用户ID")
app_code: str = Field(..., description="应用编码")
module_code: str = Field(..., description="模块编码")
trace_id: Optional[str] = Field(None, description="链路追踪ID")
prompt_name: str = Field(..., description="Prompt名称")
model: str = Field(..., description="模型名称")
input_tokens: int = Field(0, description="输入token")
output_tokens: int = Field(0, description="输出token")
cost: Decimal = Field(Decimal("0"), description="成本")
latency_ms: int = Field(0, description="延迟(ms)")
status: str = Field("success", description="状态")
event_time: datetime = Field(..., description="事件时间")
class AICallEventResponse(BaseModel):
"""AI调用事件响应"""
id: int
tenant_id: int
app_code: str
prompt_name: str
model: str
input_tokens: int
output_tokens: int
event_time: datetime
class Config:
from_attributes = True
class BatchReportRequest(BaseModel):
"""批量上报请求"""
events: list[AICallEventCreate]