Model or dataset
pariskang/CMLM-ZhongJing avatar
pariskang/CMLM-ZhongJing

ZhongJing fine-tunes open base models on traditional Chinese medicine

首个中医大语言模型——“仲景”。受古代中医学巨匠张仲景深邃智慧启迪,专为传统中医领域打造的预训练大语言模型。 The first-ever Traditional Chinese Medicine large language model - "CMLM-ZhongJing". Inspired by the profound wisdom of the ancient Chinese medical master Zhang Zhongjing, it is a pre-trained large language model designed specifically for the field of Traditional Chinese Medicine.

533 stars60 forksJupyter NotebookMIT

At a glance

What is it?
CMLM-ZhongJing is an MIT-licensed repository holding the weights and the data pipeline behind ZhongJingGPT, a model built for traditional Chinese medicine by multi-task decomposition of clinical behaviour into fifteen scenarios and fine-tuning two open base models. The paper was accepted by Tsinghua Science and Technology in May 2025, and the repository is explicitly for academic research, not clinical use.
Who is it for?
CMLM-ZhongJing is a good fit for a research group studying how domain-specific instruction data changes a general model's clinical reasoning, because the two published checkpoints sit on different base models and different sizes, so the effect of scale and the effect of domain data can be told apart.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 136 days ago.
What is it written in?
Mainly Jupyter Notebook, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What is actually in the repository

The repository is small in file count and large in content. The top level holds a README in Chinese and an English one, a WebDemo.py, a logo image, a logo_image directory with the strategy figure, and a src/ directory, alongside the licence and the gitignore. The substance is on Hugging Face rather than in the tree: the ZhongjingGPT1_13B checkpoint fine-tuned on Baichuan2-13B-Chat, and the ZhongJing-2-1_8b checkpoint fine-tuned on Qwen1.5-1.8B-Chat. The name of the project comes from Zhang Zhongjing, the ancient Chinese physician whose work the model is named after, and the project dates the first foundation model to May 2023. The paper, ZhongJingGPT: An Expert Knowledge-Guided Language Model for Traditional Chinese Medicine, was accepted by Tsinghua Science and Technology, with a DOI in the badge and a news entry dated 2025-05-08 recording the acceptance.

The data strategy: decomposing clinical behaviour into tasks

The methodological contribution is the instruction data construction, and the reasoning behind it is stated bluntly. Self-Instruct methods such as Alpaca and Belle can produce huge volumes of instruction data quickly, but in fields like medicine and law where tolerance for lack of professional knowledge is very low, hallucinated output damages accuracy badly, and inappropriate diagnosis or prescription advice could put a patient's life at risk. The alternative proposed is a method built around professionalism, using human memory and learning mechanisms as the model, since interleaved learning, spaced practice and varied study improve knowledge consolidation. A professional table and strict prompt templates drive a language model to generate instructions covering fifteen clinical scenarios, named as patient treatment stories, diagnostic analysis, expected treatment outcomes, prescription functions, interactive stories, narrative medicine, tongue and pulse signs, treatment plan formulation, critical thinking, follow-up, prescription, herb dosage, case studies, real-world problems and disease mechanisms.

The dataset totals

The full statistics table gives the scale and shape of the corpus, and it is worth reading because the shape reveals the method. The total is about 26.3 million tokens across 135,108 instructions, and the largest single contribution by token count is Ancient Books Content at 15,971,297 tokens and 31,395 instructions. That is a text-to-instruction ratio unlike a typical instruction set, which is what you would expect from corpus text paired with a small number of derived questions. The rest of the corpus is spread thin and wide across many small files: symptom synonyms at 1,515,796 tokens and 27,650 instructions, a Chinese medicine dictionary at 2,188,672 and 20,376, real-world problems at 1,493,551 and 7,990, disease mechanism at 997,377 and 8,024, diagnostic analysis at 1,492,105 and 6,592, follow-up at 504,717 and 5,990, herb dosage at 564,394 and 5,973, and a long tail of smaller categories down to Antonyms at 272 tokens and 9 instructions. A separate general knowledge instruction set of roughly 80,000 entries covering classic texts, term definitions, symptom synonyms and antonyms, syndromes, symptoms and treatment methods was built as a control experiment using a single instruction template.

The two checkpoints and the hardware they need

Two fine-tuned checkpoints are published, and they differ in base model and in what they demand from you. ZhongjingGPT1_13B has 13 billion parameters, sits on Baichuan2-13B-Chat, and needs a high performance GPU. ZhongJing-2-1_8b has 1.8 billion parameters, sits on Qwen1.5-1.8B-Chat, and runs on a single T4. The 1.8B model is also the one offered through a Colab notebook for free GPU inference with no local deployment. The project describes the 1.8B model as lightweight and deployment friendly for exactly that reason, and describes the fine-tuning as multi-round iterative training on proprietary medical data to give the models understanding and generation ability in the field. The licences deserve a note: the repository is recorded as MIT, and the badge in the README reads Academic Use, so a deployment beyond research needs the terms read carefully rather than assumed.

The web demo and how to start it

A Gradio web demo is included, supporting both single-turn and multi-turn conversation, and it runs from the repository root:

bash
git clone https://github.com/pariskang/CMLM-ZhongJing.git
cd CMLM-ZhongJing
bash
python WebDemo.py

The two steps are the whole setup, and the demo is the intended first contact with the model. For a project that ships two large checkpoints and a training data pipeline, having a local Gradio demo in the tree is a deliberate convenience: you can read the model's answers on a specific case before deciding whether to download 13 billion parameters of weights.

How the model was evaluated, and what the comparison shows

The evaluation covers three dimensions: routine traditional Chinese medicine symptom consultation, complex clinical decision reasoning, and general Western medicine question answering. The comparison models are GPT-4, BaiChuan2-13B-Chat, Baichuan 2 53B and DeepSeek-V3.2. The README's stated finding is that in some specialist physician instance tests ZhongJing has a pattern differentiation and prescription capability stronger than GPT-4, and in complex clinical decision reasoning shows a level comparable to that of a national medicine master. The side-by-side outputs are instructive as much as the claim. On a case asking for a prescription for chest pain radiating to the back, GPT-4 is annotated as having a poor prescription decision and offers general herbs with a long safety caveat, BaiChuan2-13B-Chat is annotated as lacking traditional Chinese medicine common sense and offers heat application, massage and over-the-counter painkillers, and Baichuan 2 53B is annotated as having an inappropriate disease mechanism while still steering the user to a hospital. Evaluation also involved five professional physicians assessing across five dimensions.

Where ZhongJing is the wrong tool

Three cases, and the first one is not a technical judgement. This is a research artifact, and its own disclaimer says so in bold at the top of the README and again next to the comparison outputs: all output is for academic research reference only, does not constitute any medical advice, and clinical diagnosis and treatment should be provided by experienced professional physicians. A project that intends to put these outputs in front of a patient has misunderstood the artifact. The second case is a team looking for a general medical assistant, because the model is fine-tuned for one tradition and its evaluation is on that tradition's scenarios, so its behaviour on general medicine is a comparison baseline rather than a strength. The third is anyone who needs a production licence position or a reproducible training pipeline, because the released artifacts are the weights and a description of the data strategy, the proprietary medical dataset itself is not part of the repository, and the last push was on 2026-06-10, which is the real expiry date on the code and documentation here.

Editorial conclusion

CMLM-ZhongJing is a good fit for a research group studying how domain-specific instruction data changes a general model's clinical reasoning, because the two published checkpoints sit on different base models and different sizes, so the effect of scale and the effect of domain data can be told apart. It is a poor fit for anything clinical: the project's own disclaimer says its outputs are for academic research reference and do not constitute medical advice, and that diagnosis and treatment should come from experienced physicians. Check three things before you use it: that you read the disclaimer, which is in the README and is repeated next to the model comparison outputs; that you pick a checkpoint that fits your hardware, since the 1.8B model runs on a single T4 while the 13B model needs a high performance GPU, and there is a Colab notebook for trying the smaller one without local deployment; and that you treat the comparison results as the authors' own evaluation, with five physicians assessing across five dimensions, rather than as an independent benchmark.

Frequently asked questions

What is CMLM-ZhongJing?

It is an MIT-licensed repository for ZhongJingGPT, described as the first large language model for traditional Chinese medicine, named after the ancient physician Zhang Zhongjing. It holds the instruction data pipeline, the evaluation examples and a Gradio web demo, while the fine-tuned weights are published on Hugging Face.

Which model checkpoints does CMLM-ZhongJing publish?

Two: ZhongjingGPT1_13B at 13 billion parameters fine-tuned on Baichuan2-13B-Chat, which needs a high performance GPU, and ZhongJing-2-1_8b at 1.8 billion parameters fine-tuned on Qwen1.5-1.8B-Chat, which runs on a single T4 and is also available through a Colab notebook for free GPU inference.

How was the ZhongJing instruction data built?

The project uses a multi-task decomposition of clinical behaviour, borrowing from interleaved learning, spaced practice and varied study. Professional tables and strict prompt templates drive a language model to generate instructions across fifteen clinical scenarios, and a separate control set of roughly 80,000 general knowledge entries was built with a single instruction template.

How large is the ZhongJing training dataset?

The statistics table totals about 26,294,720 tokens across 135,108 instructions, with Ancient Books Content the largest component at 15,971,297 tokens and 31,395 instructions, and a long tail of smaller categories covering symptom synonyms, dictionary entries, real-world problems, disease mechanisms, diagnostic analysis, follow-up, herb dosage and more.

Can ZhongJing be used for medical advice?

No. The repository carries a disclaimer stating that all output is for academic research reference only and does not constitute medical advice, and that clinical diagnosis and treatment should be provided by experienced professional physicians. The same disclaimer appears next to the model comparison outputs.

Official sources

  1. Issues
  2. License: MIT
  3. pariskang/CMLM-ZhongJing on GitHub
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/pariskang-cmlm-zhongjing.svg)](https://hysenlabs.com/projects/pariskang-cmlm-zhongjing)

Was this useful?