施工审查应用基础架构设计.md 80 KB

LQAgentPlatform 最终架构设计

版本: v3.0 更新日期: 2026-04-09 项目状态: 核心功能已实现,生产环境运行中 v2.0→v3.0 变更: 新增施工方案编写模块、脱敏模块、简化管道、标准匹配、LLM分类器v2、LLM链式客户端框架


最终架构设计图

┌─────────────────────────────────────────────────────────────────────────────────────┐
│                         LQAgentPlatform - 实际架构实现 (v2.0)                       │
├─────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                     │
│  ┌───────────────────────────────────────────────────────────────────────────────┐  │
│  │                           Server Layer (服务器层)                              │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  FastAPI Application (server/app.py)                                    │  │  │
│  │  │  • RouteManager - 路由管理                                               │  │  │
│  │  │  • CeleryWorkerManager - 异步任务管理                                     │  │  │
│  │  │  • ApplicationFactory - 应用工厂                                          │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  └───────────────────────────────────────────────────────────────────────────────┘  │
│                                        ▲                                            │
│                                        │ HTTP Request                                │
│                                        ▼                                            │
│  ┌───────────────────────────────────────────────────────────────────────────────┐  │
│  │                            Views Layer (视图层)                               │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  construction_review/ - 施工方案审查API ✅ (已实现)                        │  │  │
│  │  │  • file_upload.py - 文档上传接口                                          │  │  │
│  │  │  • launch_review.py - 启动审查接口                                        │  │  │
│  │  │  • review_results.py - 审查结果接口                                       │  │  │
│  │  │  • task_control.py - 任务控制接口                                         │  │  │
│  │  │  • desensitize_api.py - 脱敏API接口 🆕                                   │  │  │
│  │  │  • schemas/error_schemas.py - 错误模式定义                                │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  construction_write/ - 施工方案编写API ✅ (已实现) 🆕                     │  │  │
│  │  │  • outline_views.py - 大纲生成接口                                       │  │  │
│  │  │  • content_completion.py - 内容补全接口                                   │  │  │
│  │  │  • regenerate_views.py - 重新生成接口                                    │  │  │
│  │  │  • task_cancel_views.py - 任务取消接口                                   │  │  │
│  │  │  • similar_plan_recommend.py - 相似方案推荐接口                           │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  test_views.py - 测试接口                                                │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  └───────────────────────────────────────────────────────────────────────────────┘  │
│                                        ▲                                            │
│                                        │ 调用业务逻辑                                │
│                                        ▼                                            │
│  ┌───────────────────────────────────────────────────────────────────────────────┐  │
│  │                           Core Layer (核心业务层)                             │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  construction_review/ - 施工方案审查模块 ✅ (已实现)                       │  │  │
│  │  │  ┌─────────────────────────────────────────────────────────────────┐    │  │  │
│  │  │  │  workflows/ - 工作流层                                          │    │  │  │
│  │  │  │  • ai_review_workflow.py - AI审查工作流 (54KB, 核心)             │    │  │  │
│  │  │  │  • document_workflow.py - 文档处理工作流                         │    │  │  │
│  │  │  │  • report_workflow.py - 报告生成工作流                           │    │  │  │
│  │  │  │  • core_functions/ - 核心业务函数 🆕                             │    │  │  │
│  │  │  │  • types/ - 状态类型定义 (AIReviewState, TaskChainState) 🆕      │    │  │  │
│  │  │  └─────────────────────────────────────────────────────────────────┘    │  │  │
│  │  │  ┌─────────────────────────────────────────────────────────────────┐    │  │  │
│  │  │  │  component/ - 组件层                                            │    │  │  │
│  │  │  │  • ai_review_engine.py - AI审查引擎 (核心引擎)                   │    │  │  │
│  │  │  │  • document_processor.py - 文档处理器                            │    │  │  │
│  │  │  │  • report_generator.py - 报告生成器                              │    │  │  │
│  │  │  │  • outline_catalogue_matcher.py - 大纲目录匹配器 🆕               │    │  │  │
│  │  │  │  • constants.py - 常量定义 🆕                                   │    │  │  │
│  │  │  │  • check_completeness/ - 完整性检查组件                          │    │  │  │
│  │  │  │  • desensitize/ - 数据脱敏模块 🆕                                │    │  │  │
│  │  │  │    - engine.py, validator.py, dict_manager.py                   │    │  │  │
│  │  │  │    - model_client.py, remapper.py                               │    │  │  │
│  │  │  │    - processors/ (pii, geo, biz, financial)                     │    │  │  │
│  │  │  │  • doc_worker/ - 文档处理工作器                                  │    │  │  │
│  │  │  │    - classification/ (chunk, hierarchy, smart_local) 🆕         │    │  │  │
│  │  │  │    - pdf_worker/ (html_to_markdown) 🆕                          │    │  │  │
│  │  │  │    - config/ (StandardCategoryTable.csv, prompt.yaml)           │    │  │  │
│  │  │  │  • minimal_pipeline/ - 简化处理管道 🆕                            │    │  │  │
│  │  │  │    - ocr_processor.py, pdf_extractor.py                        │    │  │  │
│  │  │  │    - toc_builder.py, toc_detector.py                           │    │  │  │
│  │  │  │    - simple_processor.py, chunk_assembler.py                    │    │  │  │
│  │  │  │  • standard_matching/ - 标准匹配模块 🆕                          │    │  │  │
│  │  │  │    - standard_dao.py, standard_service.py                      │    │  │  │
│  │  │  │  • infrastructure/ - 基础设施组件                                │    │  │  │
│  │  │  │  • reviewers/ - 审查器集合                                       │    │  │  │
│  │  │  │    - base_reviewer.py - 基础审查器                               │    │  │  │
│  │  │  │    - completeness_reviewer.py - 完整性审查器                     │    │  │  │
│  │  │  │    - reference_basis_reviewer.py - 参考依据审查器               │    │  │  │
│  │  │  │    - standard_timeliness_reviewer.py - 标准时效性审查器 🆕       │    │  │  │
│  │  │  │    - timeliness_basis_reviewer.py - 时效性审查器                │    │  │  │
│  │  │  │    - timeliness_content_reviewer.py - 时效性内容审查器 🆕        │    │  │  │
│  │  │  │    - semantic_logic.py - 语义逻辑审查器                         │    │  │  │
│  │  │  │    - sensitive_word_check.py - 敏感词检查 🆕                    │    │  │  │
│  │  │  │    - utils/llm_content_classifier_v2/ - LLM分类器v2 🆕          │    │  │  │
│  │  │  │    - utils/llm_chain_client/ - LLM链式客户端框架 🆕             │    │  │  │
│  │  │  └─────────────────────────────────────────────────────────────────┘    │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  construction_write/ - 施工方案编写模块 ✅ (已实现) 🆕                    │  │  │
│  │  │  ┌─────────────────────────────────────────────────────────────────┐    │  │  │
│  │  │  │  component/                                                     │    │  │  │
│  │  │  │  • outline_generator.py - 大纲生成器                             │    │  │  │
│  │  │  │  • state_models.py - 状态模型                                   │    │  │  │
│  │  │  │  • prompt/ - 提示词配置                                         │    │  │  │
│  │  │  └─────────────────────────────────────────────────────────────────┘    │  │  │
│  │  │  ┌─────────────────────────────────────────────────────────────────┐    │  │  │
│  │  │  │  workflows/                                                     │    │  │  │
│  │  │  │  • agent.py - 编写智能体                                        │    │  │  │
│  │  │  │  • outline_workflow.py - 大纲工作流                              │    │  │  │
│  │  │  └─────────────────────────────────────────────────────────────────┘    │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  base/ - 基础组件 ✅ (已实现)                                           │  │  │
│  │  │  • progress_manager.py - 进度管理器                                     │  │  │
│  │  │  • workflow_manager.py - 工作流管理器                                   │  │  │
│  │  │  • sse_manager.py - SSE服务器推送事件管理器                             │  │  │
│  │  │  • redis_duplicate_checker.py - Redis去重检查器                         │  │  │
│  │  │  • task_models.py - 任务模型定义                                        │  │  │
│  │  │  • words_detect/ - 敏感词检测模块                                       │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  └───────────────────────────────────────────────────────────────────────────────┘  │
│                                        ▲                                            │
│                                        │ 调用基础设施                                │
│                                        ▼                                            │
│  ┌───────────────────────────────────────────────────────────────────────────────┐  │
│  │                        Foundation Layer (基础设施层)                           │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  ai/ - AI模块 ✅ (已实现)                                               │  │  │
│  │  │  ┌─────────────────────────────────────────────────────────────────┐    │  │  │
│  │  │  │  agent/ - AI智能体                                              │    │  │  │
│  │  │  │  • base_agent.py - 智能体基类                                    │    │  │  │
│  │  │  │  • test_agent.py - 测试智能体                                    │    │  │  │
│  │  │  │  • generate/ - 生成模块                                          │    │  │  │
│  │  │  │  • workflow/ - 工作流模块                                        │    │  │  │
│  │  │  └─────────────────────────────────────────────────────────────────┘    │  │  │
│  │  │  ┌─────────────────────────────────────────────────────────────────┐    │  │  │
│  │  │  │  models/ - 模型管理                                              │    │  │  │
│  │  │  │  • model_handler.py - 多模型管理器                               │    │  │  │
│  │  │  │  • rerank_model.py - 重排序模型                                  │    │  │  │
│  │  │  └─────────────────────────────────────────────────────────────────┘    │  │  │
│  │  │  ┌─────────────────────────────────────────────────────────────────┐    │  │  │
│  │  │  │  rag/ - RAG检索增强生成                                         │    │  │  │
│  │  │  │  • retrieval/ - 检索模块                                         │    │  │  │
│  │  │  │  • query_rewrite.py - 查询重写                                  │    │  │  │
│  │  │  │  • entities_enhance.py - 实体增强检索                            │    │  │  │
│  │  │  └─────────────────────────────────────────────────────────────────┘    │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  database/ - 数据库模块 ✅ (已实现)                                    │  │  │
│  │  │  ┌─────────────────────────────────────────────────────────────────┐    │  │  │
│  │  │  │  base/ - 数据库基础层                                            │    │  │  │
│  │  │  │  • kg/ - 知识图谱 (Neo4j)                                       │    │  │  │
│  │  │  │  • sql/ - SQL数据库 (MySQL/PostgreSQL)                          │    │  │  │
│  │  │  │  • vector/ - 向量数据库 (Milvus/PG Vector)                       │    │  │  │
│  │  │  └─────────────────────────────────────────────────────────────────┘    │  │  │
│  │  │  • models/ - 数据模型定义                                             │  │  │
│  │  │  • repositories/ - 数据访问层                                        │  │  │
│  │  │  • migrations/ - 数据库迁移                                           │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  infrastructure/ - 基础设施 ✅ (已实现)                                │  │  │
│  │  │  • cache/ - 缓存管理 (Redis)                                          │  │  │
│  │  │  • config/ - 配置管理 (config_handler)                                │  │  │
│  │  │  • messaging/ - 消息队列 (Celery)                                     │  │  │
│  │  │  • mysql/ - MySQL连接池                                              │  │  │
│  │  │  • tracing/ - 链路追踪                                                │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  observability/ - 可观测性 ✅ (已实现)                                │  │  │
│  │  │  • logger/ - 日志管理                                                 │  │  │
│  │  │  • metrics/ - 指标收集                                                │  │  │
│  │  │  • monitoring/ - 监控 (ai_trace_monitor.py, time_statistics.py)       │  │  │
│  │  │  • monitoring/rag/ - RAG监控 🆕                                       │  │  │
│  │  │  • cachefiles/ - 缓存文件管理 🆕                                      │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  schemas/ - 数据模式 ✅ (已实现)                                       │  │  │
│  │  │  utils/ - 工具函数 ✅ (已实现)                                         │  │  │
│  │  │  • common.py, redis_utils.py, yaml_utils.py, tool_utils.py            │  │  │
│  │  │  • md5.py - MD5工具 🆕                                                │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  └───────────────────────────────────────────────────────────────────────────────┘  │
│                                        ▲                                            │
│                                        │ 数据处理                                    │
│                                        ▼                                            │
│  ┌───────────────────────────────────────────────────────────────────────────────┐  │
│  │                      Data Pipeline Layer (数据管道层)                          │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  document/ - 文档处理 ✅ (部分实现)                                      │  │  │
│  │  │  • parsers/ - 文档解析器 (PDF, DOCX, OCR)                               │  │  │
│  │  │  • processors/ - 数据处理器                                             │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  RAG_recall/ - RAG检索 ✅ (已实现)                                      │  │  │
│  │  │  • rag_miluvs/ - Milvus RAG实现                                        │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  │  ┌─────────────────────────────────────────────────────────────────────────┐  │  │
│  │  │  milvus_inbound_script/ - Milvus入库脚本                                │  │  │
│  │  │  training_data/ - 训练数据处理                                          │  │  │
│  │  └─────────────────────────────────────────────────────────────────────────┘  │  │
│  └───────────────────────────────────────────────────────────────────────────────┘  │
│                                        ▲                                            │
│                                        │ 数据存储                                    │
│                                        ▼                                            │
│  ┌───────────────────────────────────────────────────────────────────────────────┐  │
│  │                    External Services (外部服务)                                │  │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐           │  │
│  │  │   MySQL     │  │   Milvus    │  │   Redis     │  │   Neo4j     │           │  │
│  │  │  关系数据库   │  │  向量数据库   │  │   缓存      │  │  知识图谱    │           │  │
│  │  └─────────────┘  └─────────────┘  └─────────────┘  └─────────────┘           │  │
│  │  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐                          │  │
│  │  │   AI Models │  │   MinerU    │  │   Langfuse  │                          │  │
│  │  │  本地/云端   │  │   OCR服务   │  │   监控系统   │                          │  │
│  │  └─────────────┘  └─────────────┘  └─────────────┘                          │  │
│  └───────────────────────────────────────────────────────────────────────────────┘  │
│                                                                                     │
└─────────────────────────────────────────────────────────────────────────────────────┘

