一个用于测试大模型提供商的命令行检测工具,支持所有使用 OpenAI Compatible 协议的提供商。
- 🎨 实时更新TUI界面 - 使用rich库创建美观的实时更新表格
- 🔍 自动获取提供商的所有可用模型
- ✅ 向每个模型发送测试消息并实时显示结果
- ⏱️ 记录响应时间、状态码和返回内容
- 🎯 彩色状态标记(成功/失败/测试中)
- 📊 使用表格格式清晰展示测试结果
- 🔄 支持多个提供商同时测试
- 🤖 自动识别Claude模型并添加max_tokens参数
- 📝 自动保存测试日志 - 每次测试自动生成时间戳命名的JSON日志文件,包含完整测试结果
pip install -r requirements.txt首次运行程序时,如果没有 config.json 文件,程序会自动创建一个样例配置文件:
python checker.py程序会:
- ✅ 自动创建
config.json样例文件 - 📝 显示配置步骤指引
- 🚫 等待你修改配置后再运行
也可以手动复制示例配置文件:
cp config.example.json config.json编辑 config.json 文件,添加你要测试的提供商信息:
{
"providers": [
{
"name": "OpenAI",
"base_url": "https://api.openai.com/v1",
"api_key": "sk-your-api-key-here"
},
{
"name": "Anthropic",
"base_url": "https://api.anthropic.com/v1",
"api_key": "sk-ant-your-api-key-here"
}
]
}参数说明:
name: 提供商名称(自定义,用于显示)base_url: API 基础 URL(通常以 /v1 结尾)api_key: API 密钥
特殊说明:
- Claude模型会自动添加
max_tokens: 10000参数 - 支持任何使用OpenAI Compatible协议的提供商
运行检测程序:
python checker.py程序会:
- 读取配置文件中的提供商信息
- 从每个提供商获取可用模型列表
- 向每个模型发送 "hi" 消息
- 记录响应时间和结果
- 以表格形式展示所有测试结果
程序使用Rich库创建了美观的TUI界面,提供:
- 🎨 实时更新表格 - 测试过程中表格会实时更新显示进度
- ✓ 状态图标 - 绿色✓表示成功,红色✗表示失败,黄色⟳表示测试中
- 🎨 彩色输出 - 不同状态使用不同颜色高亮显示
- ⏱️ 响应时间 - 精确到毫秒的响应时间统计
- 📝 详细信息 - 显示模型的实际回复内容或错误信息
界面布局:
- 左侧:模型名称(蓝色)
- 中间:状态标记(成功/失败/测试中)
- 右侧:响应时间(黄色)
- 最右:回复内容或错误信息
每次测试完成后,程序会自动在 logs/ 目录下创建一个JSON格式的日志文件,文件名格式为 test_YYYYMMDD_HHMMSS.json。
日志文件内容包括:
- test_time: 测试时间
- total_models: 测试的模型总数
- successful: 成功的模型数量
- failed: 失败的模型数量
- results: 每个模型的详细测试结果
provider: 提供商名称model_id: 模型IDstatus: 测试状态(success/failed)status_code: HTTP状态码response_time: 响应时间(秒)message: 完整的返回内容或错误信息(不截断)
示例日志文件 logs/test_20241004_223000.json:
{
"test_time": "2024-10-04 22:30:00",
"total_models": 3,
"successful": 2,
"failed": 1,
"results": [
{
"provider": "OpenAI",
"model_id": "gpt-3.5-turbo",
"status": "success",
"status_code": 200,
"response_time": 1.23,
"message": "Hello! How can I assist you today?"
}
]
}- 确保提供的 API 密钥有效且有足够的配额
- 测试过程中会产生少量 API 调用费用
- 如果模型数量较多,测试时间可能较长
- 默认超时时间为 60 秒