6.2 KiB
6.2 KiB
Demo 功能追踪表
本文档用于说明当前 Demo 功能、前端入口、后端接口、核心函数和数据表之间的对应关系。
1. 功能到代码映射
| 功能 | 前端页面/按钮 | API | Router 函数 | Service / Agent | 数据表 | 状态 |
|---|---|---|---|---|---|---|
| Agent 连接检查 | 入口页“连接/进入” | GET /api/v1/agent/hello |
agent.hello |
AuditService.log |
audit_logs |
已实现 |
| 病例列表 | 病例页“刷新” | GET /api/v1/cases |
cases.list_cases |
CaseService.list_cases |
case_base |
已实现 |
| 病例详情 | 点击病例卡片 | GET /api/v1/cases/{case_id} |
cases.get_case_detail |
CaseService.get_case_detail |
case_base、traditional_case、teaching_case、case_exam_item |
已实现 |
| 删除病例预览 | 病例详情“删除病例” | GET /api/v1/cases/{case_id}/delete-preview |
cases.get_case_delete_preview |
CaseService.get_delete_preview |
病例表、训练表统计 | 已实现 |
| 删除病例 | 删除弹窗“确认删除” | DELETE /api/v1/cases/{case_id} |
cases.delete_case |
CaseService.delete_case、CaseRepository.delete_case_cascade |
case_base、traditional_case、teaching_case、scoring_rule、case_exam_item、training_session、training_order、training_submission、training_record |
已实现 |
| 病例 SQL 预检 | 导入页“解析检查” | POST /api/v1/imports/case-sql/preview |
imports.preview_case_sql |
CaseSqlImportService.preview |
不写库 | 已实现 |
| 病例 SQL 导入 | 导入页“确认导入” | POST /api/v1/imports/case-sql/apply |
imports.apply_case_sql |
CaseSqlImportService.apply、scripts.import_source_case_sql |
case_base、traditional_case、teaching_case、scoring_rule、case_exam_item |
已实现 |
| 创建训练会话 | 训练配置页“创建训练会话” | POST /api/v1/sessions |
sessions.create_session |
SessionService.create_session |
training_session、runtime memory |
已实现 |
| 普通问诊 | Chat 页“发送问诊” | POST /api/v1/sessions/{session_id}/chat |
sessions.chat |
SessionService.chat、PatientAgent.reply |
runtime memory | 已实现 |
| 流式问诊 | Chat 页流式开关开启 | POST /api/v1/sessions/{session_id}/chat/stream |
sessions.chat_stream |
SessionService.stream_chat、PatientAgent.stream_reply |
runtime memory | 已实现 |
| 查看提示 | Chat 页“查看提示” | POST /api/v1/sessions/{session_id}/hints |
sessions.generate_hints |
SessionService.generate_hints、HintAgent.generate |
runtime memory、training_order |
已实现 |
| 检查项目列表 | 检查面板刷新 | GET /api/v1/sessions/{session_id}/order-items |
sessions.list_order_items |
OrderService.list_order_items |
case_exam_item |
已实现 |
| 申请检查 | 检查面板“申请该检查” | POST /api/v1/sessions/{session_id}/orders |
sessions.create_order |
OrderService.create_order |
case_exam_item、training_order |
已实现 |
| 完成问诊 | Chat 页“完成问诊” | POST /api/v1/sessions/{session_id}/complete-inquiry |
sessions.complete_inquiry |
SessionService.complete_inquiry |
training_session |
已实现 |
| 提交诊断 | 提交页“提交诊断” | POST /api/v1/sessions/{session_id}/diagnosis |
sessions.submit_diagnosis |
SessionService.submit_diagnosis |
training_submission |
已实现 |
| 提交治疗 | 提交页“提交治疗方案” | POST /api/v1/sessions/{session_id}/treatment |
sessions.submit_treatment |
SessionService.submit_treatment |
training_submission |
已实现 |
| 生成评价 | 报告页“生成 AI 评价报告” | POST /api/v1/sessions/{session_id}/evaluation |
sessions.create_evaluation |
EvaluationService.create_evaluation、ScoringAgent.score、ReportAgent |
scoring_rule、knowledge_chunks、training_record |
已实现 |
| 历史评价列表 | 历史页刷新 | GET /api/v1/evaluations |
evaluations.list_evaluations |
EvaluationService.list_history |
training_record |
已实现 |
| 评价详情 | 历史页详情/报告页 | GET /api/v1/evaluations/{evaluation_id} |
evaluations.get_evaluation_detail |
EvaluationService.get_detail |
training_record |
已实现 |
| PDF 导出 | 报告页“导出 PDF” | POST /api/v1/evaluations/{evaluation_id}/export-pdf |
evaluations.export_pdf |
PdfExportService.export |
training_record |
已实现 |
| 知识检索 | 后端预留/评价内部使用 | GET /api/v1/knowledge/search |
knowledge.search_knowledge |
KnowledgeService.search_guidelines |
knowledge_sources、knowledge_documents、knowledge_chunks |
已实现 |
| LLM Fast 测试 | LLM 测试页“测试 Fast” | POST /api/v1/llm/test/deepseek-fast |
llm_test.test_deepseek_fast |
OpenAICompatibleLLMClient.chat |
无长期表 | 已实现 |
| LLM Reason 测试 | LLM 测试页“测试 Reason” | POST /api/v1/llm/test/deepseek-reason |
llm_test.test_deepseek_reason |
OpenAICompatibleLLMClient.stream_chat/chat |
无长期表 | 已实现 |
2. 当前数据表状态
当前运行只依赖新表:
case_base
traditional_case
teaching_case
scoring_rule
case_exam_item
training_session
training_order
training_submission
training_record
prompt_templates
knowledge_sources
knowledge_documents
knowledge_chunks
user_learning_profiles
audit_logs
旧表不参与运行。旧表删除后,后端测试和前端构建均已通过。
3. 关键业务边界
X-User-Id是会话、提交、评价和历史记录的隔离依据。- Chat 消息只作为短期 memory 使用,不作为长期历史保存。
- 检查/检验结果只来自
case_exam_item,不由 LLM 编造。 - 完整训练结束后只沉淀
training_record。 - 删除病例会删除病例相关业务数据和训练记录,但保留
audit_logs。 - 病例详情接口不返回标准答案和隐藏病史。
4. 核心状态流
inquiry -> diagnosis -> treatment -> evaluating -> evaluated
inquiry:允许 Chat、查看提示、申请检查、完成问诊。diagnosis:允许提交诊断。treatment:允许提交治疗方案。evaluating:允许生成 AI 评价。evaluated:允许查看报告、导出 PDF、查看历史。