Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minos Bench:可追溯的大模型评测工作台

许可证:MIT Python:3.11-3.13 离线测试 本地优先

**Minos Bench(米诺斯审判台)**是一套面向 Prompt、RAG、对话应用和工具调用 Agent 的本地评测工作台。它把题集版本、匿名运行、确定性检查、结构化 Judge、Bad Case 归因、追加式恢复和源证据复核组织在同一条可追溯链路中。

这个项目重点解决的不是“再算一个总分”,而是三个更实际的问题:

  • 同一道题在不同模型、Prompt 和参数下,能否按相同条件复跑;
  • API 失败、规则错误、Judge 误判和目标回答错误,能否被分开记录;
  • 一个结论能否回到具体题目、Rubric、工具轨迹和源证据,而不是只留下模型排名。

核心能力

能力 实现
多配置匿名运行 四个逻辑槽位统一接入,运行时隐藏目标模型身份
BYOK 模型接入 LiteLLM 适配 OpenAI-compatible Responses、Anthropic Messages 等协议
确定性检查 JSON Schema、工具名、参数、调用顺序、状态和安全门禁由代码直接核验
结构化 Judge 语义 Rubric 逐项返回 PASSFAILABSTAIN,Judge 只提供 advisory 结论
源证据裁决 争议样本回到题面、可见证据、Gold/反例和登记规则复核
失败分层 运行错误、数据无效、规则失败、Judge 分歧和内容失败分别记录
追加式恢复 只补超时、空响应或不完整节点,不重复已成功目标回答
中文工作台 Streamlit 页面覆盖配置、运行、比较、单题复核、Bad Case 和报告
本地凭据隔离 Windows 使用当前用户 DPAPI,凭据保存在仓库外且不在页面回显

评测链路

flowchart LR
    A[题集、Rubric 与来源台账] --> B[版本和 hash 封印]
    B --> C[匿名目标运行]
    C --> D[确定性直接检查]
    C --> E[结构化 Judge]
    D --> F[Bad Case 与切片报告]
    E --> F
    F --> G[源证据复核]
    G --> H{可发布?}
    H -- 是 --> I[版本比较与回归资产]
    H -- 否 --> J[修正规则、题目或实现]
Loading

评测对象不是一个裸模型名,而是“模型 + Prompt + 生成参数 + 题集版本”的配置。运行前固定数据和规则;运行后只允许恢复技术失败。已经成功生成但内容答错的回答不会重跑到通过。

快速开始

Windows 一键启动

git clone https://github.com/IIMovoMII/minos-bench.git
cd minos-bench

双击:

启动评测工作台.cmd

启动器会在本地同步锁定依赖,并在 127.0.0.1 打开 Streamlit。首次进入“模型配置”页,填写模型 ID、协议、Base URL、API Key 和思考强度。

快速体验可以让三个目标槽位复用一个模型,再配置一个独立 Judge;需要做真实比较时,再分别配置候选 A、候选 B、弱基线和 Judge。

手动启动

需要 Python 3.11-3.13 和 uv

uv sync --frozen --no-editable --link-mode copy
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\start_ui.ps1

只跑离线验收

下面的命令不会读取模型配置,也不会请求 Provider:

