| 123456789101112131415161718192021222324252627282930313233343536373839 |
- # -*- coding: utf-8 -*-
- """
- Pydantic 请求/响应模型 —— 通风数据解读 API
- """
- from pydantic import BaseModel, Field
- # ── 点选解读请求 ──
- class TunClickInterpretRequest(BaseModel):
- """点选解读请求"""
- tun_id: str = Field(..., description="巷道ID")
- tun_name: str = Field(..., description="巷道名称")
- mode: str = Field("plan", description="解读模式:plan(智能体+技能,默认)或 fast(直接生成报告)")
- class DeviceClickInterpretRequest(BaseModel):
- """点选解读请求"""
- device_id: str = Field(..., description="设备ID")
- device_name: str = Field(..., description="设备名称")
- device_type: str = Field(..., description="设备类型")
- mode: str = Field("plan", description="解读模式:plan(智能体+技能,默认)或 fast(直接生成报告)")
- # ── 对话请求/响应 ──
- class ChatRequest(BaseModel):
- """对话请求"""
- message: str = Field(..., description="用户消息")
- session_id: str | None = Field(None, description="会话ID,新会话可不传")
- thread_id: str | None = Field(None, description="LangGraph 线程ID,用于多轮对话状态恢复")
- class ChatHistoryResponse(BaseModel):
- """聊天历史响应"""
- session_id: str
- messages: list[dict]
- total: int
|