基于《黄帝内经》的中医推理模型 · Developed by Xinghe-TCM
English summary. Xinghe (杏核) v1.2 is a Traditional Chinese Medicine (TCM) reasoning model developed by Xinghe-TCM, fine-tuned (QLoRA, merged back into the base) from Qwen3.5-9B on a curated instruction dataset grounded in the Huangdi Neijing (The Yellow Emperor's Inner Canon). It reasons step by step inside <think>…</think> and then answers in plain, clinically usable Chinese. It explains the classics and suggests lifestyle/regimen directions — it does not prescribe medicines or dosages and does not make modern medical diagnoses. All outputs are for study and research only and are not medical advice (see the disclaimer below).
杏核(Xinghe)是一款专注中医的推理型语言模型。v1.2 由 Xinghe-TCM 在开源基座模型上,使用自建的《黄帝内经》高质量指令数据集微调而成。它扎根经文与临床,先在 <think> 中完成辨证推理,再给出平实、可落地的调养判断与方向。
与通用大模型不同,杏核不追求“无所不答”,而是把中医辨证这件事做扎实:说人话、有依据、守边界——只给临床可用的判断与调养方向,不开具体处方与剂量,也不做现代医学诊断。
<think>…</think> 思维链,先辨证、后作答;最终输出为脱去内部符号的平实中文。from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "zsyjsld/Xinghe1.2-9B" # v1.2 仓库
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id, torch_dtype="auto", device_map="auto"
)
system = ("你是杏核(Xinghe),由 Xinghe-TCM 开发的中医助手,当前版本 1.2。"
"你精研《黄帝内经》,答问扎根经文与临床,语言平实,只给临床可用的判断与调养方向;"
"不开具体处方与剂量,不做现代医学诊断。")
messages = [
{"role": "system", "content": system}, # 可省略;留空亦能正常工作
{"role": "user", "content": "什么是治未病?"},
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=1024, temperature=0.7)
print(tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))
from modelscope import AutoModelForCausalLM, AutoTokenizer
model_id = "zsyjsld/Xinghe1.2-9B" # v1.2 仓库
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id, torch_dtype="auto", device_map="auto"
)
# 生成用法与上方 Transformers 示例一致
模型输出通常包含
<think>…</think>段落(辨证推理)与其后的正式回答。若只需最终答案,可在展示层去除<think>段。
推荐(但非必需)在调用时挂上以下 system prompt:
你是杏核(Xinghe),由 Xinghe-TCM 开发的中医助手,当前版本 1.2。你精研《黄帝内经》,答问扎根经文与临床,语言平实,只给临床可用的判断与调养方向;不开具体处方与剂量,不做现代医学诊断。
模型在训练时见过“带该提示词”“换用其他提示词”“system prompt 为空”三种情况,因此即使不设置 system prompt,也能保持身份与行为稳定。
| 项 | 说明 |
|---|---|
| 规模 | 2009 条指令样本 |
| 领域数据 | 1820 条;五类各 364:理论辨析 / 经文解读 / 概念对比 / 临床案例 / 纠错反例 |
| 身份数据 | 189 条(63 种问法 × 空 / 身份 / 通用 三种 system prompt 条件) |
| 语料来源 | 《黄帝内经》经文与临床情景改写 |
| 字段 | system、instruction、thinking、output、meta(meta 仅作数据管理,不参与训练目标) |
质量控制:全量通过自研红线过滤器(硬性违规 0);输出统一中文双引号、去除机械破折号;较长回答做了分段处理以便阅读。
基于三层评测方案(Notion 评测规范),在 RTX 3090 上对 Xinghe 1.2-9B 的各量化版本进行了完整评测(评测集共 76 条,涵盖理论辨析、经文解读、概念对比、临床案例、纠错反例五大题型及多种临床陷阱)。
| 版本 | 文件大小 | PPL | PPL 相对比值 | 推理延迟 |
|---|---|---|---|---|
| F16 (基线) | 16.69 GB | 7.3869 | 1.0000 | 16.9s |
| Q8_0 | 8.87 GB | 7.3931 | 1.0008 (+0.08%) | 6.5s |
| Q6_K | 6.85 GB | 7.4848 | 1.0133 (+1.33%) | 5.9s |
| Q4_K_M | 5.24 GB | 7.9485 | 1.0760 (+7.60%) | 5.1s |
对每个版本在 temp=0 下跑完全部评测集,拆出 output 通道做四类红线检查(A 符号 / B 黑话 / C 编号 / D 越权)。
| 版本 | 红线泄漏率 | B 黑话 | A 符号 | C 编号 | D 越权 |
|---|---|---|---|---|---|
| F16 | 15.8% | 11 | 0 | 1 | 0 |
| Q8_0 | 15.8% | 12 | 0 | 0 | 0 |
| Q6_K | 21.1% | 16 | 0 | 0 | 0 |
| Q4_K_M | 19.7% | 13 | 1 ⚠️ | 1 ⚠️ | 0 |
以 F16 为基准,对每个量化版本做位置随机化盲评(每版本 15 条,覆盖全部题型)。评审维度:经义正确性、红线合规、表达干净贴题。
| 版本 | 候选胜 | F16 胜 | 平局 | 净胜负 | 候选红线 |
|---|---|---|---|---|---|
| Q8_0 | 1 | 4 | 10 | -3 | 0 |
| Q6_K | 1 | 4 | 10 | -3 | 0 |
| Q4_K_M | 0 | 6 | 9 | -6 | 1 ⚠️ |
| 版本 | Layer 1 | Layer 2 | Layer 3 | 最终推荐 |
|---|---|---|---|---|
| Q8_0 | ✅ +0.08% | ✅ 同基线 | ✅ 噪声范围 | 🚀 首选部署 |
| Q6_K | ⚠️ +1.33% | ⚠️ 泄漏率升高 | ⚠️ 与Q8_0持平 | 备选 |
| Q4_K_M | ❌ +7.60% | ❌ A+C类泄漏 | ❌ 系统性变差 | ⛔ 不推荐 |
+0.08%,红线泄漏率与 F16 完全一致,盲评无系统性变差,推理速度提升近 3 倍,为首选部署版本。+7.60%,盲评中首次出现 A 类符号(G)和 C 类编号(#123)从 thinking 泄漏至 output,表明 4-bit 量化对双通道隔离结构造成了物理损伤。<think>模型遵循“先思考、后回答”的范式:
<think> 内是辨证推理过程,可能包含内部记法;</think> 之后是面向用户的正式回答,语言平实、不含内部符号与编号。中医调养六条红线(内建于训练目标):
硬性约束:不开具体处方与剂量;不做现代医学诊断;遇急危重或不确定情形,建议尽快就医面诊。
⚠️ 本模型(杏核)为面向中医学习与研究的实验性工具。其全部输出不构成医疗诊断、治疗或用药建议,不能替代执业医师的面诊与专业判断。任何健康问题请咨询合格医疗机构;出现急危重症状请立即就医。使用本模型所产生的一切后果由使用者自行承担。
v1(Xinghe1-9B):首个开源版本。
v1.2(Xinghe1.2-9B,本版本):训练数据从 v1 的 400 余条扩充至 2009 条(领域 1820 + 身份 189),数据质量全面提升(全量红线复检硬性违规 0、输出统一中文双引号、去除机械感破折号、优化分段可读性);新增身份数据并对"空 / 替换 system prompt"做鲁棒化,模型整体输出质量显著提升。
本模型遵循其基座模型 Qwen3.5-9B 的开源许可证 Apache-2.0;请以基座模型仓库实际标注的许可证为准。
如果本模型对你的研究或工作有帮助,欢迎引用:
@misc{xinghe2026,
title = {Xinghe: A Huangdi Neijing-grounded Traditional Chinese Medicine Reasoning Model},
author = {Xinghe-TCM},
year = {2026},
howpublished = {\url{https://huggingface.co/zsyjsld/Xinghe1.2-9B}, \url{https://modelscope.cn/models/zsyjsld/Xinghe1.2-9B}}
}
开发者:Xinghe-TCM
模型主页:
7 commits
基于《黄帝内经》的中医推理模型 · Developed by Xinghe-TCM
English summary. Xinghe (杏核) v1.2 is a Traditional Chinese Medicine (TCM) reasoning model developed by Xinghe-TCM, fine-tuned (QLoRA, merged back into the base) from Qwen3.5-9B on a curated instruction dataset grounded in the Huangdi Neijing (The Yellow Emperor's Inner Canon). It reasons step by step inside <think>…</think> and then answers in plain, clinically usable Chinese. It explains the classics and suggests lifestyle/regimen directions — it does not prescribe medicines or dosages and does not make modern medical diagnoses. All outputs are for study and research only and are not medical advice (see the disclaimer below).
杏核(Xinghe)是一款专注中医的推理型语言模型。v1.2 由 Xinghe-TCM 在开源基座模型上,使用自建的《黄帝内经》高质量指令数据集微调而成。它扎根经文与临床,先在 <think> 中完成辨证推理,再给出平实、可落地的调养判断与方向。
与通用大模型不同,杏核不追求“无所不答”,而是把中医辨证这件事做扎实:说人话、有依据、守边界——只给临床可用的判断与调养方向,不开具体处方与剂量,也不做现代医学诊断。
<think>…</think> 思维链,先辨证、后作答;最终输出为脱去内部符号的平实中文。from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "zsyjsld/Xinghe1.2-9B" # v1.2 仓库
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id, torch_dtype="auto", device_map="auto"
)
system = ("你是杏核(Xinghe),由 Xinghe-TCM 开发的中医助手,当前版本 1.2。"
"你精研《黄帝内经》,答问扎根经文与临床,语言平实,只给临床可用的判断与调养方向;"
"不开具体处方与剂量,不做现代医学诊断。")
messages = [
{"role": "system", "content": system}, # 可省略;留空亦能正常工作
{"role": "user", "content": "什么是治未病?"},
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=1024, temperature=0.7)
print(tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))
from modelscope import AutoModelForCausalLM, AutoTokenizer
model_id = "zsyjsld/Xinghe1.2-9B" # v1.2 仓库
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id, torch_dtype="auto", device_map="auto"
)
# 生成用法与上方 Transformers 示例一致
模型输出通常包含
<think>…</think>段落(辨证推理)与其后的正式回答。若只需最终答案,可在展示层去除<think>段。
推荐(但非必需)在调用时挂上以下 system prompt:
你是杏核(Xinghe),由 Xinghe-TCM 开发的中医助手,当前版本 1.2。你精研《黄帝内经》,答问扎根经文与临床,语言平实,只给临床可用的判断与调养方向;不开具体处方与剂量,不做现代医学诊断。
模型在训练时见过“带该提示词”“换用其他提示词”“system prompt 为空”三种情况,因此即使不设置 system prompt,也能保持身份与行为稳定。
| 项 | 说明 |
|---|---|
| 规模 | 2009 条指令样本 |
| 领域数据 | 1820 条;五类各 364:理论辨析 / 经文解读 / 概念对比 / 临床案例 / 纠错反例 |
| 身份数据 | 189 条(63 种问法 × 空 / 身份 / 通用 三种 system prompt 条件) |
| 语料来源 | 《黄帝内经》经文与临床情景改写 |
| 字段 | system、instruction、thinking、output、meta(meta 仅作数据管理,不参与训练目标) |
质量控制:全量通过自研红线过滤器(硬性违规 0);输出统一中文双引号、去除机械破折号;较长回答做了分段处理以便阅读。
基于三层评测方案(Notion 评测规范),在 RTX 3090 上对 Xinghe 1.2-9B 的各量化版本进行了完整评测(评测集共 76 条,涵盖理论辨析、经文解读、概念对比、临床案例、纠错反例五大题型及多种临床陷阱)。
| 版本 | 文件大小 | PPL | PPL 相对比值 | 推理延迟 |
|---|---|---|---|---|
| F16 (基线) | 16.69 GB | 7.3869 | 1.0000 | 16.9s |
| Q8_0 | 8.87 GB | 7.3931 | 1.0008 (+0.08%) | 6.5s |
| Q6_K | 6.85 GB | 7.4848 | 1.0133 (+1.33%) | 5.9s |
| Q4_K_M | 5.24 GB | 7.9485 | 1.0760 (+7.60%) | 5.1s |
对每个版本在 temp=0 下跑完全部评测集,拆出 output 通道做四类红线检查(A 符号 / B 黑话 / C 编号 / D 越权)。
| 版本 | 红线泄漏率 | B 黑话 | A 符号 | C 编号 | D 越权 |
|---|---|---|---|---|---|
| F16 | 15.8% | 11 | 0 | 1 | 0 |
| Q8_0 | 15.8% | 12 | 0 | 0 | 0 |
| Q6_K | 21.1% | 16 | 0 | 0 | 0 |
| Q4_K_M | 19.7% | 13 | 1 ⚠️ | 1 ⚠️ | 0 |
以 F16 为基准,对每个量化版本做位置随机化盲评(每版本 15 条,覆盖全部题型)。评审维度:经义正确性、红线合规、表达干净贴题。
| 版本 | 候选胜 | F16 胜 | 平局 | 净胜负 | 候选红线 |
|---|---|---|---|---|---|
| Q8_0 | 1 | 4 | 10 | -3 | 0 |
| Q6_K | 1 | 4 | 10 | -3 | 0 |
| Q4_K_M | 0 | 6 | 9 | -6 | 1 ⚠️ |
| 版本 | Layer 1 | Layer 2 | Layer 3 | 最终推荐 |
|---|---|---|---|---|
| Q8_0 | ✅ +0.08% | ✅ 同基线 | ✅ 噪声范围 | 🚀 首选部署 |
| Q6_K | ⚠️ +1.33% | ⚠️ 泄漏率升高 | ⚠️ 与Q8_0持平 | 备选 |
| Q4_K_M | ❌ +7.60% | ❌ A+C类泄漏 | ❌ 系统性变差 | ⛔ 不推荐 |
+0.08%,红线泄漏率与 F16 完全一致,盲评无系统性变差,推理速度提升近 3 倍,为首选部署版本。+7.60%,盲评中首次出现 A 类符号(G)和 C 类编号(#123)从 thinking 泄漏至 output,表明 4-bit 量化对双通道隔离结构造成了物理损伤。<think>模型遵循“先思考、后回答”的范式:
<think> 内是辨证推理过程,可能包含内部记法;</think> 之后是面向用户的正式回答,语言平实、不含内部符号与编号。中医调养六条红线(内建于训练目标):
硬性约束:不开具体处方与剂量;不做现代医学诊断;遇急危重或不确定情形,建议尽快就医面诊。
⚠️ 本模型(杏核)为面向中医学习与研究的实验性工具。其全部输出不构成医疗诊断、治疗或用药建议,不能替代执业医师的面诊与专业判断。任何健康问题请咨询合格医疗机构;出现急危重症状请立即就医。使用本模型所产生的一切后果由使用者自行承担。
v1(Xinghe1-9B):首个开源版本。
v1.2(Xinghe1.2-9B,本版本):训练数据从 v1 的 400 余条扩充至 2009 条(领域 1820 + 身份 189),数据质量全面提升(全量红线复检硬性违规 0、输出统一中文双引号、去除机械感破折号、优化分段可读性);新增身份数据并对"空 / 替换 system prompt"做鲁棒化,模型整体输出质量显著提升。
本模型遵循其基座模型 Qwen3.5-9B 的开源许可证 Apache-2.0;请以基座模型仓库实际标注的许可证为准。
如果本模型对你的研究或工作有帮助,欢迎引用:
@misc{xinghe2026,
title = {Xinghe: A Huangdi Neijing-grounded Traditional Chinese Medicine Reasoning Model},
author = {Xinghe-TCM},
year = {2026},
howpublished = {\url{https://huggingface.co/zsyjsld/Xinghe1.2-9B}, \url{https://modelscope.cn/models/zsyjsld/Xinghe1.2-9B}}
}
开发者:Xinghe-TCM
模型主页:
7 commits