| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- # -*- coding: utf-8 -*-
- """
- 配风计划审查接口 —— PDF 上传 + SSE 流式
- """
- from fastapi import APIRouter, File, Form, UploadFile
- from fastapi.responses import StreamingResponse
- from agents.review_agent import stream_review
- router = APIRouter()
- @router.post("/vent/review/pdf")
- async def api_review(
- file: UploadFile = File(),
- session_id: str | None = Form(default=None),
- message: str | None = Form(default=None),
- force_refresh: bool = Form(default=False),
- ):
- """配风计划审查接口(SSE 流式)
- 用户上传配风计划 PDF 文件,系统自动进行审查:
- 1. 基本形式审查(版本、签字、编制时间、计算过程完整性、语病逻辑)
- 2. 数据一致性审查(用风地点完整性、瓦斯/CO2一致性、工作面参数、风速温度匹配)
- 3. 计算核验过程(逐地点核验需风量计算)
- 3个子智能体并行审查,结果汇总后流式返回。
- 请求体: multipart/form-data
- - file: PDF 文件
- - session_id: 可选,会话ID
- - message: 可选,附加消息
- - force_refresh: 可选,是否强制重新提取(忽略缓存),默认 False
- 响应: SSE 流(text/event-stream)
- """
- return StreamingResponse(
- stream_review(file, message, session_id, force_refresh),
- media_type="text/event-stream",
- headers={
- "Cache-Control": "no-cache",
- "Connection": "keep-alive",
- "X-Accel-Buffering": "no",
- "X-Session-Id": session_id or "",
- },
- )
|