news 2026/10/4 7:56:46

MingLi-Bench参数完全清单:从--cot、--astro到--shuffle-options逐项拆解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MingLi-Bench参数完全清单:从--cot、--astro到--shuffle-options逐项拆解

MingLi-Bench参数完全清单:从--cot、--astro到--shuffle-options逐项拆解

【免费下载链接】MingLi-BenchA benchmark for evaluating LLMs on Chinese traditional fortune telling — Bazi (八字) and Ziwei Doushu (紫微斗数).项目地址: https://gitcode.com/gh_mirrors/mi/MingLi-Bench

MingLi-Bench 是一个面向大语言模型(LLM)的中国传统命理评测基准,涵盖八字与紫微斗数,内置 160 道选择题。它通过--cot、--astro、--shuffle-options等命令行参数精细控制评测变量,帮你看清一个模型到底是在"排盘"上出错,还是在"推理"上翻车。本文逐项拆解这些参数,让你第一次运行也能用对配置。

为什么需要这些参数:一次命理评测到底在测什么 🎯

MingLi-Bench 的题目来源于全球算命师大赛 2022–2025 年度赛题,全部整理为选择题,按与标准答案完全一致来评分,并划分进事业、健康、婚姻、财运等十二大类。原始数据见 data/raw/,整理后的数据集为 data/data.json。

命理问答包含两个环节:排盘(根据生辰推出八字 / 紫微斗数命盘)与推理(基于命盘推算事件)。如果让模型全程自己来,分数高低就无法区分是"排盘排错了"还是"推理推错了"。这正是各参数存在的意义:

  • --cot控制是否要求模型先分析推理、再给答案;
  • --astro控制是否注入预先排好的命盘,把排盘环节从模型手里拿走;
  • --shuffle-options控制是否打乱选项顺序,消除位置偏差。

理解了这个"控制变量"的思路,下面每个参数的作用就一目了然了。

快速上手:一条命令跑通 MingLi-Bench 评测 ⚡

克隆仓库后安装依赖,配置好.env中的 API 密钥(详见 README_zh.md 的配置章节):

pip install -r requirements.txt python -m mingli_bench.cli --model openai/gpt-4o --year 2025 --cot --astro

官方推荐的默认配置是始终开启--cot与--astro:这样评测分数反映的是模型的推理能力,而不是它的排盘准确度。仅当你想做消融实验时才关闭它们。

核心参数逐项拆解 🔍

参数定义集中在 cli.py,运行逻辑在 benchmark.py。以下按"影响结果的深度"从高到低逐个讲解。

1.--model/-m:指定要评测的大模型(必填)

模型名有两套写法,路由规则见 factory.py:

  • 含/的写法:视为 OpenRouter 的provider/model形式(如openai/gpt-4o、anthropic/claude-sonnet-4-6),一个 OpenRouter 密钥即可调用大多数模型;
  • 无/的写法:按前缀自动推断服务商——gpt-*、o1-*、o3-*→ OpenAI,claude-*→ Anthropic,gemini-*→ Google,deepseek-*→ DeepSeek,doubao-*→ 豆包。

不确定自己配了哪些密钥时,先用--list-models查看支持的模型列表。

2.--platform:强制指定调用平台

默认按模型名自动推断路由,但遇到自动识别不了的情况(比如带版本号的豆包 endpoint id),可以显式指定:

python -m mingli_bench.cli --platform doubao --model doubao-seed-2-0-pro-260215 --cot --astro

可选值:openai、openrouter、anthropic、google、deepseek、doubao(定义于 cli.py)。

3.--cot:开启思维链(CoT)推理

开关参数,默认关闭。开启后,发给模型的指令从"请直接给出答案"变为"请先分析推理过程,然后给出答案"。两种提示词的差异可以在 benchmark.py 中直接看到。

命理题目往往需要逐柱、逐宫位推演,思维链给模型留出了足够的思考空间,因此官方建议默认开启;关闭--cot只适合测"直答能力"的消融实验。

4.--astro:注入预先排好的八字 / 紫微斗数命盘

开关参数,默认关闭。开启后,程序会从 data/fortune_api_results.json 中按case_id取出预先排定的命盘,注入到提示词的"命主信息"与"问题"之间,包括:

  • 八字四柱、时辰、五行局、生肖;
  • 紫微斗数十二宫位(命宫、夫妻、财帛、官禄……)的主星与辅星分布。

注入逻辑见 loader.py 与 benchmark.py。这一步把排盘与推理两个环节解耦:模型拿到的是"标准答案级"的命盘,考卷上只剩推理题,评测结果对不同排盘能力的模型才公平。

5.--shuffle-options:随机打乱选项,杜绝位置偏差

部分模型存在"偏爱选 A"之类的答题倾向,若选项顺序固定,分数可能被高估。开启此参数后,每道选择题的 A–D 顺序会被打乱(实现见 loader.py),且有两个贴心设计:

  • 确定性打乱:以题目 ID 的哈希作为随机种子,同一道题每次运行打乱结果一致,便于复现对比;
  • 无不动点约束:保证打乱后没有任何一个选项留在原位,位置偏差被真正消除。

每道题的原始答案、新答案及选项映射(如A→C, B→A)都会记录在结果文件的【选项打乱信息】中,方便人工核对。

6.--year/--categories/--sample:筛选题目范围 📊

参数作用
--year, -y只评测某一赛年的题目(2022–2025,每年 40 题),年份按题号自动推断
--categories, -c按类别筛选,可选:事业、健康、外貌、婚姻、子女、学业、官非、家庭、性格、灾劫、财运、运势
--sample, -s N只评测前 N 题,适合快速冒烟自测

