Start LangGraph backend migration foundation
This commit is contained in:
37
docs/domain/event-mapping.md
Normal file
37
docs/domain/event-mapping.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# 历史输入到结构化事件的映射
|
||||
|
||||
API 兼容层可以继续接收历史字符串,但进入 LangGraph 前必须转换为以下事件。图节点不得再通过自然语言字符串判断系统事件。
|
||||
|
||||
| 历史输入 | 结构化事件 | 必要字段 | 确定性效果 |
|
||||
|---|---|---|---|
|
||||
| 普通用户文本 | `UserMessageEvent` | `event_id`, `text`, `need_form_update`, `use_text_chunk` | 进入当前阶段处理;自然语言轮次通常调用一次 LLM |
|
||||
| `【开始】` | `SessionStartedEvent` | `event_id` | `1001 → 1002`,开始事故描述采集 |
|
||||
| `【继续办理】` | `SessionStartedEvent` | `event_id` | 与 `【开始】` 相同 |
|
||||
| `【拍摄完成】` | `PhotoCompletedEvent` | `event_id`, `photo_step` | 仅按单车/双车严格顺序推进一步,0 次 LLM |
|
||||
| `【客户端连续3次拍摄识别失败:原因】` | `PhotoRecognitionFailedEvent` | `event_id`, `reason` | 任意照片阶段立即进入 `0005`,0 次 LLM |
|
||||
| `【用户无回复】` | `NoResponseEvent` | `event_id` | 第一次重复唤醒;连续第二次进入 `0004` |
|
||||
| `【用户未回复】` | `NoResponseEvent` | `event_id` | 历史别名,效果同上 |
|
||||
| `/set_info` 请求 | `SetInfoEvent` | `event_id`, `key`, `value` | 校验白名单/类型后幂等更新,不调用 LLM |
|
||||
|
||||
## 优先级
|
||||
|
||||
同一轮只允许一个输入事件。事件处理优先级为:
|
||||
|
||||
```text
|
||||
显式人工请求
|
||||
> 连续拍照失败
|
||||
> 明确人伤/复杂情况
|
||||
> 无回复
|
||||
> 拍照完成
|
||||
> 外部字段更新
|
||||
> 普通用户文本
|
||||
```
|
||||
|
||||
显式人工请求来自普通文本时允许确定性关键词 gate 先处理;语义模糊的人伤内容交由同一轮阶段 LLM 判断,但候选状态仍需迁移校验。
|
||||
|
||||
## 计数重置
|
||||
|
||||
- 收到有效用户回答后,`no_response_count` 清零。
|
||||
- 当前问题得到有效答案后,对应 `clarification_counts[question_id]` 清零。
|
||||
- 非连续的无回复不能累计到 `0004`。
|
||||
- 客户端已经负责累计三次拍照识别失败;服务端收到一次结构化失败事件就进入 `0005`,不得再次累计三次。
|
||||
Reference in New Issue
Block a user