MingLi-Bench是什么?用大模型评测八字与紫微斗数算命的完整指南
【免费下载链接】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)打造的开源评测工具,核心任务是用一套真实、可客观判分的选择题,量化测试 AI 在八字与紫微斗数上的"算命"水平。简单说:给它一个生辰和四选一的问题,它替你调用各家大模型、自动判分并输出准确率报告。🔮
无论你是想验证某款 AI 的推理能力,还是研究中国传统命理在智能时代的落地潜力,这套命理大模型评测基准都能让你用最快速度上手。下面这篇指南帮你从零跑通第一次评测。
一、为什么需要"八字 / 紫微斗数"的大模型评测
中国传统命理(八字四柱、紫微斗数)是一套建立在规则统计与经验法则之上的知识体系。随着大模型推理能力快速提升,一个有趣的问题出现了:
AI 到底能不能像命理师一样,从一张命盘推出人生事件?
MingLi-Bench 的价值就在于把"会不会算命"这件模糊的事,变成一组可重复、可对比的大模型评测基准:
- 客观判分:全部为选择题,以与标准答案完全一致作为评分标准,不掺主观打分。
- 真实题源:题目来自全球算命师大赛2022–2025 年度赛题,贴近真实应用场景。
- 多模型横评:同一套题跑不同 AI,直接对比谁更"懂命"。
上图展示了基于该基准延伸出的多智能体(Multi-Agent)推理架构:由调度器(Orchestrator)创建多个子智能体分别调用计算工具,并回收"工具不确定性 / 子智能体不确定性"进行多流派合参——这正是把命理推理做到更稳定的工程化思路。
二、开箱即用的评测数据集:160 道真实命理选择题
评测好不好用,先看数据。MingLi-Bench 内置了整理好的题目数据集与命盘数据,无需自己造题。
| 数据文件 | 内容说明 |
|---|---|
| data/data.json | 160 道标准化选择题,按年份与类别组织,附标准答案 |
| data/fortune_api_results.json | 预先排好的八字 + 紫微斗数命盘,用case_id与题目关联 |
| data/raw/ | 2022–2025 各年度原始赛题文本 |
题目结构与十二大类别
每道题包含:生辰信息、问题、A/B/C/D 四个选项与正确答案。题目被归入十二大类人生事件,覆盖日常最关心的维度:
事业 · 健康 · 外貌 · 婚姻 · 子女 · 学业 · 官非 · 家庭 · 性格 · 灾劫 · 财运 · 运势
你可以只测某一类(比如只看"婚姻"或"财运"),也可以按年份筛选。题目年份分布清晰:每年 40 道,覆盖 2022–2025 共 160 道。
三、快速安装与 API 密钥配置(3 步完成)
无需复杂环境,三步即可就绪:
第 1 步:获取项目
git clone https://gitcode.com/gh_mirrors/mi/MingLi-Bench cd MingLi-Bench第 2 步:安装依赖(requirements.txt 里仅几个轻量库)
pip install -r requirements.txt第 3 步:配置 API 密钥
命令行从.env文件读取密钥与默认参数。复制模板后,只需填写你实际要调用的服务商即可,空值会自动忽略:
cp .env.example .env支持的平台包括:OpenAI、Anthropic、Google、DeepSeek、豆包/火山引擎,以及OpenRouter(一个密钥即可调用大多数模型,最省心)。
⚙️ 配置完成后,可先做连通性自检:
python -m mingli_bench.cli --list-models查看受支持模型,--stats查看数据集统计信息。
四、一条命令跑通八字 / 紫微斗数评测
真正跑评测只需一条命令。以 OpenRouter 方式为例(模型名写成provider/model会自动路由):
python -m mingli_bench.cli --model openai/gpt-4o --year 2025 --cot --astro --max-workers 8命令行入口逻辑集中在 mingli_bench/cli.py,评测主流程实现在 mingli_bench/benchmark.py。
推荐的两个关键参数
官方强烈建议始终开启下面两个开关,这也是拿到"真实推理能力"分数的关键:
--cot(思维链):让模型先逐步分析命盘再给答案,给推理留出空间。--astro(注入命盘):把预先排好的八字 / 紫微命盘直接写进提示词,把"排盘"与"推理"两个环节解耦。这样分数反映的是推理能力,而不是模型自己排盘的准确度。
✅ 只有当你想单独研究"排盘能力"或"思维链增益"时,才需要关闭它们做消融实验。
五、常用命令行参数与评测结果输出
最常用参数一览(完整帮助见python -m mingli_bench.cli --help):
| 参数 | 默认值 | 作用 |
|---|---|---|
--model, -m | 必填 | 模型名;含/时按 OpenRouter id 处理 |
--year, -y | 全部 | 只评某一年(2022/2023/2024/2025) |
--categories, -c | 全部 | 按类别筛选,如--categories 事业 婚姻 |
--sample, -s N | 全部 | 只评前 N 道,适合快速自测 |
--cot | 关 | 加入思维链指令 |
--astro | 关 | 注入预排八字 / 紫微命盘 |
--shuffle-options | 关 | 每题随机打乱选项,避免位置偏差 |
--max-workers | 5 | API 并发数,限流时调低 |
📊每次运行都会在logs/下生成三类结果,方便复现与对比:
| 产物 | 说明 |
|---|---|
<model>_results.json | 每题预测、打分与整体统计 |
<model>_summary.txt | 核心指标摘要(总准确率、分类明细、平均响应时长) |
<model>_responses/ | 模型原始响应,每题一个独立文件 |
六、项目结构与源码导读
仓库结构清晰,便于二次开发或接入自定义模型:
- mingli_bench/cli.py:命令行入口与参数解析
- mingli_bench/benchmark.py:评测主流程、提示词构建与答案抽取
- mingli_bench/data/loader.py:题目加载、年份 / 类别筛选与选项打乱
- mingli_bench/data/schema.py:题目数据结构与答案匹配规则
- mingli_bench/models/factory.py:模型工厂,按需加载各家 SDK
- mingli_bench/models/:OpenAI / Anthropic / Google / DeepSeek / 豆包 客户端实现
- README_zh.md:中文完整文档,含提示词示例
其中答案抽取逻辑比较稳健:会优先识别"答案:X""选择:X"等显式格式,兜底再取文中最后一个独立选项字母,减少因表达差异导致的误判。
七、使用边界与常见问题
Q:为什么我测的分数和文档里的不太一样?A:大模型存在随机性(采样、MoE 机制等)。团队在正式评测中采用5 轮独立测试 + 多数投票(至少 3 轮答对才算通过),并设置Temperature: 0.0。单次跑分会有波动,多轮平均更可靠。
Q:这个分数能代表真实算命水平吗?A:不能。它衡量的是封闭域选择题推理与选项辨析能力,而非开放式对话、个性化诠释与情绪处理。真实命理咨询远比选择题复杂,本文结果仅用于技术可行性验证。
Q:样本量够吗?A:当前 160 题、4 个年份,适合做能力对比与横向评测,但不足以验证跨地域、跨题型的泛化能力——这也是后续可扩充的方向。
总结
MingLi-Bench 把"大模型会不会算八字 / 紫微斗数"这件模糊的事,变成了一套可复现、可对比、带客观标准答案的评测基准:内置 160 道真实比赛题、支持主流大模型一键接入、用--cot与--astro精准分离"排盘"与"推理"两个环节。
三步安装、一条命令,你就能得到一份带分类准确率的评测报告。如果你想进一步把命理推理做到更稳定,还可以参考项目文档中基于多智能体与不确定性量化的 Agent 化思路,在这套基准上继续探索。🔮
【免费下载链接】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),仅供参考