Skip to content

一个用于测试大模型提供商的命令行检测工具,支持所有使用 OpenAI Compatible 协议的提供商。

Notifications You must be signed in to change notification settings

1e0n/LLM_Checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LLM Provider Checker

一个用于测试大模型提供商的命令行检测工具,支持所有使用 OpenAI Compatible 协议的提供商。

功能特性

  • 🎨 实时更新TUI界面 - 使用rich库创建美观的实时更新表格
  • 🔍 自动获取提供商的所有可用模型
  • ✅ 向每个模型发送测试消息并实时显示结果
  • ⏱️ 记录响应时间、状态码和返回内容
  • 🎯 彩色状态标记(成功/失败/测试中)
  • 📊 使用表格格式清晰展示测试结果
  • 🔄 支持多个提供商同时测试
  • 🤖 自动识别Claude模型并添加max_tokens参数
  • 📝 自动保存测试日志 - 每次测试自动生成时间戳命名的JSON日志文件,包含完整测试结果

安装依赖

pip install -r requirements.txt

配置

首次使用(自动创建配置)

首次运行程序时,如果没有 config.json 文件,程序会自动创建一个样例配置文件:

python checker.py

程序会:

  1. ✅ 自动创建 config.json 样例文件
  2. 📝 显示配置步骤指引
  3. 🚫 等待你修改配置后再运行

手动创建配置

也可以手动复制示例配置文件:

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

程序会:

  1. 读取配置文件中的提供商信息
  2. 从每个提供商获取可用模型列表
  3. 向每个模型发送 "hi" 消息
  4. 记录响应时间和结果
  5. 以表格形式展示所有测试结果

界面特性

程序使用Rich库创建了美观的TUI界面,提供:

  • 🎨 实时更新表格 - 测试过程中表格会实时更新显示进度
  • 状态图标 - 绿色✓表示成功,红色✗表示失败,黄色⟳表示测试中
  • 🎨 彩色输出 - 不同状态使用不同颜色高亮显示
  • ⏱️ 响应时间 - 精确到毫秒的响应时间统计
  • 📝 详细信息 - 显示模型的实际回复内容或错误信息

界面布局:

  • 左侧:模型名称(蓝色)
  • 中间:状态标记(成功/失败/测试中)
  • 右侧:响应时间(黄色)
  • 最右:回复内容或错误信息

日志文件

每次测试完成后,程序会自动在 logs/ 目录下创建一个JSON格式的日志文件,文件名格式为 test_YYYYMMDD_HHMMSS.json

日志文件内容包括:

  • test_time: 测试时间
  • total_models: 测试的模型总数
  • successful: 成功的模型数量
  • failed: 失败的模型数量
  • results: 每个模型的详细测试结果
    • provider: 提供商名称
    • model_id: 模型ID
    • status: 测试状态(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 秒

About

一个用于测试大模型提供商的命令行检测工具,支持所有使用 OpenAI Compatible 协议的提供商。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages