feat(llm): migrate model calls to LangChain ChatOpenAI
This commit is contained in:
@@ -109,6 +109,11 @@
|
||||
使用与非流式相同的固定文案,不回传底层异常原文。首包前和输出途中
|
||||
都使用同一分类;错误是终止事件,随后不会发送 done。已经建立的
|
||||
SSE HTTP 响应保持 200,调用方检查事件内的业务码。
|
||||
- LangGraph 文本模型调用使用 `langchain-openai.ChatOpenAI` 的 ainvoke/astream;
|
||||
命名 profile 统一映射到 Chat Completions,温度未配置时不发送该参数,
|
||||
EXTRA_BODY 保留原样。callbacks、metadata、tags 从图节点继承,每次尝试
|
||||
标记运行名及 llm_attempt。流式 usage 默认不额外请求,兼容既有网关。
|
||||
提前关闭流时显式关闭 provider 迭代器,避免等待 GC 后才释放 HTTP 连接。
|
||||
- SDK 自动重试关闭,由应用层统一控制;默认首次尝试加 3 次重试,
|
||||
每次尝试总超时 60 秒,退避 1、2、4 秒。单次 LLM 调用理论预算
|
||||
4×60+1+2+4=247 秒(另有响应关闭的清理时间)。FastGPT SDK 的
|
||||
|
||||
@@ -357,7 +357,7 @@ docs/langgraph/
|
||||
| FastGPT 应用层配置(应用级系统提示词、思考模式开关)与线上部署差异 | 作业 4/5 验收对账前 | 移植代码、离线评测与差异记录 |
|
||||
| 评测案例与工作流导出的分歧(“对”分流语义、2004 走向)的权威口径 | 作业 5 验收前 | 白名单双走向、逐字比对测试、失败证据留档 |
|
||||
|
||||
## 当前进度与已知差异(数据库实现更新,模型评测为历史记录)
|
||||
## 当前进度与已知差异(模型调用已迁移 ChatOpenAI,黄金评测为历史记录)
|
||||
|
||||
### 作业进度
|
||||
|
||||
@@ -373,9 +373,12 @@ docs/langgraph/
|
||||
| 8. 真流式 | 已实现核心路径 | 模型增量、前缀校验、取消与提交回调;流式终止事件回归 |
|
||||
| 9—10 | 未完成 | 生产访问边界、容量验证与双后端等价性验收继续保留 |
|
||||
|
||||
本轮全量测试 315 通过,包含真实 SQLite/PostgreSQL 集成测试。提示词来源和
|
||||
逐字比对见 `test/agent/test_workflow_prompts.py`。下方真实模型结果是此前轮次,
|
||||
本次数据库开发未重新运行 46 条真实模型黄金评测。
|
||||
数据库实现阶段全量测试 315 通过,包含真实 SQLite/PostgreSQL 集成测试。
|
||||
模型调用迁移为 `langchain-openai.ChatOpenAI` 后,全量回归 316 通过、13 跳过
|
||||
(本轮未配置隔离 PostgreSQL 测试库)。新增真实 HTTP 传输 mock 验证请求参数、
|
||||
流式关闭、取消、重试预算、图 callback 继承和共享模型实例的并发隔离。
|
||||
提示词来源和逐字比对见 `test/agent/test_workflow_prompts.py`。下方真实模型
|
||||
黄金评测结果是此前轮次,数据库开发和本次模型适配迁移均未重新运行 46 条评测。
|
||||
|
||||
### 已落地的架构决策
|
||||
|
||||
@@ -415,7 +418,8 @@ src/agent/
|
||||
collect.py 采集节点 + validated_reply(一次调用、一次修复预算)
|
||||
photo.py 拍照节点(四份提示词按 kind×mode 选择)
|
||||
confirm.py 核实节点(字段提取按 person_index 隔离)
|
||||
llm.py LLMService Protocol / Fake / OpenAI(超时重试温度) / workflow fake
|
||||
llm.py LLMService Protocol / Fake / ChatOpenAI(超时重试温度) / workflow fake
|
||||
chat_model.py ChatOpenAI 流式迭代器的显式关闭与并发上下文隔离
|
||||
fields.py 字段三态校验;clock.py 可控时钟
|
||||
prompts/ 七份版本化提示词(来源 nodeId + 逐字原文)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user