powershell.exe -NoProfile -ExecutionPolicy Bypass `
  -File .\scripts\run_scientific_offline_acceptance.ps1

三层裁决

Minos Bench 不把所有判断都塞给 Judge。

  1. 代码直接检查:结构、字段、数值、工具合同、调用顺序、最终状态和高风险副作用。
  2. 结构化 Judge:证据支持、冲突披露、拒答边界、同义表达等无法稳定用字符串规则判断的语义项。
  3. 源证据复核:Judge 与直接检查冲突,或题目本身可能无效时,回到题面、可见证据、登记标准和工具结果重新裁决。

critical 只用于真正的越权写操作、错误付款、数据泄露和安全门禁。普通格式、计算或引用问题不会被随意升级为一票否决。

一个真实的校准案例

V6.2 用四个复合机制候选验证这条裁决链:

  • 3 个 calibration 机制 × 4 个匿名配置 = 12 份目标回答;
  • 1 个 holdout 机制 × 4 个匿名配置 = 4 份目标回答;
  • 共保存 16 份有效回答,并纠正 1 次 Judge 错误放行;
  • 上下文提前泄漏、隐藏 Oracle 和旧输出预算均被定位并修复。

这轮证明了执行与裁决链能够发现自身错误,但没有证明题集已经能稳定拉开强模型差距。因此仓库不把 15/16 写成准确率,也不发布模型排行榜。PO-01 仅保留为初步 Challenge 候选,TR-01AU-01IR-01 转为 Regression。

完整证据:

数据与版本

datasets/
  scientific_v3/                 历史冻结回归集
  scientific_v4/                 来源驱动候选题集
  scientific_v5/                 机制校准候选
  scientific_v6_candidate_pool/  V6 合同与 Oracle 候选
  scientific_v61_candidate_pool/ V6.1 独立候选池
  scientific_v62_challenge_pool/ V6.2 复合机制池

每个正式数据版本都使用 manifest、seal 和文件 hash 绑定题面、来源审计与 case ID。历史版本用于回归和失败复盘,不会因为新题集出现而被改写成新的模型成绩。

运行工件默认不进入 Git。仓库只保留经过脱敏、身份盲且有解释用途的少量公开样例。

参考项目与实际改造范围

  • DeepEval 提供评测指标与 LLM-as-a-Judge 生态参考;本项目不把单次 Judge 输出直接当作 Gold。
  • LiteLLM 负责统一不同 Provider 的调用接口;模型配置和凭据始终留在本机。
  • PromptfooInspect AIOpik 用于参考矩阵运行、评测记录和结果追踪的产品方法。

Minos Bench 自行实现题集合同、hash 封印、匿名四配置运行、确定性检查、Judge 路由、追加式恢复、Bad Case 分层和源证据裁决。仓库没有复制上述项目的题库、运行结果或业务数据;依赖、方法迁移和原创实现边界记录在公开方法与仓库参照审计

项目结构

app.py                     Streamlit 中文工作台
src/llm_eval_workbench/    执行、检查、Judge、恢复、报告与裁决
datasets/                  版本化题集、fixture、manifest 和 seal
configs/                   可复现运行计划
scripts/                   启动、离线验收和有限运行入口
tests/                     provider-free 单元与链路测试
docs/                      数据卡、方法审计、失败复盘和版本说明
artifacts/                 本地运行工件;默认不提交

测试与公开安全审计

uv run pytest -q
git add -A
uv run python .\scripts\audit_public_commit.py

公开提交审计只报告命中的规则、文件和行号,不输出疑似凭据原文。它会阻止 .env、本地 profile、数据库、抓包、证书、私有绝对路径、静态凭据和未允许的运行工件进入提交。

凭据与数据边界

  • 工作台默认只绑定 127.0.0.1
  • Windows 凭据使用当前用户 DPAPI,并保存在 %LOCALAPPDATA% 下的仓库外目录;
  • UI 不预填或回显 API Key 和完整 Base URL;
  • 每次真实请求都由用户显式启动,缺失凭据或 Provider 错误不会破坏已保存结果;
  • 公开仓库不包含 API Key、Token、Cookie、个人模型配置、原始请求日志或本地数据库。

更多说明见 SECURITY.md

方法与文档

边界

Minos Bench 是个人 POC 和评测工程样例,不是托管评测服务。它不会自动替代领域专家,也不会把单次 Judge 输出当成最终事实。模型排名只有在题集有效性、Judge 校准、运行完整性和源证据复核同时满足后才允许发布。

License

MIT License

About

本地优先的 LLM 评测工作台:题集治理、匿名多配置运行、确定性检查、Judge 校准、Bad Case 归因与可恢复报告。

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages