🚀 一款功能强大的OpenAI API基准测试工具,支持多家兼容OpenAI API格式的提供商,实时测量首字时延(TTFT)和每秒token数(TPS),帮助您快速评估和对比不同API提供商的性能。 本工具所有配置数据均保存在浏览器本地,不会上传。
- 📊 实时性能监控 - 实时测量API响应时间和吞吐量
- 🔄 并发测试 - 支持多并发请求同时测试多个API
- 🎯 多API对比 - 支持同时测试OpenAI、DeepSeek等多家兼容OpenAI格式的API提供商
- 📈 详细报告 - 生成详细的测试结果表格和性能指标
- 🌙 深色/浅色主题 - 支持主题切换,适应不同工作环境
- 💾 配置管理 - 灵活的API配置,支持多模型和多密钥
| 技术 | 版本 | 说明 |
|---|---|---|
| Nuxt | 4.2.1 | 现代Vue 3全栈框架 |
| Vue | 3.5.25 | 渐进式JavaScript框架 |
| shadcn/ui | 2.4.2 | 基于Radix UI的Vue组件库 |
| Tailwind CSS | 4.1.17 | 原子化CSS框架 |
| TypeScript | 5.9.3 | 类型安全的JavaScript |
| gpt-tokenizer | 3.4.0 | Token计数器 |
openai-api-benchmark/ ├── app/ # 应用源代码 │ ├── app.vue # 根组件(主题切换) │ ├── pages/ # 页面组件 │ │ └── index.vue # 主页面(测试界面) │ ├── components/ # Vue组件 │ │ ├── TestResultTable.vue # 测试结果表格组件 │ │ └── ui/ # UI组件库(shadcn/ui) │ ├── lib/ # 工具函数 │ │ └── utils.ts # 通用工具函数 │ └── assets/ # 静态资源 │ └── css/ │ └── tailwind.css # Tailwind样式配置 ├── public/ # 公共静态文件 ├── api_config_example.json # API配置示例文件 ├── nuxt.config.ts # Nuxt配置文件 ├── tailwind.config.js # Tailwind CSS配置 ├── tsconfig.json # TypeScript配置 ├── package.json # 项目依赖配置 ├── pnpm-workspace.yaml # pnpm工作区配置 ├── Dockerfile # Docker容器配置 ├── components.json # shadcn/ui组件清单 └── README.md # 项目文档 - Node.js ≥ 18.x
- pnpm ≥ 8.x
# 安装pnpm(如未安装) npm install -g pnpm # 安装项目依赖 pnpm install-
复制配置示例文件:
cp api_config_example.json api_config.json
-
编辑
api_config.json,添加您的API配置:{ "apis": [ { "name": "OpenAI", "base_url": "https://api.openai.com/v1", "api_key": "sk-your-api-key", "model": "gpt-3.5-turbo", "enabled": true }, { "name": "DeepSeek", "base_url": "https://api.deepseek.com/v1", "api_key": "sk-your-api-key", "model": "deepseek-chat", "enabled": true } ] }
# 启动开发服务器(热重载) pnpm run dev # 访问:http://localhost:3000# 生成静态文件 pnpm run generate # 构建应用 pnpm run build # 预览生产构建 pnpm run preview| 指标 | 说明 |
|---|---|
| TTFT (Time To First Token) | 首字时延,从发送请求到收到第一个token的时间,单位:毫秒 |
| TPS (Tokens Per Second) | 每秒token数,衡量API的吞吐量,单位:tokens/s |
- 配置API - 在
api_config.json中配置需要测试的API,并导入,也可以手动添加 - 输入提示词 - 在UI中输入测试提示词,默认一般不需要更改
- 设置并发数 - 选择并发请求数量,默认500
- 开始测试 - 点击开始按钮,工具会对所有已启用的API进行并发测试
- 查看结果 - 实时查看每个API的性能指标和统计信息
# 构建Docker镜像 docker build -t openai-api-benchmark . # 运行容器 docker run -p 3000:3000 openai-api-benchmark创建 docker-compose.yml:
version: '3.8' services: benchmark: build: . ports: - "3000:3000" environment: - NODE_ENV=production运行:
docker-compose up| 命令 | 说明 |
|---|---|
pnpm install | 安装依赖 |
pnpm run dev | 启动开发服务器(含热重载) |
pnpm run build | 生产构建 |
pnpm run generate | 生成静态站点 |
pnpm run preview | 预览生产构建 |
{ "apis": [ { "name": "API显示名称", "base_url": "API基础URL", "api_key": "认证密钥", "model": "模型名称", "enabled": true } ] }字段说明:
- name (string) - API提供商名称,用于UI显示
- base_url (string) - API基础URL,例如:
https://api.openai.com/v1 - api_key (string) - API认证密钥,OpenAI和DeepSeek的API-Key格式为
sk-... - model (string) - 模型名称,例如:
gpt-3.5-turbo、deepseek-chat - enabled (boolean) - 是否在测试中启用该API,设为
false可临时禁用
- 任意兼容OpenAI API的提供商 - 任何遵循OpenAI API标准的服务
欢迎提交Issue和Pull Request!
- 🐛 Bug报告 - 请在Issues中详细描述复现步骤
- 💡 功能建议 - 欢迎提交功能请求和改进建议
- 📝 文档反馈 - 如发现文档问题,请提交修正
- 👨💻 作者: ikiwi
- 📧 邮箱: ikiwicc@gmail.com
- 🔗 GitHub: ikiwi/openai-api-benchmark
感谢以下项目和社区的支持:
- Nuxt - 现代Web框架
- shadcn/ui - 组件库
- Tailwind CSS - CSS框架
- OpenAI - API服务
MIT License © 2025 ikiwi
项目作者保留对项目的所有权利。使用本项目代码时,请遵守MIT许可证的条款。

