重构 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分析逻辑不变
This commit is contained in:
19
app/services/agent/tools/__init__.py
Normal file
19
app/services/agent/tools/__init__.py
Normal file
@@ -0,0 +1,19 @@
|
||||
"""
|
||||
工具注册表:导出 all_tools 供图构建使用
|
||||
"""
|
||||
|
||||
from .alarm_query import query_alarm_stats, list_alarms, get_alarm_detail
|
||||
from .alarm_action import update_alarm_status
|
||||
from .order_tools import list_my_orders, submit_order_result
|
||||
from .camera_tools import query_camera
|
||||
|
||||
# 所有工具列表 — 添加新工具只需在这里追加
|
||||
all_tools = [
|
||||
query_alarm_stats,
|
||||
list_alarms,
|
||||
get_alarm_detail,
|
||||
update_alarm_status,
|
||||
list_my_orders,
|
||||
submit_order_result,
|
||||
query_camera,
|
||||
]
|
||||
Reference in New Issue
Block a user