实际目录结构

LQAgentPlatform/
├── server/                          # 服务器层 ✅
│   └── app.py                      # FastAPI应用入口
│
├── views/                           # 视图层 (API接口) ✅
│   ├── __init__.py                 # Lifespan管理(敏感词初始化、DB连接池)
│   ├── construction_review/         # 施工方案审查API ✅
│   │   ├── file_upload.py          # 文档上传接口
│   │   ├── launch_review.py        # 启动审查接口
│   │   ├── review_results.py       # 审查结果接口
│   │   ├── task_control.py         # 任务控制接口
│   │   ├── desensitize_api.py      # 脱敏API接口 🆕
│   │   └── schemas/
│   │       └── error_schemas.py    # 错误模式定义
│   ├── construction_write/          # 施工方案编写API ✅ 🆕
│   │   ├── outline_views.py        # 大纲生成接口
│   │   ├── content_completion.py   # 内容补全接口
│   │   ├── regenerate_views.py     # 重新生成接口
│   │   ├── task_cancel_views.py    # 任务取消接口
│   │   └── similar_plan_recommend.py # 相似方案推荐接口
│   └── test_views.py               # 测试接口
│
├── core/                            # 核心业务层 ✅
│   ├── base/                       # 基础组件 ✅
│   │   ├── progress_manager.py     # 进度管理器
│   │   ├── workflow_manager.py     # 工作流管理器
│   │   ├── sse_manager.py          # SSE推送管理
│   │   ├── redis_duplicate_checker.py  # Redis去重
│   │   ├── task_models.py          # 任务模型
│   │   └── words_detect/           # 敏感词检测
│   │
│   ├── construction_review/        # 施工方案审查模块 ✅
│   │   ├── workflows/              # 工作流层 ✅
│   │   │   ├── ai_review_workflow.py       # AI审查工作流 (核心)
│   │   │   ├── document_workflow.py        # 文档工作流
│   │   │   ├── report_workflow.py          # 报告工作流
│   │   │   ├── core_functions/             # 核心业务函数 🆕
│   │   │   │   └── ai_review_core_fun.py   # AI审查核心逻辑
│   │   │   └── types/                      # 状态类型 🆕
│   │   │       └── __init__.py             # AIReviewState, TaskChainState
│   │   │
│   │   └── component/              # 组件层 ✅
│   │       ├── ai_review_engine.py          # AI审查引擎 (核心)
│   │       ├── document_processor.py        # 文档处理器
│   │       ├── report_generator.py          # 报告生成器
│   │       ├── outline_catalogue_matcher.py # 大纲目录匹配器 🆕
│   │       ├── constants.py                 # 常量定义 🆕
│   │       │
│   │       ├── desensitize/                 # 数据脱敏模块 🆕
│   │       │   ├── engine.py                # 脱敏引擎核心
│   │       │   ├── validator.py             # 黑白名单校验
│   │       │   ├── dict_manager.py          # 脱敏词典管理
│   │       │   ├── model_client.py          # 本地LLM脱敏客户端
│   │       │   ├── remapper.py              # 审查结果反向映射
│   │       │   └── processors/              # 四维度处理器
│   │       │       ├── base_processor.py    # 基础处理器
│   │       │       ├── pii_processor.py     # 个人信息 (姓名/电话/身份证)
│   │       │       ├── geo_processor.py     # 地理位置 (桩号/位置/高程)
│   │       │       ├── biz_processor.py     # 业务信息 (公司/项目名称)
│   │       │       └── financial_processor.py # 财务信息 (金额/价格)
│   │       │
│   │       ├── doc_worker/                  # 文档处理工作器
│   │       │   ├── interfaces.py            # 数据接口/契约
│   │       │   ├── classification/          # 内容分类 🆕
│   │       │   │   ├── chunk_classifier.py  # 分块分类器
│   │       │   │   ├── hierarchy_classifier.py # 层级分类器
│   │       │   │   └── smart_local_classifier.py # 智能本地分类
│   │       │   ├── pdf_worker/              # PDF处理 🆕
│   │       │   │   └── html_to_markdown.py  # HTML转Markdown
│   │       │   ├── config/                  # 配置
│   │       │   │   ├── StandardCategoryTable.csv # 分类标准表
│   │       │   │   ├── prompt.yaml          # LLM提示词
│   │       │   │   └── config.yaml
│   │       │   ├── models/                  # 数据模型
│   │       │   │   ├── document_structure.py # 文档结构模型
│   │       │   │   └── converters.py        # 模型转换器
│   │       │   └── utils/
│   │       │       ├── text_split_support.py # 文本切分支持
│   │       │       └── prompt_loader.py     # 提示词加载
│   │       │
│   │       ├── minimal_pipeline/            # 简化处理管道 🆕
│   │       │   ├── simple_processor.py      # 简化处理器
│   │       │   ├── ocr_processor.py         # OCR处理(解耦模块)
│   │       │   ├── pdf_extractor.py         # PDF提取
│   │       │   ├── chunk_assembler.py       # 分块组装器
│   │       │   ├── catalog_reviewer.py      # 目录审查
│   │       │   ├── toc_builder.py           # 目录构建器
│   │       │   └── toc_detector.py          # 目录检测器
│   │       │
│   │       ├── standard_matching/           # 标准匹配模块 🆕
│   │       │   ├── standard_dao.py          # 标准数据访问
│   │       │   └── standard_service.py      # 标准匹配服务
│   │       │
│   │       ├── infrastructure/              # 基础设施组件
│   │       │   ├── milvus.py                # Milvus向量库客户端
│   │       │   ├── parent_tool.py           # 父块工具
│   │       │   └── relevance.py             # 相关性评分
│   │       │
│   │       ├── check_completeness/          # 完整性检查
│   │       │   └── components/
│   │       │       └── result_analyzer.py   # 结果分析器
│   │       │
│   │       ├── report/                      # 报告生成
│   │       │   └── prompt/
│   │       │       └── report_reviewers.yaml
│   │       │
│   │       └── reviewers/                   # 审查器集合 ✅
│   │           ├── base_reviewer.py         # 基础审查器
│   │           ├── completeness_reviewer.py # 完整性审查器
│   │           ├── reference_basis_reviewer.py # 参考依据审查
│   │           ├── standard_timeliness_reviewer.py # 标准时效性审查 🆕
│   │           ├── timeliness_basis_reviewer.py  # 时效性审查
│   │           ├── timeliness_content_reviewer.py # 时效性内容审查 🆕
│   │           ├── semantic_logic.py        # 语义逻辑审查
│   │           ├── sensitive_word_check.py  # 敏感词检查 🆕
│   │           ├── check_completeness/
│   │           │   └── components/
│   │           │       └── result_analyzer.py
│   │           ├── prompt/                  # 审查器提示词
│   │           │   ├── ai_suggestion.yaml
│   │           │   ├── basic_reviewers.yaml
│   │           │   ├── outline_reviewers.yaml
│   │           │   ├── query_extract.yaml
│   │           │   ├── rag_reviewers.yaml
│   │           │   ├── reference_basis_reviewer.yaml
│   │           │   ├── technical_reviewers.yaml
│   │           │   └── timeliness_basis_reviewer.yaml
│   │           ├── sensitive_words/         # 敏感词词典
│   │           └── utils/                   # 审查工具函数
│   │               ├── ac_automaton.py      # AC自动机
│   │               ├── directory_extraction.py
│   │               ├── llm_content_classifier_v2/ # LLM分类器v2 🆕
│   │               │   ├── main_classifier.py    # 主入口
│   │               │   ├── content_classifier.py # 核心分类逻辑
│   │               │   ├── category_loaders.py   # 分类加载器
│   │               │   ├── chunks_converter.py   # 分块转换
│   │               │   ├── models.py             # 数据模型
│   │               │   ├── prompt.py             # 分类提示词
│   │               │   └── embedding_client.py   # Embedding客户端
│   │               └── llm_chain_client/          # LLM链式客户端框架 🆕
│   │                   ├── bootstrap.py           # 客户端工厂
│   │                   ├── interfaces/            # 接口定义
│   │                   │   ├── chain_executor.py
│   │                   │   ├── llm_client.py
│   │                   │   └── prompt_loader.py
│   │                   ├── implementations/       # 实现
│   │                   │   ├── chains/async_chain_executor.py
│   │                   │   ├── clients/ (base, deepseek, doubao, gemini, qwen)
│   │                   │   └── loaders/yaml_prompt_loader.py
│   │                   └── orchestration/prompt_chain_processor.py
│   │
│   └── construction_write/          # 施工方案编写模块 ✅ 🆕
│       ├── component/
│       │   ├── outline_generator.py # 大纲生成器
│       │   ├── state_models.py      # 状态模型
│       │   └── prompt/
│       │       └── keyword_rules_3.json # 关键字规则
│       └── workflows/
│           ├── agent.py             # 编写智能体
│           └── outline_workflow.py  # 大纲工作流
│
├── foundation/                      # 基础设施层 ✅
│   ├── ai/                         # AI模块 ✅
│   │   ├── agent/                  # AI智能体
│   │   │   └── generate/           # 生成模块
│   │   │       └── model_generate.py
│   │   ├── models/                 # 模型管理 ✅
│   │   │   ├── model_handler.py    # 多模型管理器
│   │   │   ├── model_config_loader.py # 模型配置加载器 🆕
│   │   │   └── rerank_model.py     # 重排序模型
│   │   └── rag/                    # RAG检索增强 ✅
│   │       └── retrieval/          # 检索模块
│   │           ├── query_rewrite.py         # 查询重写
│   │           ├── retrieval.py             # 检索管理器
│   │           └── entities_enhance.py      # 实体增强检索
│   │
│   ├── database/                   # 数据库模块 ✅
│   │   ├── base/                   # 数据库基础层
│   │   │   ├── kg/                 # 知识图谱 (Neo4j)
│   │   │   ├── sql/                # SQL数据库 (MySQL/PostgreSQL)
│   │   │   └── vector/             # 向量数据库
│   │   ├── models/                 # 数据模型定义 ✅
│   │   ├── repositories/           # 数据访问层 ✅
│   │   └── migrations/             # 数据库迁移
│   │
│   ├── infrastructure/             # 基础设施 ✅
│   │   ├── cache/                  # 缓存管理 (Redis)
│   │   ├── config/                 # 配置管理 ✅
│   │   │   └── config.py           # config_handler
│   │   ├── messaging/              # 消息队列 (Celery) ✅
│   │   ├── mysql/                  # MySQL连接池 ✅
│   │   └── tracing/                # 链路追踪 ✅
│   │
│   ├── observability/              # 可观测性 ✅
│   │   ├── logger/                 # 日志管理
│   │   ├── metrics/                # 指标收集
│   │   ├── monitoring/             # 监控 ✅
│   │   │   ├── ai_trace_monitor.py # AI追踪监控
│   │   │   ├── time_statistics.py  # 时间统计
│   │   │   └── rag/                # RAG监控 🆕
│   │   └── cachefiles/             # 缓存文件管理 🆕
│   │
│   ├── schemas/                    # 数据模式 ✅
│   └── utils/                      # 工具函数 ✅
│       ├── common.py
│       ├── redis_utils.py
│       ├── yaml_utils.py
│       ├── tool_utils.py
│       └── md5.py                  # MD5工具 🆕
│
├── data_pipeline/                  # 数据管道层 ✅
│   ├── document/                   # 文档处理
│   │   ├── parsers/               # 文档解析器
│   │   └── processors/            # 数据处理器
│   ├── RAG_recall/                # RAG检索 ✅
│   │   └── rag_miluvs/            # Milvus RAG实现
│   ├── milvus_inbound_script/     # Milvus入库脚本
│   └── training_data/             # 训练数据处理
│
├── config/                         # 配置文件 ✅
│   ├── config.ini                 # 主配置文件 (模型/数据库/Redis)
│   ├── config.ini.template        # 配置模板
│   ├── model_setting.yaml         # 模型设置 🆕
│   ├── prompt/                    # 提示词配置 ✅
│   │   ├── system_prompt.yaml
│   │   └── intent_prompt.yaml
│   ├── sql/                       # SQL脚本
│   └── yolo/                      # YOLO模型 🆕
│       └── best.pt
│
├── utils_test/                    # 测试工具集
│   ├── AI_Review_Test/           # AI审查测试
│   ├── API_key/                  # API密钥生成 🆕
│   ├── Check_Item/               # 审查项测试 🆕
│   ├── Chunk_Split_Test/         # 分块切分测试 🆕
│   ├── Completeness_Enhanced_Test/ # 增强完整性测试 🆕
│   ├── Completeness_Test/         # 完整性测试 🆕
│   ├── Integration_Test/         # 集成测试
│   ├── Milvus_Test/              # Milvus测试
│   ├── MinerU_Test/              # MinerU测试
│   ├── Model_Test/               # 模型测试
│   ├── Other_Test/               # 其他测试 🆕
│   ├── Prompt_Test/              # 提示词测试 🆕
│   ├── RAG_Test/                 # RAG测试 🆕
│   ├── RE_Rrank_Test/            # 重排序测试 🆕
│   ├── Redis/                    # Redis哨兵测试 🆕
│   ├── Redis_Test/               # Redis测试
│   ├── Result_Visual_Observation_Tools/ # 结果可视化 🆕
│   ├── Semantic_Logic_Test/      # 语义逻辑测试
│   ├── Sensitive_Test/           # 敏感词测试
│   ├── standard_new_Test/        # 新标准测试 🆕
│   └── Sync_Funcation_Test/      # 同步函数测试
│
├── docker/                        # Docker配置
├── .design/                       # 设计文档
│   ├── 施工方案编写应用/           # 编写应用设计 🆕
│   └── 施工方案审查应用/           # 审查应用设计
│       ├── base_stage/           # 基础阶段设计
│       ├── Iterative_stage/      # 迭代阶段设计
│       ├── technical_rehearsal/  # 技术预演
│       ├── 基础架构设计/          # 架构设计
│       ├── 施工方案审查API架构设计/ # API架构设计
│       ├── 完整性审查模块/        # 完整性审查设计
│       └── 文档处理模块/          # 文档处理设计
│
├── .RaD/                          # 研发文档 🆕
│
├── logs/                          # 日志目录
├── README.md                      # 项目说明
├── README_deploy.md               # 部署说明 🆕
├── README_test.md                 # 测试说明 🆕
├── requirements.txt               # 依赖清单
├── gunicorn_config.py            # Gunicorn配置
├── run.sh                        # 启动脚本
└── Dockerfile                    # Docker镜像

