图_2用户问答流程
原生 Excalidraw 可编辑画布,基于 SuperMew-0.1.0。请使用 Obsidian 的 Excalidraw 视图打开。
视图归属: M3 模块主图。
输入与输出
- 输入为 message、session_id 和登录身份;输出为回答、Trace 或澄清请求。
流程
- 先加载会话和 metadata,创建本轮 ctx,保存用户消息。
- 有有效恢复快照则定向恢复 RAG;其余进入 Agent。
- 普通回答、天气与知识结果最终回到对话编排。
边界
- ctx 是请求状态;笔记和 pending_hitl 是跨轮持久状态。
- 同步保存后返回;SSE 的 DONE 先于最终保存。
源码对应
backend/api/routes/chat.py:chat_endpoint()backend/chat/service.py:chat_with_agent()backend/chat/service.py:_build_context_messages()backend/tools/knowledge.py:make_search_knowledge_base()backend/chat/storage.py:save()
下级专题
- [[图_9HITL跨轮恢复|HITL 跨轮恢复]]
- [[图_10SSE流式时序|SSE 流式时序]]
Excalidraw Data
Text Elements
02 用户问答业务流程 ^4c362889
先准备会话,再选择普通 Agent 或 HITL 恢复;两种响应方式的保存时序不同。 ^f98d14c8
M3 会话与对话编排 · 对应总图 01 ^f8a174b5
A · 请求准备 ^74faec06
用户 message
- session_id ^56e94038
Chat API JWT → 当前 DB User ^a16a074e
加载历史 + metadata 创建本请求 ctx ^3434977b
第一次 save 先保存 HumanMessage ^df48ce72
有效 pending_hitl 且有恢复快照? ^9c746041
B · 执行与回答 ^8271e65b
无 HITL:构建模型输入 笔记 + 最近 6 条历史 + 当前问题 ^ffa5401e
外层 Agent / MODEL 直接答复或调用工具 recursion_limit=8 ^285fd145
否 ^9a4c9764
Weather Tool 高德 → ToolMessage → 回到 MODEL ^cb2d8252
Knowledge Tool ctx 首次额度 → RAG → 证据/状态 再次调用返回 TOOL_CALL_LIMIT_REACHED ^059800e7
HITL 定向恢复 · [[图_9HITL跨轮恢复|图9]] 原问题 + 当前补充 → retrieve + grade 跳过外层 Agent / 分类 / 子问题规划 ^d3022500
是 ^fb7f1c20
MODEL 依据工具结果生成回复 知识答案使用编号引用;service 收集 Trace ^86d8e026
统一判定本轮结果 clarify / scope_select → 生成 pending 与澄清文本 其余采用答案/无知识回复;成功恢复则清 pending ^cb5e6bee
C · 完成与持久化 ^2d3a1a7a
同步 /chat 先更新标题/必要笔记 → save AI+Trace+metadata 再返回完整 JSON ^4e719eb0
SSE /chat/stream · [[图_10SSE流式时序|图10]] 此前已实时发送进度/内容;先发 Trace/HITL/DONE 再更新笔记与保存;前端读到 EOF 才结束 ^c9b8508f
每轮 finally 关闭 ctx。异常/提前停止不保证最终 AI 已保存;原 save 为全历史覆盖写入,非增量追加。 ^8f5b4349
读图说明 · M3 会话与对话编排 ^405f1190
输入与输出 ^9b6cdaa6
• 输入为 message、session_id 和登录身份;输 出为回答、Trace 或澄清请求。 ^b60974c7
流程 ^dad2b52c
• 先加载会话和 metadata,创建本轮 ctx,保存 用户消息。 ^a3b05f90
• 有有效恢复快照则定向恢复 RAG;其余进入 Agent。 ^8bd3c1c4
• 普通回答、天气与知识结果最终回到对话编排。 ^6cdc0fcc
边界 ^186d1fa3
• ctx 是请求状态;笔记和 pending_hitl 是跨轮 持久状态。 ^83b89afc
• 同步保存后返回;SSE 的 DONE 先于最终保存。 ^3a238fb2
Element Links
452418e4: [[图_9HITL跨轮恢复]]
dcc13bcb: [[图_10SSE流式时序]]
f8a174b5: [[图_1项目设计]]
d3022500: [[图_9HITL跨轮恢复]]
c9b8508f: [[图_10SSE流式时序]]
%%
Drawing
1 | N4IgLgngDgpiBcIYA8DGBDANgSwCYCd0B3EAGhADcZ8BnbAewDsEAmcm+gV31TkQAswYKDXgB6MSgw4CxAHSp6AWzJJMMJTEZgaCANqg8CEAFYALAGYYLFgHYAnKsixj+GKjDpGAc3WrkCGYm5BAIAIxB5ER4YPzhABwAbAAM5Pww2N6CrPGpIF6+fHk0YPj0ANYwAML0mPT4xgDEqABGuCYwYaot6Kjl3mWcjLg1dQ2IjQBm8ZPok6iqk9iYmAD |
%%