feat(agent): use native parallel nodes and early reply streaming

This commit is contained in:
Eric Wang
2026-10-27 00:29:14 +08:00
parent e6a96ed135
commit 666dda4dba
14 changed files with 635 additions and 180 deletions
+12
View File
@@ -63,6 +63,18 @@ Chat Completions API,`EXTRA_BODY` 中的关闭推理等扩展参数照常透
模型调用继承图的 callbacks、metadata 和 tags,并标记 `llm.complete` / `llm.stream`
及 `llm_attempt`。这是追踪集成的基础,日志、存储和整轮 SSE 的观测需分别接入。
事故采集使用 LangGraph 原生并行分支:`collect` 生成回复,
`extract_accident_fields` 提取字段,二者经汇合边进入 `merge_collect`。
两个分支读取同一轮的参考时间和状态,各写独立通道,合并后统一提交。
人员核实的抽取依赖本轮回复,保持串行依赖。
增量输出由 LangChain 原生 `astream_events(version="v2")` 消费:
`RunnableGenerator` 输出通过阶段前缀校验的文本;`validated_reply` 的
`on_chain_end` 表示整条回复已通过校验,立即刷新分句器最后一句。
抽取模型的事件不转成聊天正文;`formUpdate` 和 `done` 仍等待业务提交成功。
客户端关闭流时由原生事件流取消并等待图任务,公开 SSE 事件类型不变。
节点职责、事件映射和提交时序见 [docs/agent-streaming.md](docs/agent-streaming.md)。
## HTTP 接口
- `GET /`:存活检查。