Files
iot-device-management-service/app/services/agent/state.py
16337 8156f54004 重构 Agent:引入 LangGraph StateGraph 替代手写 FC 循环
架构变更:
- 新增 app/services/agent/ 模块(state/prompts/graph/tools)
- 7 个工具从 _tool_xxx 方法提取为 @tool 装饰器函数
- 构建 assistant + ToolNode 的 ReAct 图
- agent_dispatcher.py 改为薄壳入口,支持 USE_LANGGRAPH 开关
- MemorySaver checkpoint 持久化对话(thread_id=wechat-{user_id})
- 新增依赖:langchain-core, langchain-openai, langgraph

向后兼容:
- USE_LANGGRAPH=false 可切回旧版 FC 循环
- LangGraph 初始化失败自动降级到 Legacy 模式
- 企微图片处理/VLM分析逻辑不变
2026-03-25 13:52:55 +08:00

22 lines
697 B
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
Agent 状态定义
"""
from typing import Annotated, List
from typing_extensions import TypedDict
from langgraph.graph.message import AnyMessage, add_messages
class AgentState(TypedDict):
"""LangGraph Agent 状态
messages: 对话消息列表append-onlyLangGraph 自动合并)
user_id: 企微 userid图入口注入工具通过 config 读取)
pending_images: 工具执行期间收集的待发图片 URL告警截图等
user_uploaded_images: 用户上传的图片 COS 永久 URL用于工单结单
"""
messages: Annotated[list[AnyMessage], add_messages]
user_id: str
pending_images: List[str]
user_uploaded_images: List[str]