流程节点完善

This commit is contained in:
2026-02-26 19:37:55 +08:00
parent 5d8412bcb6
commit c7f6a0da17
3059 changed files with 4975 additions and 71239 deletions

View File

@@ -1,47 +1,107 @@
2026-02-20 22:25:24,889 - ERROR - 提示词文件未找到 -> classifier_prompt.txt
2026-02-20 22:25:24,979 - INFO - Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information.
2026-02-20 22:25:25,151 - INFO - 成功找到节点定义JSON代码块
2026-02-20 22:25:25,152 - INFO - 成功解析出动作节点: ['approach_target', 'deliver_payload', 'fly_sequence', 'fly_to_waypoint', 'land', 'loiter', 'manual_confirmation', 'move_direction', 'object_detect', 'return_emergency', 'rotate', 'rotate_search', 'search_pattern', 'system_checks', 'take_photos', 'takeoff', 'track_object']
2026-02-20 22:25:25,152 - INFO - 成功解析出条件节点: ['at_waypoint', 'object_detected']
2026-02-20 22:25:25,152 - WARNING - 集合 location_kb 不可用: Collection [location_kb] does not exist
2026-02-20 22:25:25,152 - WARNING - 集合 pattern_kb 不可用: Collection [pattern_kb] does not exist
2026-02-20 22:25:25,153 - WARNING - 集合 rules_kb 不可用: Collection [rules_kb] does not exist
INFO: Started server process [10575]
2026-02-26 19:00:57,073 - INFO - Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information.
2026-02-26 19:00:57,211 - INFO - 成功找到节点定义JSON代码块
2026-02-26 19:00:57,211 - INFO - 成功解析出动作节点: ['approach_target', 'deliver_payload', 'fly_sequence', 'fly_to_waypoint', 'land', 'loiter', 'manual_confirmation', 'move_direction', 'object_detect', 'return_emergency', 'rotate', 'rotate_search', 'search_pattern', 'system_checks', 'take_photos', 'takeoff', 'track_object']
2026-02-26 19:00:57,211 - INFO - 成功解析出条件节点: ['at_waypoint', 'object_detected']
INFO: Started server process [26111]
INFO: Waiting for application startup.
2026-02-20 22:25:25,155 - INFO - WebSocket event loop configured.
2026-02-26 19:00:57,217 - INFO - WebSocket event loop configured.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO: 127.0.0.1:45093 - "GET /docs HTTP/1.1" 200 OK
INFO: 127.0.0.1:46985 - "GET /docs HTTP/1.1" 200 OK
2026-02-20 22:29:37,482 - INFO - 接收到用户请求: 无人机当前在空中往北飞50米
2026-02-20 22:29:38,939 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-20 22:29:40,302 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-20 22:29:42,389 - INFO - ✅ 任务树可视化成功
2026-02-20 22:29:42,389 - INFO - 图形已保存到: /home/huangfukk/DronePlanning/backend_service/generated_visualizations/py_tree.png
2026-02-20 22:29:42,389 - INFO - 💾 历史记录已保存: /home/huangfukk/DronePlanning/backend_service/src/../history/20260220_222942_plan.json
2026-02-20 22:29:42,389 - INFO - ✅ 成功生成并验证了PytreePipeline
INFO: 127.0.0.1:44861 - "POST /generate_plan HTTP/1.1" 200 OK
2026-02-20 22:30:15,774 - INFO - 接收到用户请求: 无人机当前在地面,到广场查找穿红色衣服的人,找到后拍照
2026-02-20 22:30:16,805 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-20 22:30:29,109 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-20 22:30:29,161 - INFO - ✅ 任务树可视化成功
2026-02-20 22:30:29,161 - INFO - 图形已保存到: /home/huangfukk/DronePlanning/backend_service/generated_visualizations/py_tree.png
2026-02-20 22:30:29,161 - INFO - 💾 历史记录已保存: /home/huangfukk/DronePlanning/backend_service/src/../history/20260220_223029_plan.json
2026-02-20 22:30:29,161 - INFO - ✅ 成功生成并验证了PytreePipeline
INFO: 127.0.0.1:43927 - "POST /generate_plan HTTP/1.1" 200 OK
2026-02-20 22:32:13,176 - INFO - 接收到用户请求: 无人机当前在地面去面前大楼左边20米巡查并拍照
2026-02-20 22:32:14,331 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-20 22:32:30,714 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-20 22:32:30,764 - INFO - ✅ 任务树可视化成功
2026-02-20 22:32:30,764 - INFO - 图形已保存到: /home/huangfukk/DronePlanning/backend_service/generated_visualizations/py_tree.png
2026-02-20 22:32:30,765 - INFO - 💾 历史记录已保存: /home/huangfukk/DronePlanning/backend_service/src/../history/20260220_223230_plan.json
2026-02-20 22:32:30,765 - INFO - ✅ 成功生成并验证了PytreePipeline
INFO: 127.0.0.1:45399 - "POST /generate_plan HTTP/1.1" 200 OK
2026-02-20 22:36:36,485 - INFO - 接收到用户请求: 无人机当前在地面,到广场查找绿色公交车,找到就拍照
2026-02-20 22:36:37,548 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-20 22:36:48,200 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-20 22:36:48,248 - INFO - ✅ 任务树可视化成功
2026-02-20 22:36:48,248 - INFO - 图形已保存到: /home/huangfukk/DronePlanning/backend_service/generated_visualizations/py_tree.png
2026-02-20 22:36:48,248 - INFO - 💾 历史记录已保存: /home/huangfukk/DronePlanning/backend_service/src/../history/20260220_223648_plan.json
2026-02-20 22:36:48,248 - INFO - ✅ 成功生成并验证了PytreePipeline
INFO: 127.0.0.1:47209 - "POST /generate_plan HTTP/1.1" 200 OK
INFO: 127.0.0.1:46065 - "GET /docs HTTP/1.1" 200 OK
2026-02-26 19:01:05,074 - INFO - ========== [Stage 1] Task Understanding ==========
2026-02-26 19:01:05,881 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-26 19:01:05,886 - INFO - Task Understanding Results: mode=scene1, state=in_air, intent=generic_mission, risks=[]
INFO: 127.0.0.1:46071 - "POST /debug_stage HTTP/1.1" 200 OK
2026-02-26 19:01:23,412 - INFO - ========== [Stage 1] Task Understanding ==========
2026-02-26 19:01:23,780 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-26 19:01:23,780 - INFO - Task Understanding Results: mode=scene1, state=in_air, intent=generic_mission, risks=[]
INFO: 127.0.0.1:44329 - "POST /debug_stage HTTP/1.1" 200 OK
2026-02-26 19:01:36,748 - INFO - ========== [Stage 1] Task Understanding ==========
2026-02-26 19:01:37,168 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-26 19:01:37,169 - INFO - Task Understanding Results: mode=scene1, state=in_air, intent=generic_mission, risks=[]
INFO: 127.0.0.1:44483 - "POST /debug_stage HTTP/1.1" 200 OK
2026-02-26 19:15:34,050 - INFO - ========== [Stage 1] Task Understanding ==========
2026-02-26 19:15:34,569 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-26 19:15:34,570 - INFO - Task Understanding Results: mode=scene1, state=in_air, intent=generic_mission, risks=[]
2026-02-26 19:15:34,570 - INFO - ========== [Stage 2] Context Binding ==========
2026-02-26 19:15:34,799 - INFO - Context Binding Results: Required Actions=['Selector', 'Sequence', 'fly_to_waypoint', 'land', 'move_direction', 'object_detect', 'object_detected', 'rotate_search', 'take_photos', 'takeoff'], RAG Scopes=['location', 'pattern']
INFO: 127.0.0.1:47143 - "POST /debug_stage HTTP/1.1" 200 OK
2026-02-26 19:18:26,812 - INFO - ========== [Stage 1] Task Understanding ==========
2026-02-26 19:18:27,220 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-26 19:18:27,220 - INFO - Task Understanding Results: mode=scene1, state=in_air, intent=generic_mission, risks=[]
2026-02-26 19:18:27,220 - INFO - ========== [Stage 2] Context Binding ==========
2026-02-26 19:18:27,276 - INFO - Context Binding Results: Required Actions=['Selector', 'Sequence', 'fly_to_waypoint', 'land', 'move_direction', 'object_detect', 'object_detected', 'rotate_search', 'take_photos', 'takeoff'], RAG Scopes=['location', 'pattern']
2026-02-26 19:18:27,276 - INFO - ========== [Stage 3] Macro Planning (Round 1) ==========
2026-02-26 19:18:27,278 - INFO - [Round 1] System Prompt Preview (first 500 chars):
任务:根据用户的自然语言指令,规划无人机的宏观执行流程结构,并提取执行该流程所需的外部参数。
你现在是第一阶段“宏观规划与意图提取”AI。你只需要做两件事
1. 分析意图并排出正确的骨架树(不需要填充任何 parameters/params
2. 从用户指令中提取出需要查询确切位置或目标属性的实体清单(如地标、方向、距离、识别目标)。
**严格约束**:仅输出符合以下 JSON 格式的数据,**禁止**包含任何外部分析、Markdown 标记外的纯文本,或者多余的字段。
输出格式约定:
```json
{
"macro_tree": { ... 纯结构树 ... },
"parameter_requests": [
{
"node": "节点名称",
"intent": "对该节点意图的简短描述",
"extracted_entities": {
"实体key": "实体value"
}
}
]
}
```
## 一、核心节点定义(裁剪后)
#### 1. 可用节点定义 (必须遵守...
2026-02-26 19:18:27,278 - INFO - [Round 1] User Prompt:
飞到广场东边50米
---
参考知识:
【地点知识】
{"property": "location", "information": {"name": "广场", "coordinates": {"x": 100, "y": 260, "z": 0}}}
{"property": "location", "information": {"name": "飞行场地", "coordinates": {"x": 0, "y": 0, "z": 0}}}
{"property": "location", "information": {"name": "大楼外围四个点东南天坐标系坐标", "coordinates": {"A": {"x": -24.0, "y": 241.8, "z": 0}, "B": {"x": -108.5, "y": 241.8, "z": 0}, "C": {"x": -108.5, "y": 289.8, "z": 0}, "D": {"x": -24.0, "y": 292.8, "z": 0}}}}
【任务模式】
无人机当前在空中往广场西边飞200米持续监控5分钟发现人就拍照告诉我到时间可以返航。
无人机当前在地面,去研究所正大门,搜索扎辫子女子,找到后拍照。
地面起飞后到面前大楼约12米高度沿外围巡查打开窗户如发现窗户则拍照回传。
---
2026-02-26 19:18:36,039 - INFO - HTTP Request: POST http://localhost:8081/v1/chat/completions "HTTP/1.1 200 OK"
2026-02-26 19:18:36,039 - INFO - [Round 1] Output Macro Tree:
{
"root": {
"type": "Sequence",
"name": "FlyToSquareEast50",
"children": [
{
"type": "action",
"name": "fly_to_waypoint"
}
]
}
}
2026-02-26 19:18:36,039 - INFO - [Round 1] Output Parameter Requests:
[
{
"node": "fly_to_waypoint",
"intent": "前往广场东边50米",
"extracted_entities": {
"landmark": "广场",
"direction": "东",
"distance": 50.0
}
}
]
INFO: 127.0.0.1:46185 - "POST /debug_stage HTTP/1.1" 200 OK