技术栈清单

Web框架

  • FastAPI - 现代化异步Web框架
  • Uvicorn - ASGI服务器

AI框架

  • LangChain - LLM应用开发框架
  • LangGraph - 工作流编排引擎

数据库

  • MySQL - 关系型数据库 (主存储) (保留基础组件,暂未使用)
  • Milvus - 向量数据库 (RAG检索)
  • PostgreSQL - 备选关系型数据库(保留基础组件,暂未使用)
  • Neo4j - 知识图谱数据库(保留基础组件,暂未使用)

缓存/消息队列

  • Redis - 缓存 + 分布式锁
  • Celery - 异步任务队列

模型支持

本地模型

  • lq_qwen3_8b - Qwen3-8B (默认模型)
  • lq_qwen3_4b - Qwen3-4B
  • lq_qwen3_8b_emd - Qwen3-8B Embedding
  • lq_rerank_model - Qwen3-Reranker-8B

云端模型

  • 豆包 (Doubao) - 字节跳动模型
  • 通义千问 (Qwen) - 阿里云模型
  • DeepSeek - DeepSeek模型
  • Gemini - Google模型
  • SiliconFlow - 硅基流动模型

OCR服务

  • MinerU - 文档OCR识别 (集成中)

API接口清单

施工方案审查API

