一个基于 Flask 的本地大语言模型评测平台,支持模型配置、数据集管理、 自动评测、进度跟踪和结果查看。
本项目默认仅供本机或可信网络使用。它尚未内置完整的多用户认证系统, 不应直接暴露到公网。
- 管理 OpenAI 兼容接口和 Anthropic 接口模型;
- 使用 JSON 数据集执行知识问答与选择题评测;
- 支持精确匹配、包含匹配、模糊匹配、数值和语义等评测器;
- 后台执行评测任务并展示进度;
- 保存和查看评测结果;
- 管理提示词模板与评测标准。
- Python 3.10+
- Flask 3
- Flask-SQLAlchemy
- SQLite
- Jinja2、CSS 和原生 JavaScript
- Waitress(Windows 生产服务)或 Gunicorn(Linux)
PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.txtLinux/macOS:
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txtpython test_import.py检查使用内存数据库,不会修改本地评测数据。
python app.py默认访问地址:http://127.0.0.1:5000
Windows 也可以运行 start.bat,Linux/macOS 可以运行 ./start.sh。
进入“模型评测状态”页面后填写:
- 模型名称和版本;
- 提供商;
- OpenAI 兼容或 Anthropic API 地址;
- API 密钥。
仓库中的 config/builtin_models.json 只保存模型元数据,不包含真实密钥。
密钥保存在本地 SQLite 数据库中,查询接口不会返回完整密钥。请保护
instance/ 目录,并对曾经提交或共享过的密钥立即轮换。
项目不自动读取 .env 文件;请在运行进程的终端、服务管理器或密钥管理
系统中设置环境变量。可参考 .env.example。
| 变量 | 默认值 | 说明 |
|---|---|---|
APP_ENV |
development |
设为 production 时启用生产安全配置 |
APP_HOST |
127.0.0.1 |
服务监听地址 |
APP_PORT |
5000 |
服务端口 |
APP_DEBUG |
false |
是否开启 Flask 调试模式 |
FLASK_SECRET_KEY |
随机临时值 | 生产环境必须显式设置 |
ADMIN_PASSWORD |
未设置 | 删除评测结果所需口令;未设置时禁用删除 |
DATABASE_URL |
SQLite | SQLAlchemy 数据库连接 |
PowerShell:
$env:APP_ENV = "production"
$env:FLASK_SECRET_KEY = python -c "import secrets; print(secrets.token_hex(32))"
$env:ADMIN_PASSWORD = python -c "import secrets; print(secrets.token_urlsafe(24))"
python start_production.py生产服务仍默认绑定本机地址。公网部署必须增加 HTTPS、身份认证、访问控制 和反向代理,详见 DEPLOYMENT.md 与 SECURITY.md。
.
├── app/ Flask 应用、路由、模型、模板和静态资源
├── config/ 内置模型元数据
├── datasets/ 评测数据集与配置
├── evaluation_results/ 本地评测结果(Git 默认忽略)
├── instance/ 本地 SQLite 数据库(Git 默认忽略)
├── app.py 应用入口
├── start_production.py Waitress 生产入口
├── test_import.py 无副作用启动检查
└── requirements.txt Python 依赖
- SQLite 数据库、日志和评测结果默认不会提交;
- 数据集来源和授权边界见 DATASET_LICENSES.md;
- 发布评测结果前,应检查题目、标准答案、模型输出和时间戳是否允许公开。
发现安全问题时,请不要在公开 Issue 中粘贴密钥、数据库或完整日志。 处理方式见 SECURITY.md。
项目源代码和原创文档采用 MIT License。 第三方或改编数据集不自动适用 MIT License,其授权以 DATASET_LICENSES.md 和上游条款为准。