Add complete README with usage instructions

This commit is contained in:
OpenClaw 2026-03-03 00:23:10 +08:00
parent fc4b891c5f
commit 4f7eac3e08
2 changed files with 113 additions and 63 deletions

176
README.md
View File

@ -1,115 +1,165 @@
# LLM 性能测试工具 # LLM 性能测试工具
一个用于测试本地和云端大模型性能的网页应用,兼容 OpenAI API 格式。 一个用于本地和云端大模型性能测试的网页应用,兼容 OpenAI API 格式。
## 功能特性 ## 功能特性
- 🔧 **API 配置管理**:支持配置多个 LLM API 端点 - **API 配置管理**: 支持配置多个 LLM API 端点(如 Ollama、OpenAI、Azure 等)
- 🤖 **模型配置**:管理不同模型的参数设置 - **模型配置**: 设置模型名称、温度、最大 token 数等参数
- 📝 **测试用例管理**:创建、编辑、导入/导出测试用例 - **测试用例管理**: 创建、编辑、删除自定义测试用例
- ⚙️ **测试配置**:自定义并发数、请求次数等参数 - **性能测试**:
- 📊 **可视化图表**:实时显示 TTFT、TPS、延迟等指标 - 支持串行和并发测试
- 📈 **历史记录**:保存和对比多次测试结果 - 可配置迭代次数
- 🌐 **OpenAI API 兼容**:支持任何兼容 OpenAI API 的模型服务 - 支持流式和非流式模式
- **性能指标**:
## 性能指标 - **TTFT** (Time To First Token): 首 token 响应时间(毫秒)
- **TPS** (Tokens Per Second): 每秒生成 token 数
- **TTFT (Time To First Token)**:首 token 响应时间 - 总响应时间
- **TPS (Tokens Per Second)**:每秒生成 token 数 - 输入/输出 token 数量
- **总延迟**:完整响应时间 - **可视化图表**: 使用 Chart.js 生成直观的性能对比图表
- **吞吐量**:每分钟请求数 - **历史记录**: 保存测试结果,支持查看和对比
## 快速开始 ## 快速开始
### 1. 安装依赖 ### 1. 克隆仓库
```bash ```bash
git clone http://47.253.94.217:3000/zxu/llm_perf_test.git
cd llm_perf_test
```
### 2. 安装依赖
```bash
# Python 3.7+
pip install -r requirements.txt pip install -r requirements.txt
# Python 3.6
pip install flask==1.1.4 requests==2.27.1
``` ```
### 2. 启动应用 ### 3. 运行应用
```bash ```bash
python app.py python3 app.py
``` ```
或部署到生产环境: 应用将在 http://localhost:8001 启动
### 4. 一键部署
```bash ```bash
chmod +x deploy.sh
./deploy.sh ./deploy.sh
``` ```
### 3. 访问应用 部署脚本会:
- 安装依赖
- 创建 systemd 服务
- 启动并启用服务
- 部署到 8001 端口
打开浏览器访问 http://localhost:8001 ## 使用方法
## 使用说明
### 配置 API ### 配置 API
1. 点击"API 配置"标签 1. 打开网页界面 http://localhost:8001
2. 添加新的 API 配置: 2. 在"API 配置"标签页中设置:
- 名称:自定义标识 - API Base URL: 如 `http://localhost:11434/v1` (Ollama)
- Base URLAPI 端点地址(如 http://localhost:11434/v1 - API Key: 如果需要身份验证
- API Key认证密钥 - 模型名称: 如 `qwen2.5:latest`
3. 点击"验证连接"测试配置是否正确
### 配置模型
1. 点击"模型配置"标签
2. 添加模型配置:
- 选择对应的 API 配置
- 输入模型名称
- 设置温度、最大 token 数等参数
### 管理测试用例 ### 管理测试用例
1. 点击"测试用例"标签 在"测试用例"标签页中:
2. 添加测试提示词 - 添加新的测试用例(名称、提示词、期望长度)
3. 支持批量导入/导出 JSON 格式 - 编辑现有测试用例
- 删除不需要的测试用例
- 选择要运行的测试用例
### 运行测试 ### 运行测试
1. 点击"性能测试"标签 在"性能测试"标签页中:
2. 选择要测试的模型 1. 选择测试用例
3. 选择测试用例 2. 配置测试参数:
4. 设置并发数和请求次数 - 迭代次数:每个测试用例运行多少次
5. 点击"开始测试" - 并发数:同时运行的请求数
- 流式模式:是否使用流式 API 调用
3. 点击"开始测试"
4. 等待测试完成,查看结果
### 查看结果 ### 查看结果
- 实时查看 TTFT、TPS 等指标 - 实时查看 TTFT、TPS 等指标
- 查看详细的响应数据 - 查看成功率统计
- 导出结果为 JSON 格式 - 导出详细的测试报告
- 在历史记录中对比不同测试结果
## API 兼容性 ## API 兼容性
本工具兼容任何实现 OpenAI API 格式的服务 本工具兼容以下 LLM API 格式
- OpenAI GPT 系列 - **Ollama**: `http://localhost:11434/v1`
- Ollama (本地模型) - **OpenAI**: `https://api.openai.com/v1`
- vLLM - **Azure OpenAI**: `https://{resource}.openai.azure.com/openai/deployments/{deployment}`
- text-generation-inference - **其他兼容 OpenAI API 的服务**
- 其他兼容服务
## 项目结构 ## 性能指标说明
| 指标 | 说明 | 单位 |
|------|------|------|
| TTFT | Time To First Token从发送请求到收到第一个 token 的时间 | 毫秒 (ms) |
| TPS | Tokens Per Second模型生成 token 的速度 | tokens/秒 |
| Total Time | 完整请求的响应时间 | 秒 (s) |
| Success Rate | 成功请求的比例 | % |
## 文件结构
``` ```
llm_perf_test/ llm_perf_test/
├── app.py # Flask 主应用 ├── app.py # Flask 应用主程序
├── requirements.txt # Python 依赖
├── deploy.sh # 部署脚本 ├── deploy.sh # 部署脚本
├── requirements.txt # Python 依赖
├── README.md # 使用说明 ├── README.md # 使用说明
└── templates/ ├── templates/
└── index.html # 前端页面 │ └── index.html # 前端页面
└── data/ # 数据存储目录
├── config.json # API 配置
├── test_cases.json # 测试用例
└── results.json # 测试结果
``` ```
## 技术栈 ## 系统要求
- **后端**: Python + Flask - Python 3.6+
- **前端**: HTML + JavaScript + Chart.js - 内存: 至少 512MB
- **UI**: Tailwind CSS - 磁盘: 至少 100MB 可用空间
- **数据存储**: SQLite (JSON 文件)
## License ## 服务管理
```bash
# 查看状态
sudo systemctl status llm_perf_test
# 查看日志
sudo journalctl -u llm_perf_test -f
# 停止服务
sudo systemctl stop llm_perf_test
# 重启服务
sudo systemctl restart llm_perf_test
# 禁用开机启动
sudo systemctl disable llm_perf_test
```
## 访问地址
- 本地: http://localhost:8001
- 局域网: http://<服务器IP>:8001
## 许可证
MIT License MIT License

0
deploy.sh Normal file → Executable file
View File