文档上传

  • POST /construction/upload - 上传待审查文档

审查控制

  • POST /sgsc/sse/launch_review - 启动审查任务(SSE流式)
  • GET /construction/review/results - 查询审查结果

任务控制

  • POST /construction/task/terminate - 终止审查任务

数据脱敏

  • 脱敏API接口 (desensitize_api.py)

施工方案编写API 🆕

大纲生成

  • 大纲生成与工作流接口 (outline_views.py)

内容编写

  • 内容补全接口 (content_completion.py)
  • 重新生成接口 (regenerate_views.py)
  • 任务取消接口 (task_cancel_views.py)

方案推荐

  • 相似方案推荐接口 (similar_plan_recommend.py)

数据流向图

┌──────────────┐
│  用户上传文档  │
└──────┬───────┘
       ▼
┌──────────────────────────────────────────────────────────────┐
│  Views Layer (file_upload.py)                                 │
│  • 接收文件                                                    │
│  • 文件验证                                                    │
│  • 创建任务                                                    │
└──────┬───────────────────────────────────────────────────────┘
       ▼
┌──────────────────────────────────────────────────────────────┐
│  Core Layer - Document Workflow                              │
│  • 文档解析 (PDF/DOCX)                                        │
│  • 结构提取                                                   │
│  • 分块处理                                                   │
└──────┬───────────────────────────────────────────────────────┘
       ▼
