2.4 KiB
查看日志的方法
方法1:使用专用脚本(推荐)
运行以下命令查看 Switch 节点的详细日志:
cd /home/renjianbo/aiagent
python3 check_switch_logs.py
该脚本会显示:
-
Switch 节点的匹配过程(字段值、匹配的分支)
-
分支过滤过程(保留/移除的边)
-
意图理解节点的输出
-
所有节点的输出摘要
方法2:查看所有执行日志
运行以下命令查看完整的执行日志:
cd /home/renjianbo/aiagent
python3 check_execution_logs.py
方法3:查看后端控制台日志
如果后端服务正在运行,日志会直接输出到控制台。查找包含 [rjb] Switch 的日志行。
方法4:通过 API 查看
可以通过 API 获取执行日志:
# 获取执行ID(从最近的执行记录中)
# 然后访问:
GET /api/v1/execution_logs/executions/{execution_id}?node_id=switch-intent
修复内容
-
日志保存到数据库:Switch 节点的日志现在会通过 self.logger 保存到数据库的 execution_logs 表
-
更详细的日志信息:
-
匹配阶段:字段名、字段值、匹配的分支、处理后的输入数据
-
过滤阶段:过滤前后的边数、每条边的处理结果
- 控制台日志:同时输出到控制台,便于实时查看
测试步骤
-
执行一次 Agent 测试(发送一条消息)
-
运行日志查看脚本:
python3 check_switch_logs.py
-
查看输出,重点关注:
-
Switch节点匹配:检查字段值是否正确提取
-
Switch节点过滤后:检查是否只保留了一条边
预期输出示例
Switch节点相关日志:
[1] 16:07:23.123 [INFO]
节点: switch-intent (switch)
消息: Switch节点匹配: field=intent, field_value=greeting, matched_case=greeting-handle
数据:
{
"field": "intent",
"field_value": "greeting",
"matched_case": "greeting-handle",
...
}
[2] 16:07:23.125 [INFO]
节点: switch-intent (switch)
消息: Switch节点分支过滤: branch=greeting-handle, 保留1条边,移除5条边
数据:
{
"branch": "greeting-handle",
"edges_kept": 1,
"edges_removed": 5
}
如果仍有问题,请运行 check_switch_logs.py 并分享输出,我可以进一步分析。