AI重构
This commit is contained in:
@@ -1,57 +1,51 @@
|
||||
# Test & Validation Tools (Unified)
|
||||
# 测试与验证工具
|
||||
|
||||
该目录包含用于测试无人机规划系统、API 接口及 LLM 服务的集成验证工具集。
|
||||
该目录用于接口回归、批量稳定性测试和结果导出。
|
||||
|
||||
## 🚀 快速开始
|
||||
|
||||
使用统一入口脚本启动交互式菜单:
|
||||
## 快速开始(完整命令)
|
||||
|
||||
```bash
|
||||
python run_tests.py
|
||||
cd /home/huangfukk/DronePlanning
|
||||
source backend_service/venv/bin/activate
|
||||
python tools/test_validate/run_tests.py
|
||||
```
|
||||
|
||||
## 🛠️ 测试模式
|
||||
|
||||
### 1. 交互式单次测试 (Mode 1)
|
||||
- **场景**: 快速验证单条指令,调试 Prompt。
|
||||
- **操作**: 在终端输入自然语言指令,即时获取结果。
|
||||
- **输出**: `validation/temporary/{指令名}/`
|
||||
- `response.json`: 完整 API 响应
|
||||
- `plan.png`: 可视化任务树
|
||||
- `process.log`: 请求与响应日志
|
||||
|
||||
### 2. 批量/场景测试 (Mode 2)
|
||||
- **场景**:
|
||||
- **场景测试**: 验证一组预定义指令的正确性(默认运行 1 次)。
|
||||
- **稳定性测试**: 对同一组指令进行高频重复测试(如运行 10 次),检测成功率和延迟抖动。
|
||||
- **操作**:
|
||||
1. 选择指令文件(位于 `instructions/` 目录)。
|
||||
2. 输入每条指令的运行次数(默认 1)。
|
||||
- **输出**: `validation/{时间戳}/`
|
||||
- `test_summary.csv`: 统计摘要(成功率、平均耗时)
|
||||
- `test_details.csv`: 每次运行的详细记录
|
||||
- `instructions_backup.txt`: 本次测试使用的指令备份
|
||||
- `{指令名}/`: 包含所有运行的 `.json` 和 `.png` 产物
|
||||
|
||||
## 📂 目录结构
|
||||
## 目录说明
|
||||
|
||||
```text
|
||||
tools/test_validate/
|
||||
├── instructions/ # 指令集文件 (.txt)
|
||||
├── modules/ # 功能模块
|
||||
│ ├── api_client.py # API 客户端核心
|
||||
│ ├── interactive_test.py # 交互式测试逻辑
|
||||
│ ├── batch_runner.py # 批量测试逻辑
|
||||
│ ├── visualizer.py # 可视化工具库
|
||||
│ ├── llm_tester.py # LLM 连接测试
|
||||
│ └── drone_uploader.py # 任务上传工具
|
||||
├── validation/ # 测试产物输出
|
||||
│ ├── temporary/ # 交互式测试结果
|
||||
│ └── {时间戳}/ # 批量测试结果
|
||||
└── run_tests.py # 主程序入口
|
||||
├── instructions/ # 指令集(.txt)
|
||||
├── modules/ # API 客户端、批量执行、可视化等
|
||||
├── validation/ # 输出结果目录
|
||||
└── run_tests.py # 统一入口
|
||||
```
|
||||
|
||||
## 📄 配置文件
|
||||
## 使用方式
|
||||
|
||||
- **instructions/validate_instructions.txt**: 默认的预定义场景指令集。
|
||||
- 您可以在 `instructions/` 下添加任意 `.txt` 文件,测试时会在菜单中自动列出供选择。
|
||||
- Mode 1:交互式单条测试(快速调试)
|
||||
- Mode 2:批量测试(场景回归/稳定性)
|
||||
|
||||
输出默认在 `tools/test_validate/validation/`,包括:
|
||||
|
||||
- `test_summary.csv`
|
||||
- `test_details.csv`
|
||||
- 每条指令的 `response.json` 与 `plan.png`
|
||||
|
||||
## 典型回归流程
|
||||
|
||||
```bash
|
||||
cd /home/huangfukk/DronePlanning
|
||||
source backend_service/venv/bin/activate
|
||||
|
||||
# 先确保后端已启动
|
||||
./start_all.sh status
|
||||
|
||||
# 运行测试菜单
|
||||
python tools/test_validate/run_tests.py
|
||||
```
|
||||
|
||||
## 常见问题
|
||||
|
||||
- 后端未启动:先执行 `./start_all.sh start` 或 `./start_all_vllm.sh start`
|
||||
- API 超时:查看 `logs/fastapi.log` 与模型日志
|
||||
- 结果目录为空:确认菜单中已实际执行测试轮次
|
||||
|
||||
Reference in New Issue
Block a user