┌──────────────────────────────────────────────────────────────┐
│  Database Layer                                              │
│  • Redis - 存储文档元数据                                      │
│  • Milvus - 向量存储                                          │
└──────┬───────────────────────────────────────────────────────┘
       ▼
┌──────────────────────────────────────────────────────────────┐
│  Core Layer - AI Review Workflow                             │
│  • AI审查引擎 (construction_review/ai_review_engine.py)                          │
│  • 多种审查器并行执行                                          │
│  • RAG检索增强                                                │
└──────┬───────────────────────────────────────────────────────┘
       ▼
┌──────────────────────────────────────────────────────────────┐
│  Foundation Layer - AI模块                                    │
│  • 模型调用 (model_handler.py)                               │
│  • RAG检索 (retrieval/)                                      │
│  • 查询重写                                                   │
└──────┬───────────────────────────────────────────────────────┘
       ▼
┌──────────────────────────────────────────────────────────────┐
│  External Services                                           │
│  • AI模型 (本地/云端)                                         │
│  • Milvus向量检索                                            │
│  • Redis缓存                                                 │
└──────┬───────────────────────────────────────────────────────┘
       ▼
┌──────────────────────────────────────────────────────────────┐
│  结果处理                                                     │
│  • 报告生成 (report_generator.py)                            │
│  • SSE推送进度                                                │
│  • 结果存储                                                   │
└──────┬───────────────────────────────────────────────────────┘
       ▼
┌──────────────────┐
│  返回审查结果     │
└──────────────────┘

各层职责说明

1. Server Layer (服务器层)

职责: FastAPI应用管理、路由配置、Celery任务管理 实现:

  • RouteManager - 路由配置和中间件
  • CeleryWorkerManager - Celery Worker生命周期管理
  • ApplicationFactory - 应用工厂模式

2. Views Layer (视图层)

