TCMChat-600k / README_ZH.md
ZJUFanLab's picture
Upload README_ZH.md with huggingface_hub
fe48b06 verified

中文 | English

TCMChat

TCMChat: Traditional Chinese Medicine Recommendation System based on Large Language Model

Code License Python 3.10.12

新闻

[2024-11-1] 我们在Huggingface上完全开源了模型权重和训练数据集
[2024-5-17] huggingface 开源模型权重

应用

安装

git clone https://github.com/ZJUFanLab/TCMChat
cd TCMChat

创建conda 环境

conda create -n baichuan2 python=3.10 -y

首先安装依赖包,python环境建议3.10+

pip install -r requirements.txt

权重下载

  • TCMChat: 基于baichuan2-7B-Chat的中药、方剂知识问答与推荐。

推理

命令行测试

python cli_infer.py \
--model_name_or_path /your/model/path \
--model_type  chat

Web页面测试

python gradio_demo.py

我们提供了一个在线的体验工具:https://xomics.com.cn/tcmchat

重新训练

数据集下载

注意: 在执行预训练、微调和推理之前,请修改自己模型、数据等相关数据路径

预训练

## slurm 集群
sbatch scripts/pretrain/baichuan2_7b_chat.slurm
##或者
bash scripts/pretrain/baichuan2_7b_chat.sh

微调

## slurm 集群
sbatch scripts/sft/baichuan2_7b_chat.slurm
##或者
bash scripts/sft/baichuan2_7b_chat.sh

训练细节

请参考论文实验部分说明。

基准评估

选择题

python evaluation/choices_evaluate/eval.py   --model_path_or_name /your/model/path --model_name  baichuan2-7b-chat --few_shot -sz herb --dev_file_path evaluation/resources/choice/single/tcm-herb_dev.csv --val_file_path evaluation/resources/choice/single/choice_herb_500.csv --log_dir logs/choices

阅读理解

python infers/baichuan_infer.py \
--model_name_or_path /your/model/path / \
--model_type chat \
--save_path /your/save/data/path \
--data_path /your/data/path
##BertScore
python evaluation/question_rouge_bleu.py/question_bert_score.py
## BLEU METEOR
python evaluation/question_rouge_bleu.py/open_question_bleu.py
## ROUGE-x
python evaluation/question_rouge_bleu.py/open_question_rouge.py

实体抽取

python infers/baichuan_infer.py \
--model_name_or_path /your/model/path / \
--model_type chat \
--save_path /your/save/data/path \
--data_path /your/data/path

python evaluation/ner_evaluate/tcm_entity_recognition.py

医案诊断

python infers/baichuan_infer.py \
--model_name_or_path /your/model/path / \
--model_type chat \
--save_path /your/save/data/path \
--data_path /your/data/path

python evaluation/acc_evaluate/extract_syndrome.py

中药或方剂推荐

python infers/baichuan_infer.py \
--model_name_or_path /your/model/path / \
--model_type chat \
--save_path /your/save/data/path \
--data_path /your/data/path

python evaluation/recommend_evaluate/mrr_ndcg_p_r.py

ADMET预测

回归任务
python infers/baichuan_infer.py \
--model_name_or_path /your/model/path / \
--model_type chat \
--save_path /your/save/data/path \
--data_path /your/data/path

python evaluation/admet_evaluate/rmse_mae_mse.py
分类任务
python infers/baichuan_infer.py \
--model_name_or_path /your/model/path / \
--model_type chat \
--save_path /your/save/data/path \
--data_path /your/data/path

python evaluation/admet_evaluate/acc_recall_f1.py