FFFF
Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gpt-checker

CI License: MIT

检测 OpenAI 兼容中转 API 是否真实路由到申报的 GPT 型号(sol / terra / luna)。 Detect model mixing on OpenAI-compatible relay APIs.

当你在用第三方中转站时,最担心的问题莫过于:付的是高档模型的钱,拿到的是不是真的高档模型? gpt-checker 通过四类探针,对本机发起的固定请求做行为取证,识别中转是否偷偷把流量路由到廉价档位。

🚀 小白用户看这里:不需要懂任何原理,三步复制粘贴即可完成检测 → 五分钟上手(小白版)

  • 零依赖:纯 Python 3.9+ 标准库,克隆即用;
  • 离线自检:内置 mock 上游,selftest 不发任何外网请求;
  • key 安全:API key 只经环境变量进入内存,报告/日志/错误信息全程脱敏;
  • 诚实结论:明确声明"不通过≠掺水、通过≠干净",不做过度归责。

工作原理

探针 原理 无需校准?
juice 多套恒等变形模板索要内部思考预算数字,按型号指纹表分类;命中其他型号独占值 → 确定性 mismatch 需要 fingerprints 表
integrity 索要精确输出 32/48;出现纯 4040 开头数字 → 硬报警"输出改写"
override 显式定义自定义预算 N;若回答被改回已知指纹值 → 隐藏语义覆盖报警
behavioral 固定题面(国家 / 鸟 / 80字符计数)× N 次采样的答案类别分布,与可信基线做统计比对 需要可信基线

行为评分数学:Laplace α=0.5 平滑 → 单族平均对数似然 → softmax(T=1) 相对匹配度 → 严格大于阈值且恰好一个模型越线才给强指向。完整方法论见 references/methodology.md

快速开始

git clone https://github.com/fxw-labs/gpt-checker.git
cd gpt-checker

# 离线自检(不联网)
python3 scripts/detector.py selftest
# 对待测端点跑一轮探测(自动补全 /v1;Responses SSE 优先,自动回退 chat completions)
export GPT_CHECKER_KEY="sk-..."

python3 scripts/detector.py probe \
  --base-url https://relay.example.com \
  --model terra \
  --request-model my-alias \      # 中转自定义别名时填写,默认同 --model
  --samples 12 \
  --out report.json

# 有可信基线时离线评分
python3 scripts/detector.py score --report report.json --baseline baselines/trusted-terra.json

校准(强烈建议)

自带指纹为占位值。首次正式使用前,向可信直连端点采样刷新:

python3 scripts/detector.py collect-fingerprint \
  --base-url https://trusted.example.com --model terra \
  --effort-tiers low,medium,high --trials 8

python3 scripts/detector.py collect-baseline \
  --base-url https://trusted.example.com --model terra \
  --samples 12 --out baselines/trusted-terra.json   # 该文件不会也不应入库

详见 references/baselines.md

结果解读

报告关键字段:

  • hard_events[] — 粘性硬报警(输出改写 / override 命中 / 异型号独占指纹),出现即强证据;
  • juice.verdictmatch_declared > insufficient > possible_non_gpt > mismatch(取最差档);
  • behavioral_scores.match.* — 三模型相对匹配度百分比;
  • behavioral_scores.strong_match — 完成率 ≥90% 且恰好一个模型严格超阈时给出;
  • claim_mismatch: true — 强指向 ≠ 申报型号。

强指向阈值(严格大于):

档位(每族样本数) sol terra luna
低 (≤4) >54% >58% >77%
中 (≤12) >82% >84% >97%
高 (>12) >98% >97% >99%

重要边界

  • 检测不通过 ≠ 中转主动掺水——官方风控、IP、并发限流都可能让可信号池临时落层。争议时降并发、换时段/IP 复测。
  • 检测通过 ≠ 绝对干净——透明代理、"仅对检测请求路由真模型"无法排除。
  • 匹配度是分布接近度,不是路由概率,也不是贝叶斯后验身份概率。
  • 仅在你有权测试的 API 上使用;控制请求量,遵守上游条款。

完整说明见 references/caveats.md

数据安全

  • API key 仅经环境变量进入内存,绝不写入 SQLite、JSON 报告、日志或磁盘;
  • 报告只存答案 SHA-256 哈希、类别、状态码、延迟等元数据;
  • 自检完全离线(mock 上游绑定 127.0.0.1 随机端口)。

项目结构

SKILL.md                   # agent 工作流入口(本目录亦可作为 skill 安装)
scripts/detector.py        # 检测引擎(纯标准库单文件)
scripts/fingerprints.json  # juice 指纹表(占位值,应校准刷新)
references/
├── quickstart.md          # 五分钟上手(小白版,三步复制粘贴)
├── methodology.md         # 四类探针原理与数学
├── baselines.md           # 校准流程与基线 schema 说明
└── caveats.md             # 解读边界与责任声明
baselines/schema.json      # 基线文件 JSON Schema (draft-07)

免责声明

本工具给出的是本次固定探针请求的行为证据,不证明服务器物理归属,不替代供应商审计。作者不对使用方式及后果承担责任。

许可证

MIT

About

检测 OpenAI 兼容中转 API 是否真实路由到申报的 GPT 型号 | Model mixing detector for OpenAI-compatible relay APIs (sol/terra/luna)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

0