职责: HTTP API接口、请求处理、响应格式化 实现:

  • construction_review/ - 审查API (上传、审查启动、结果查询、任务控制、脱敏)
  • construction_write/ 🆕 - 编写API (大纲生成、内容补全、重新生成、方案推荐)

3. Core Layer (核心业务层)

职责: 业务逻辑编排、应用状态管理、工作流协调 实现:

  • construction_review/ - 施工方案审查模块
    • workflows/ - 基于LangGraph的工作流编排
    • workflows/core_functions/ 🆕 - AI审查核心业务函数
    • workflows/types/ 🆕 - 状态类型定义 (AIReviewState, TaskChainState)
    • component/ - 可复用的业务组件
    • component/desensitize/ 🆕 - 四维度数据脱敏 (PII/地理/业务/财务)
    • component/minimal_pipeline/ 🆕 - 简化处理管道 (PDF提取/OCR/目录)
    • component/standard_matching/ 🆕 - 标准规范匹配服务
    • component/doc_worker/classification/ 🆕 - 智能内容分类 (分块/层级/本地)
    • component/reviewers/ - 专门化的审查器集合
    • component/reviewers/utils/llm_content_classifier_v2/ 🆕 - LLM驱动的内容分类器
    • component/reviewers/utils/llm_chain_client/ 🆕 - 多厂商LLM链式调用框架
  • construction_write/ 🆕 - 施工方案编写模块
    • component/ - 大纲生成器、状态模型
    • workflows/ - 编写智能体、大纲工作流

4. Foundation Layer (基础设施层-办公应用智能体可复用的基础组件)

职责: 基础设施、通用组件、外部服务集成 实现:

  • ai/ - AI模型管理、RAG检索
  • database/ - 多数据库支持
  • infrastructure/ - 缓存、配置、消息队列
  • observability/ - 日志、监控、指标

5. Data Pipeline Layer (离线数据管道层,不与在线流程集成)

职责: 数据处理、格式转换、内容解析 实现: 文档解析器、数据处理器、向量入库


配置管理结构

config.ini 主要配置项

见源代码中的config/config.ini

---

## 系统启动流程详解

### 1. 应用启动入口 (server/app.py)

#### 启动类架构

ApplicationFactory (应用工厂) ├── create_app() # 创建FastAPI应用实例 ├── create_server_config() # 创建服务器配置 └── celery_manager # CeleryWorkerManager实例

RouteManager (路由管理器) ├── _setup_cors() # 配置CORS中间件 ├── _setup_routes() # 配置所有路由 ├── _setup_exception_handlers() # 全局异常处理 ├── _setup_health_checks() # 健康检查接口 └── _setup_api_docs() # Swagger API文档

CeleryWorkerManager (Celery Worker管理器) ├── start_worker() # 启动Celery Worker(后台线程) ├── stop_worker() # 优雅停止Worker ├── stop_worker_immediately() # 立即停止Worker └── _cleanup_redis_tasks() # 清理Redis任务

ServerRunner (服务器运行器) └── run_server() # 运行Uvicorn服务器


#### 启动流程
  1. python server/app.py (主入口) ↓
  2. 创建ApplicationFactory实例 ↓
  3. 初始化RouteManager配置路由
    • 添加CORS中间件
    • 注册所有API路由
    • 配置全局异常处理
    • 设置健康检查接口 ↓
  4. 启动CeleryWorkerManager(后台线程)
    • 清理Redis残留任务
    • 在独立线程中运行celery_app.worker_main(['worker'])
    • 等待2秒确保启动成功 ↓
  5. 配置信号处理器
    • SIGINT (Ctrl+C)
    • SIGTERM (终止信号)
    • Windows控制台事件(Ctrl_CLOSE_EVENT等) ↓
  6. 启动Uvicorn服务器
    • host: 0.0.0.0 (可配置)
    • port: 8002 (可配置)
    • 加载FastAPI应用 ↓
  7. 服务运行中... ↓
  8. 收到停止信号时

    • 停止Celery Worker
    • 清理Redis任务
    • 关闭事件循环

      
      #### 关键配置项
      

      ini

[launch] HOST = 0.0.0.0 # 监听地址 LAUNCH_PORT = 8002 # 监听端口

[redis] REDIS_HOST=127.0.0.1 # Redis主机 REDIS_PORT=6379 # Redis端口 REDIS_DB=0 # Redis数据库 REDIS_PASSWORD=123456 # Redis密码


---

## 任务提交流程详解

### 1. 完整任务流程架构

┌─────────────────────────────────────────────────────────────────────────────────┐ │ 任务提交与执行完整流程 │ └─────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────┐ │ 步骤1: 文件上传 (views/construction_review/file_upload.py) │ │ POST /construction/upload │ │ • 接收PDF文件上传 │ │ • 生成file_id和callback_task_id │ │ • 保存文件内容到Redis │ │ • 返回callback_task_id给前端 │ └─────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────┐ │ 步骤2: 启动审查 (views/construction_review/launch_review.py) │ │ POST /sgsc/sse/launch_review │ │ • 验证用户权限和参数 │ │ • 建立SSE连接 │ │ • 调用WorkflowManager.submit_task_processing() │ └─────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────┐ │ 步骤3: 提交到Celery (core/base/workflow_manager.py) │ │ WorkflowManager.submit_task_processing() │ │ • 使用CeleryTraceManager提交任务 │ │ • 自动传递trace_id用于链路追踪 │ │ • 任务进入Redis队列 │ └─────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────┐ │ 步骤4: Celery Worker执行 (foundation/infrastructure/messaging/tasks.py) │ │ submit_task_processing_task() │ │ • 从队列获取任务 │ │ • 恢复trace_id上下文 │ │ • 调用WorkflowManager.submit_task_processing_sync() │ └─────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────┐ │ 步骤5: LangGraph任务链执行 (core/base/workflow_manager.py) │ │ submit_task_processing_sync() │ │ • 创建TaskFileInfo对象 │ │ • 创建TaskChainState初始状态 │ │ • 构建LangGraph任务链工作流图 │ │ • 执行ainvoke()运行工作流 │ └─────────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────────┐ │ LangGraph任务链工作流(方案D) │ │ ┌─────────────────────────────────────────────────────────────────────────┐ │ │ │ start → document_processing → ai_review_subgraph → report_generation → │ │ │ │ complete │ │ │ └─────────────────────────────────────────────────────────────────────────┘ │ │ 每个阶段后检查终止信号: │ │ - terminate: 进入终止节点 │ │ - error: 进入错误处理节点 │ │ - continue: 继续下一阶段 │ └─────────────────────────────────────────────────────────────────────────────────┘


### 2. LangGraph任务链节点详解

#### 节点1: start (任务链开始)

python async def _start_chain_node(state: TaskChainState) -> TaskChainState:

