feat(llm): migrate model calls to LangChain ChatOpenAI

This commit is contained in:
Eric Wang
2026-10-24 17:08:46 +08:00
parent 97de142e6d
commit d8d48c26a3
13 changed files with 489 additions and 96 deletions
+16
View File
@@ -47,6 +47,22 @@ PostgreSQL 的连接池、迁移、本地 compose 与多 worker 部署见
[docs/agent-storage.md](docs/agent-storage.md)。Windows 使用 `python -m src.serve`,
它为 psycopg 选择兼容的事件循环;Linux 也可用常规 uvicorn 命令启动。
## 模型调用
LangGraph 文本后端通过 `langchain-openai.ChatOpenAI` 调用 OpenAI 兼容接口。
现有 `LLM_PROVIDERS` / `LLM_PROVIDER` 和各组环境变量继续生效;统一使用
Chat Completions API,`EXTRA_BODY` 中的关闭推理等扩展参数照常透传。
依赖固定为 `langchain-openai==1.1.9`、`langchain-core==1.5.1`,
与当前 LangGraph 和 OpenAI SDK 环境配套验证。
应用层控制重试:默认每次尝试 60 秒、最多额外重试 3 次,退避 1/2/4 秒;
底层 SDK 自动重试关闭。模型文本开始输出后不重试,提前停止消费会显式关闭
底层 HTTP 流。兼容网关默认不请求流式 usage;非流式返回的 usage
可供 LangChain callbacks 使用。
模型调用继承图的 callbacks、metadata 和 tags,并标记 `llm.complete` / `llm.stream`
及 `llm_attempt`。这是追踪集成的基础,日志、存储和整轮 SSE 的观测需分别接入。
## HTTP 接口
- `GET /`:存活检查。