三者可以叠加使用,例如--year 2025 --categories 财运 运势。运行--stats可先查看数据集的年份与类别分布再决定筛选条件。

7.--max-workers/--output-dir/--no-save:并发与结果输出

  • --max-workers:并发调用 API 的线程数,默认5;速率限制允许时可提高到 8–16,触发限流则调低;
  • --output-dir, -o:结果输出目录,默认logs/。每次运行生成<model>_<时间戳>/,内含results.json(逐题预测与打分)、summary.txt(核心指标摘要)和responses/(每题完整提示词与模型原始回复,逐题存为独立文件);
  • --no-save:只在终端打印摘要,不写文件。

8.--data-path/--env-file:数据与密钥切换

  • --data-path:指定自定义题库文件,默认自动定位 data/data.json;
  • --env-file:指定另一套.env文件,方便切换不同的密钥组合。所有可配置的环境变量(TIMEOUT、MAX_TOKENS、TEMPERATURE等)见 config.py。

参数速查表 ✅

参数默认值一句话说明
--model, -m必填模型名,含/走 OpenRouter,否则按前缀推断服务商
--platform自动推断强制指定调用平台,覆盖前缀推断
--cot关闭提示词中加入思维链指令,建议常开
--astro关闭注入预排八字/紫微命盘,解耦排盘与推理,建议常开
--shuffle-options关闭每题确定性打乱选项顺序,消除位置偏差
--year, -y全部仅评测指定年份(2022–2025)的题目
--categories, -c全部按十二大类筛选,如事业 婚姻
--sample, -s N全部仅评测前 N 题,快速自测
--max-workers5并发 API 请求数
--output-dir, -ologs结果文件输出目录
--no-save关闭仅输出到终端,不写文件
--data-path自动自定义题库文件路径
--env-file.env指定其他 env 文件
--list-models—列出受支持模型后退出
--stats—打印数据集统计信息后退出(可搭配--year)

完整帮助:python -m mingli_bench.cli --help。

3 种常见场景的推荐组合 🧪

① 冒烟自测(第一次跑通流程)

python -m mingli_bench.cli --model openai/gpt-4o --sample 10 --no-save

用 10 道题快速验证密钥、路由、打分链路是否正常。

② 标准评测(官方推荐配置)

python -m mingli_bench.cli --model openai/gpt-4o --year 2025 --cot --astro --shuffle-options

开启思维链 + 预排命盘 + 选项打乱,分数最能反映模型的真实命理推理水平。

③ 消融实验(定位短板)

分别关闭--cot或--astro各跑一遍,对比分数变化:掉分多说明模型缺"推理空间"或"排盘能力",从而精准定位短板。

小结

MingLi-Bench 的参数设计围绕"控制变量"展开:--cot管推理深度,--astro管排盘解耦,--shuffle-options管选项公平,--year/--categories/--sample管题目范围,其余参数管并发、输出与密钥配置。按"标准评测"组合起步,再针对自己的研究问题做消融,就能充分发挥这套八字 / 紫微斗数 LLM 评测基准的价值。

【免费下载链接】MingLi-BenchA benchmark for evaluating LLMs on Chinese traditional fortune telling — Bazi (八字) and Ziwei Doushu (紫微斗数).项目地址: https://gitcode.com/gh_mirrors/mi/MingLi-Bench

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/4 7:56:23

Max-transition本质解析:时序收敛的物理校准接口

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/4 7:55:14

USB设备描述符请求失败(错误代码39)深度解析

1. 这个“设备描述符请求失败”到底在报什么——从USB协议底层看错误代码39的本质很多人看到Quartus Prime里USB-Blaster显示黄色感叹号、设备管理器弹出“Windows无法加载此设备的驱动程序&#xff08;错误代码39&#xff09;”&#xff0c;第一反应是“重装驱动”“换线”“重…

作者头像 李华
网站建设 2026/10/4 7:54:32

Jetson AGX Xavier 功耗与热管理实战:风扇、NV Power Mode 与监控全解析

大概两年前我接手一个边缘计算项目&#xff0c;设备用的就是 NVIDIA Jetson AGX Xavier。第一次把满载的模型推理任务丢上去&#xff0c;不到五分钟风扇就进入“起飞模式”&#xff0c;整个机箱在机柜里嗡嗡作响。当时我下意识打开nvidia-smi&#xff0c;结果发现这块板子根本不…

作者头像 李华
网站建设 2026/10/4 7:51:10

DeepSeek Harness桌面端实战:Skill管理、内网部署与代码回退指南

从 DeepSeek Harness 还在命令行里打天下的时候开始&#xff0c;我就一直盼着它能出桌面端。原因很朴素&#xff1a;CLI 版本再强大&#xff0c;当你同时开着三个终端窗口——一个跑 agent 任务、一个盯日志、一个编辑 skill 配置文件——你心里会清楚&#xff0c;这东西离真正…

作者头像 李华
网站建设 2026/10/4 7:50:44

AI工程实战:从零构建可交付AI系统的方法论

1. 这不是“搭积木”&#xff0c;而是亲手锻造AI系统的完整工程链“AI Engineering from Scratch”——看到这个标题&#xff0c;很多人第一反应是&#xff1a;又要学Python、调PyTorch、跑个ResNet&#xff1f;不。这六个单词背后&#xff0c;是一整套被工业界反复验证、却极少…

作者头像 李华