"""
初始化任务链状态
- current_stage: "start"
- overall_task_status: "processing"
- stage_status: 所有阶段初始化为"pending"
"""

#### 节点2: document_processing (文档处理)

python async def _document_processing_node(state: TaskChainState) -> TaskChainState:

"""
执行文档处理工作流
- 检查终止信号
- 创建DocumentWorkflow实例
- 调用document_workflow.execute()
- 返回结构化内容
- stage_status["document"]: "completed"/"terminated"/"failed"
"""

#### 节点3: ai_review_subgraph (AI审查)

python async def _ai_review_subgraph_node(state: TaskChainState) -> TaskChainState:

"""
执行AI审查工作流(嵌套子图)
- 检查终止信号
- 获取文档处理结果中的structured_content
- 创建AIReviewWorkflow实例
- 调用ai_workflow.execute()
- 返回审查结果
- stage_status["ai_review"]: "completed"/"terminated"/"failed"
"""

#### 节点4: report_generation (报告生成)

python async def _report_generation_node(state: TaskChainState) -> TaskChainState:

"""
生成审查报告
- 检查终止信号
- 获取AI审查结果
- 创建ReportWorkflow实例
- 调用report_workflow.execute()
- 保存完整结果到文件
- stage_status["report"]: "completed"/"terminated"/"failed"
"""

#### 节点5: complete (任务完成)

python async def _complete_chain_node(state: TaskChainState) -> TaskChainState:

"""
标记整体任务完成
- overall_task_status: "completed" ⚠️ 只有到这里才标记完成
- 清理Redis文件缓存
- 通知SSE连接
"""

#### 节点6: error_handler (错误处理)

python async def _error_handler_chain_node(state: TaskChainState) -> TaskChainState:

"""
处理任务链错误
- overall_task_status: "failed"
- 清理Redis文件缓存
- 通知SSE连接失败状态
"""

#### 节点7: terminate (任务终止)

python async def _terminate_chain_node(state: TaskChainState) -> TaskChainState:

"""
处理任务终止
- overall_task_status: "terminated"
- 清理Redis终止信号
- 清理Redis文件缓存
- 通知SSE连接终止状态
"""

### 3. 条件边判断逻辑

python def _should_terminate_or_error_chain(state: TaskChainState) -> str:

"""
决定工作流下一步走向
优先级:terminate > error > continue
"""
# 1. 优先检查终止信号
if state.get("overall_task_status") == "terminated":
    return "terminate"

# 2. 检查错误状态
if state.get("overall_task_status") == "failed" or state.get("error_message"):
    return "error"

# 3. 默认继续执行
return "continue"

---

## 审查逻辑详解

### 1. AI审查引擎架构 (core/construction_review/component/construction_review/ai_review_engine.py)

AIReviewEngine (审查引擎核心) ├── 基础合规性检查 │ ├── check_grammar() # 词句语法检查 │ ├── check_semantic_logic() # 语义逻辑检查 │ ├── check_completeness() # 完整性检查 │ ├── check_timeliness() # 时效性检查 │ └── check_reference() # 规范性检查 │ ├── 技术性合规检查 │ ├── check_non_parameter_compliance() # 非参数合规性检查 │ └── check_parameter_compliance() # 参数合规性检查 │ ├── RAG增强审查 │ ├── vector_search() # 向量检索 │ ├── hybrid_search() # 混合检索 │ ├── rerank_results() # 重排序结果 │ └── generate_enhanced_suggestions() # 生成增强建议 │ └── 专业性审查

├── prep_basis_review()          # 编制依据审查
├── outline_review_results_df()  # 目录审查
└── catalogues_check()           # 章节审查

### 2. 审查配置与模式

#### 审查配置参数

python

方式1: review_config (审查维度枚举值)

review_config = [

'sensitive_word_check',       # 词句语法检查
'semantic_logic_check',       # 语义逻辑审查
'completeness_check',         # 条文完整性审查
'timeliness_check',           # 时效性审查
'reference_check',            # 规范性审查
'sensitive_check',            # 敏感词审查
'non_parameter_compliance_check',  # 非参数合规性检查
'parameter_compliance_check', # 参数合规性检查

]

方式2: review_item_config (章节_审查维度格式)

review_item_config = [

'basis_sensitive_word_check',     # 编制依据章节-词句语法检查
'plan_semantic_logic_check',      # 施工计划章节-语义逻辑审查
'catalogue_completeness_check',   # 目录章节-完整性检查(特殊规则)

]


#### 审查模式配置

ini [ai_review] MAX_REVIEW_UNITS=5 # 最大审查单元数量(0=全部审查) REVIEW_MODE=all # 审查模式: all/random/first


#### 工程方案类型

python supported_types = {

'01_pf_Found_Rotary_Drill',  # 旋挖钻机、冲击钻机成孔桩
'02_pf_Dig_Manual_Pile',     # 人工挖孔桩
'03_bd_Sub_Cyl_Pier',        # 圆柱墩、系梁、盖梁
# ... 共13种工程方案类型

}


### 3. AI审查工作流 (core/construction_review/component/workflows/ai_review_workflow.py)

AIReviewWorkflow (基于LangGraph的审查工作流) ├── 构建审查子图 │ ├── 添加审查节点(每种审查类型一个节点) │ ├── 设置节点间转换关系 │ └── 编译为可执行图 │ ├── 审查节点类型 │ ├── 单元级审查节点 │ │ ├── 文档分块 │ │ ├── 并发执行各类审查器 │ │ ├── 汇总审查结果 │ │ └── 计算风险等级 │ │ │ └── 章节级审查节点 │ ├── 提取章节内容 │ ├── 执行章节特定审查 │ └── 生成章节审查结果 │ └── 审查器集合 (reviewers/)

├── base_reviewer.py         # 基础审查器
├── check_completeness/      # 完整性检查组件
├── catalogues_check/        # 目录审查组件
└── utils/                   # 审查工具函数

### 4. RAG检索增强流程

RAG检索增强 │ ├── 1. 查询重写 (query_rewrite_manager) │ └── 优化原始查询以提高检索质量 │ ├── 2. 实体增强 (entity_enhance) │ └── 识别文档实体并增强查询 │ ├── 3. 向量检索 (MilvusManager) │ ├── vector_search() # 纯向量检索 │ └── hybrid_search() # 混合检索(向量+关键词) │ ├── 4. 父块召回 (enhance_with_parent_docs_grouped) │ └── 返回父块上下文信息 │ └── 5. 重排序 (rerank_results)

└── 使用Rerank模型优化结果排序

### 5. 审查结果数据结构

