🚀 一款功能强大的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
- 📧 邮箱: [email protected]
- 🔗 GitHub: ikiwi/openai-api-benchmark
感谢以下项目和社区的支持:
- Nuxt - 现代Web框架
- shadcn/ui - 组件库
- Tailwind CSS - CSS框架
- OpenAI - API服务
MIT License © 2025 ikiwi
项目作者保留对项目的所有权利。使用本项目代码时,请遵守MIT许可证的条款。

