Files
fastapi/docs/05_modules.md
T
2026-06-10 11:02:12 +08:00

6.3 KiB

功能模块说明

本文档用于说明当前后端功能模块的职责、接口、数据表和后续优化方向。

1. 用户鉴权模块

内容
主要作用 调用 Django 用户中心验证 access token,并生成 FastAPI 用户上下文
当前状态 已实现
相关接口 GET /api/v1/auth/me
相关代码 app/api/auth.pyapp/services/external_auth_service.pyapp/core/user_context.py
相关表 Django userinstitutiondepartment
外部依赖 Django /api/user/users/me/
后续优化 增加用户中心失败重试和更细的审计日志

2. 训练配置模块

内容
主要作用 返回推荐病人配置和可选配置项
当前状态 已实现
相关接口 GET /api/v1/training-config/recommendedGET /api/v1/training-config/options
相关代码 app/api/training_config.pyapp/services/training_config_service.py
相关表 case_basetraditional_case
后续优化 配置项可迁移到独立后台配置表

3. 训练会话模块

内容
主要作用 创建训练会话、维护状态流转和短期 memory
当前状态 已实现
相关接口 POST /api/v1/sessionsPOST /api/v1/sessions/{session_id}/chat/stream
相关代码 app/api/sessions.pyapp/services/session_service.pyapp/agents/patient_agent.py
相关表 training_sessions
Redis 保存当前会话短期问诊上下文
后续优化 增加会话超时策略和更完整的状态机校验

4. 王主任练习提示模块

内容
主要作用 根据当前病例和会话上下文生成练习提示
当前状态 已实现,正式接口为 SSE
相关接口 POST /api/v1/sessions/{session_id}/hints/stream
相关代码 app/agents/hint_agent.pyapp/services/session_service.py
相关提示词 app/prompts/hint/novice_case_hint.md
后续优化 增加科室主任风格模板、提示质量评估和可配置提示强度

5. 检查/检验模块

内容
主要作用 获取体格检查和辅助检查列表,返回单项检查结果
当前状态 已实现
相关接口 体格检查列表、辅助检查列表、体格检查结果、辅助检查结果
相关代码 app/services/order_service.pyapp/repositories/case_repository.py
相关表 case_exam_itemsession_orders
重要规则 结果只来自数据库;同一会话同一检查项幂等
后续优化 检查项可按阶段、难度、病例类型做更细配置

6. 诊断治疗提交模块

内容
主要作用 完成问诊后提交诊断和治疗方案
当前状态 已实现
相关接口 complete-inquirydiagnosistreatment
相关代码 app/services/session_service.py
相关表 session_submissionstraining_sessions
后续优化 增加更细的字段级校验和草稿保存

7. AI 评价模块

内容
主要作用 读取病例、评分规则、会话过程、诊断治疗提交内容,调用 LLM 生成评价
当前状态 已实现
相关接口 POST /api/v1/sessions/{session_id}/evaluation
相关代码 app/services/evaluation_service.pyapp/agents/scoring_agent.pyapp/agents/report_agent.py
相关表 scoring_ruletraining_recordtraining_score_detail
后续优化 增加评分一致性校验、评分重试和人工复核入口

8. PDF 报告模块

内容
主要作用 生成和下载 AI 评价 PDF
当前状态 已实现
相关接口 POST /api/v1/evaluations/{evaluation_id}/export-pdfGET /api/v1/evaluations/{evaluation_id}/download-pdf
相关代码 app/services/pdf_export_service.py
相关表 training_record
文件目录 storage/reports
后续优化 优化 PDF 样式、分页、字体和医院模板

9. 教学互动模块

内容
主要作用 返回教学题目并根据答题结果生成评价
当前状态 已实现
相关接口 GET /api/v1/teaching/cases/{case_id}/itemsPOST /api/v1/teaching/evaluation
相关代码 app/api/teaching.pyapp/services/teaching_service.py
相关表 case_baseteaching_casetraining_recordtraining_score_detail
后续优化 增加题目后台维护、错题统计和视频播放记录

10. 个人中心模块

内容
主要作用 查询当前用户训练记录和评价详情
当前状态 已实现
相关接口 GET /api/v1/evaluationsGET /api/v1/evaluations/{evaluation_id}
相关代码 app/api/evaluations.pyapp/services/evaluation_service.py
相关表 training_recordtraining_score_detail
重要规则 必须按 user_id 隔离
后续优化 增加分页筛选、统计图表和能力画像

11. AI 学习助手模块

内容
主要作用 普通用户提出医学学习问题,后端优先检索机构知识库并流式回答
当前状态 已实现正式流式接口;无知识库时自动降级为通用 LLM 回答
相关接口 POST /api/v1/learning-assistant/chat/stream
相关代码 app/api/learning_assistant.pyapp/services/learning_assistant_service.pyapp/agents/learning_assistant_agent.py
相关表 kb_knowledge_spacekb_knowledge_chunkkb_knowledge_query_log
外部依赖 LLM、Embedding、Milvus
后续优化 查询改写、rerank、多轮记忆、来源引用格式优化、成本统计

12. 后台知识库预留模块

内容
主要作用 内容管理员上传 PDF,构建机构知识库
当前状态 接口和数据结构已预留,生产级大规模入库仍需压测
相关接口 POST /api/v1/knowledge-admin/documents/upload、文档列表、文档详情
相关代码 app/api/knowledge_admin.pyapp/services/document_ingestion_service.pyapp/integrations/*
相关表 kb_knowledge_spacekb_knowledge_documentkb_knowledge_chunkkb_knowledge_ingestion_task
外部依赖 Milvus、Embedding 服务、Celery
后续优化 任务队列监控、失败重试、分片策略、文件去重、权限后台