python {

"callback_task_id": "file_id-timestamp",
"file_id": "original_file_id",
"file_name": "document.pdf",
"user_id": "user-001",
"overall_task_status": "completed",  # processing/completed/failed/terminated
"stage_status": {
    "document": "completed",
    "ai_review": "completed",
    "report": "completed"
},
"document_result": {
    "structured_content": {...},
    "parsed_sections": [...]
},
"ai_review_result": {
    "review_results": [
        {
            "unit_index": 0,
            "unit_content": {...},
            "review_items": [
                {
                    "check_type": "semantic_logic_check",
                    "risk_level": "high",
                    "issues": [...],
                    "suggestions": [...]
                }
            ]
        }
    ],
    "summary": {...}
},
"report_result": {
    "report_path": "/path/to/report.json",
    "summary": "审查报告摘要"
},
"timestamp": "2026-02-03T12:00:00"

}


---

## SSE实时推送机制

### SSE连接管理 (core/base/sse_manager.py)

unified_sse_manager (统一SSE管理器) ├── establish_connection() # 建立SSE连接并注册回调 ├── send_progress() # 发送进度更新 ├── close_connection() # 关闭SSE连接 └── connection_registry # 连接注册表 {callback_task_id: queue}


### SSE事件类型

python

连接事件

"connected" # SSE连接已建立 "connection_closed" # SSE连接已关闭

进度事件

"processing" # 处理中(通用进度更新) "unit_review_update" # 单元审查更新 "processing_flag" # 处理标志

完成事件

"submitted" # 任务已提交 "completed" # 任务已完成

错误事件

"error" # 发生错误


### 进度推送流程

  1. 前端建立SSE连接 POST /sgsc/sse/launch_review ↓
  2. 后端建立SSE连接并注册回调 unified_sse_manager.establish_connection(callback_task_id, sse_progress_callback) ↓
  3. 返回"connected"事件 yield format_sse_event("connected", connected_data) ↓
  4. 提交任务到Celery workflow_manager.submit_task_processing(file_info) ↓
  5. Celery Worker执行任务 ↓
  6. 各阶段更新进度 progress_manager.update_progress(callback_task_id, stage_data) ↓
  7. SSE回调被触发 sse_progress_callback(callback_task_id, current_data) ↓
  8. 发送SSE事件到前端 unified_sse_manager.send_progress(callback_task_id, current_data) ↓
  9. 前端接收SSE事件并更新UI ↓
  10. 任务完成,发送"completed"事件 yield format_sse_event("completed", completion_data) ↓
  11. 关闭SSE连接 unified_sse_manager.close_connection(callback_task_id)

    
    ---
    
    ## 任务终止机制
    
    ### 终止信号设置
    
    

    python

async def set_terminate_signal(callback_task_id: str, operator: str) -> Dict:

"""
设置任务终止信号
- 写入Redis: ai_review:terminate_signal:{callback_task_id}
- 存储操作人和终止时间
- 设置2小时过期时间
"""

### 终止信号检测

python async def check_terminate_signal(callback_task_id: str) -> bool:

"""
检查是否有终止信号
- 从Redis读取终止信号
- 每个工作流节点执行前调用
- 检测到信号后进入终止流程
"""

### 终止流程

  1. 用户调用终止接口 POST /construction/task/terminate ↓
  2. 设置Redis终止信号 set_terminate_signal(callback_task_id, operator) ↓
  3. 工作流节点检测到信号 check_terminate_signal() returns True ↓
  4. 条件边判断返回"terminate" _should_terminate_or_error_chain() returns "terminate" ↓
  5. 进入terminate节点 _terminate_chain_node() ↓
  6. 清理资源
    • 清理Redis终止信号
    • 清理Redis文件缓存
    • 通知SSE连接 ↓
  7. 返回终止状态 overall_task_status: "terminated"

    
    ---
    
    ## 部署架构
    
    ### 开发环境
    

启动命令: python server/app.py

启动流程:

  1. 加载配置文件 (config/config.ini)
  2. 初始化Redis连接
  3. 启动Celery Worker(后台线程)
  4. 启动Uvicorn服务器(端口8002)
  5. 注册信号处理器(优雅关闭)

依赖服务:

  • Redis (localhost:6379)
  • Milvus (向量数据库)
  • 本地AI模型服务 (192.168.91.253:9002)

    
    ### 生产环境
    

部署方式: Docker + Docker Compose

启动命令: docker-compose up -d

服务组件:

  • web: FastAPI应用 (Uvicorn)
  • celery: Celery Worker
  • redis: Redis缓存
  • milvus: Milvus向量数据库

    
    ### 容器化部署
    

docker-compose up -d ```


v2.0 → v3.0 变更记录 (2026-04-09)

新增模块

模块 路径 说明
施工方案编写 core/construction_write/ 大纲生成、内容编写工作流
编写API views/construction_write/ 大纲/补全/重生成/取消/推荐接口
数据脱敏 component/desensitize/ 四维度脱敏(PII/地理/业务/财务)+ 反向映射
简化管道 component/minimal_pipeline/ PDF提取、OCR(解耦)、目录构建/检测
标准匹配 component/standard_matching/ 标准规范DAO与服务层
智能分类 doc_worker/classification/ 分块/层级/本地三种分类策略
LLM分类器v2 reviewers/utils/llm_content_classifier_v2/ LLM驱动的内容分类,含补充验证机制
LLM链式客户端 reviewers/utils/llm_chain_client/ 多厂商(DeepSeek/豆包/Gemini/Qwen)链式调用框架
核心函数 workflows/core_functions/ AI审查核心业务逻辑抽离
状态类型 workflows/types/ AIReviewState、TaskChainState 定义

新增审查器

审查器 说明
standard_timeliness_reviewer.py 标准时效性审查
timeliness_content_reviewer.py 时效性内容审查
sensitive_word_check.py 敏感词检查

新增基础设施

组件 说明
foundation/observability/cachefiles/ 缓存文件管理
foundation/observability/monitoring/rag/ RAG管道监控
foundation/ai/models/model_config_loader.py 模型配置加载器
foundation/utils/md5.py MD5工具
config/model_setting.yaml 模型设置配置
config/yolo/ YOLO模型权重

架构变更要点

  1. 审查引擎解耦: ai_review_engine.py 核心逻辑部分抽离至 core_functions/ai_review_core_fun.py
  2. OCR模块独立: minimal_pipeline/ocr_processor.py 从PDF提取中解耦为独立模块
  3. 分类体系升级: 从简单分类升级为 llm_content_classifier_v2,支持 keywords 关键字扫描 + LLM补充验证
  4. 多模型支持: llm_chain_client 框架统一 DeepSeek/豆包/Gemini/Qwen 多厂商调用
  5. 脱敏-审查闭环: desensitize/ 模块提供正向脱敏 + remapper.py 反向映射,保证审查结果可还原