MedicalGPT

GitHub
5.3k 740 中等 1 次阅读 今天Apache-2.0语言模型开发框架Agent
AI 解读 由 AI 自动生成,仅供参考

MedicalGPT 是一套专为医疗领域打造的大语言模型训练框架,旨在帮助开发者低成本、高效率地构建专属的医疗 AI 助手。它完整复现了类 ChatGPT 的全流程训练管线,覆盖了从增量预训练、有监督微调,到基于人类反馈的强化学习(RLHF)及直接偏好优化(DPO、ORPO、GRPO)等关键阶段,有效解决了通用大模型在专业医疗场景中知识匮乏、回答不严谨以及难以对齐医生偏好等痛点。

该项目特别适合人工智能研究人员、医疗科技公司的算法工程师以及希望深入探索垂直领域大模型训练的开发者使用。其核心技术亮点在于极高的灵活性与前沿性:不仅支持 Llama 3、Qwen 2.5/3.5 及 Mixtral MoE 等主流开源模型,还率先集成了 GRPO 纯强化学习训练与 Agent 工具调用(Function Call)能力,让模型不仅能“懂”医学知识,还能学会使用外部工具并展现更自然的医患沟通技巧。此外,项目提供了详细的角色扮演的数据生成脚本和多阶段训练示例,大幅降低了医疗大模型的研发门槛,是连接学术研究与产业落地的实用桥梁。

使用场景

某三甲医院信息科联合 AI 实验室,试图基于通用大模型构建一款能辅助年轻医生进行复杂病例分析且符合临床规范的智能助手。

没有 MedicalGPT 时

  • 专业术语幻觉严重:通用模型缺乏医学语料增量预训练,常编造不存在的药物相互作用或诊疗指南,导致输出内容不可信。
  • 医患沟通风格生硬:模型无法模仿资深专家的口吻,回答机械冰冷,缺乏对患者情绪的共情,难以直接用于临床咨询场景。
  • 对齐优化门槛极高:团队需从零搭建 RLHF 或 DPO 训练流水线,代码复现难度大,且难以获取高质量的医疗偏好数据来纠正模型错误。
  • 工具调用能力缺失:模型无法准确解析并调用医院内部的挂号、检验报告查询等 API 接口,只能停留在纯文本问答层面。

使用 MedicalGPT 后

  • 领域知识精准内化:利用 MedicalGPT 的增量预训练(PT)功能注入海量医学文献与病历,显著消除了专业幻觉,确保诊断建议有据可依。
  • 角色扮演自然流畅:通过内置的医患对话 SFT 数据生成脚本进行微调,模型学会了“温和、严谨”的专家语气,大幅提升了人机交互体验。
  • 偏好对齐一键落地:直接复用其集成的 DPO、ORPO 及 GRPO 全流程算法,快速将人类医生的反馈转化为模型偏好,使回答更符合临床伦理与规范。
  • 业务系统无缝集成:借助 v2.6 版本的 Agent 工具调用支持,轻松微调模型识别函数指令,实现了从“问诊”到“自动开具检查单”的闭环操作。

MedicalGPT 将原本需要数月研发的医疗大模型训练工程,简化为可复用的标准化流水线,让医疗机构能以低成本拥有安全、可控且懂业务的专属 AI 医生。

运行环境要求

操作系统
  • Linux
GPU
  • 必需 NVIDIA GPU
  • 显存需求取决于模型大小和训练方法:全参数训练 7B 模型需 60-120GB,LoRA 微调 7B 需 16GB,QLoRA (4-bit) 微调 7B 仅需 6GB
  • 支持 DeepSpeed ZeRO-3 和 FlashAttention-2
内存

未说明(建议根据模型大小配置,通常需大于显存需求)

依赖
notes项目主要面向医疗大模型的全流程训练(预训练、SFT、RLHF、DPO、ORPO)。支持多种架构(Llama, Qwen, Baichuan, Mixtral 等)。演示代码支持 CPU 推理,但训练强烈建议使用 GPU。具体显存占用可参考 README 中的硬件需求表,量化训练(QLoRA)可显著降低显存门槛。
python3.8+
torch
transformers
accelerate
deepspeed
peft
gradio
flash-attn
datasets
MedicalGPT hero image

快速开始

🇨🇳中文 | 🌐English | 📖文档/Docs | 🤖模型/Models


MedicalGPT: 训练医疗GPT模型

HF Models Github Stars Contributions welcome License Apache 2.0 python_version GitHub issues Wechat Group

📖 简介

MedicalGPT 使用ChatGPT训练流程来训练医疗GPT模型,实现了预训练、有监督微调、RLHF(奖励建模与强化学习)以及DPO(直接偏好优化)。

MedicalGPT 训练医疗大模型,实现了包括增量预训练、有监督微调、RLHF(奖励建模、强化学习训练)和DPO(直接偏好优化)。

🔥 新闻

[2026/04/09] v2.6版本:支持了 [Agent工具调用/Function Call] 模型微调训练,新增了支持不同模型的工具数据格式转换和解析代码。并在 data 目录下补充了 toolcall 数据样例。详见Release-v2.6

[2026/04/07] v2.5版本:支持了 Qwen3.5 系列模型(包括Base、Instruct和MoE变体),PT/SFT/DPO/ORPO/GRPO全流程适配,新增qwen3qwen3_5qwen3_nothinkqwen3_5_nothink对话模板,支持DeepSpeed ZeRO-3 MoE训练,详见Release-v2.5

[2025/04/18] v2.4版本:支持了LoRA和全参的 GRPO 训练方法,GRPO通过纯RL方法可以体验aha moment,详见Release-v2.4

[2024/09/21] v2.3版本:支持了 Qwen-2.5 系列模型,详见Release-v2.3

[2024/08/02] v2.2版本:支持了角色扮演模型训练,新增了医患对话SFT数据生成脚本role_play_data,支持OpenAI、豆包、MiniMax等多种LLM Provider,详见Release-v2.2

展开日志

[2024/06/11] v2.1版本:支持了 Qwen-2 系列模型,详见Release-v2.1

[2024/04/24] v2.0版本:支持了 Llama-3 系列模型,详见Release-v2.0

[2024/04/17] v1.9版本:支持了 ORPO,详细用法请参照 scripts/run_orpo.sh。详见Release-v1.9

[2024/01/26] v1.8版本:支持微调Mixtral混合专家MoE模型 Mixtral 8x7B。详见Release-v1.8

[2024/01/14] v1.7版本:新增检索增强生成(RAG)的基于文件问答ChatPDF功能,代码demo/chatpdf.py,可以基于微调后的LLM结合知识库文件问答提升行业问答准确率。详见Release-v1.7

[2023/10/23] v1.6版本:新增RoPE插值来扩展GPT模型的上下文长度;针对LLaMA模型支持了FlashAttention-2LongLoRA 提出的 $S^2$-Attn;支持了NEFTune给embedding加噪训练方法。详见Release-v1.6

[2023/08/28] v1.5版本: 新增DPO(直接偏好优化)方法,DPO通过直接优化语言模型来实现对其行为的精确控制,可以有效学习到人类偏好。详见Release-v1.5

[2023/08/08] v1.4版本: 发布基于ShareGPT4数据集微调的中英文Vicuna-13B模型shibing624/vicuna-baichuan-13b-chat,和对应的LoRA模型shibing624/vicuna-baichuan-13b-chat-lora,详见Release-v1.4

[2023/08/02] v1.3版本: 新增LLaMA, LLaMA2, Bloom, ChatGLM, ChatGLM2, Baichuan模型的多轮对话微调训练;新增领域词表扩充功能;新增中文预训练数据集和中文ShareGPT微调训练集,详见Release-v1.3

[2023/07/13] v1.1版本: 发布中文医疗LLaMA-13B模型shibing624/ziya-llama-13b-medical-merged,基于Ziya-LLaMA-13B-v1模型,SFT微调了一版医疗模型,医疗问答效果有提升,发布微调后的完整模型权重,详见Release-v1.1

[2023/06/15] v1.0版本: 发布中文医疗LoRA模型shibing624/ziya-llama-13b-medical-lora,基于Ziya-LLaMA-13B-v1模型,SFT微调了一版医疗模型,医疗问答效果有提升,发布微调后的LoRA权重,详见Release-v1.0

[2023/06/05] v0.2版本: 以医疗为例,训练领域大模型,实现了四阶段训练:包括二次预训练、有监督微调、奖励建模、强化学习训练。详见Release-v0.2

😊 特性

基于ChatGPT Training Pipeline,本项目实现了领域模型--医疗行业语言大模型的训练:

  • 第一阶段:PT(Continue PreTraining)增量预训练,在海量领域文档数据上二次预训练GPT模型,以适应领域数据分布(可选)
  • 第二阶段:SFT(Supervised Fine-tuning)有监督微调,构造指令微调数据集,在预训练模型基础上做指令精调,以对齐指令意图,并注入领域知识
  • 第三阶段
    • RLHF(Reinforcement Learning from Human Feedback)基于人类反馈对语言模型进行强化学习,分为两步:
      • RM(Reward Model)奖励模型建模,构造人类偏好排序数据集,训练奖励模型,用来建模人类偏好,主要是"HHH"原则,具体是"helpful, honest, harmless"
      • RL(Reinforcement Learning)强化学习,用奖励模型来训练SFT模型,生成模型使用奖励或惩罚来更新其策略,以便生成更高质量、更符合人类偏好的文本
    • DPO(Direct Preference Optimization)直接偏好优化方法,DPO通过直接优化语言模型来实现对其行为的精确控制,而无需使用复杂的强化学习,也可以有效学习到人类偏好,DPO相较于RLHF更容易实现且易于训练,效果更好
    • ORPO比值比偏好优化,不需要参考模型(ref_model)的优化方法,通过ORPO,LLM可以同时学习SFT和对齐,将两个过程整合为单一步骤,缓解模型灾难性遗忘问题

发布模型

模型 基础模型 介绍
shibing624/ziya-llama-13b-medical-lora IDEA-CCNL/Ziya-LLaMA-13B-v1 在240万条中英文医疗数据集shibing624/medical上SFT微调了一版Ziya-LLaMA-13B模型,医疗问答效果有提升,发布微调后的LoRA权重(单轮对话)
shibing624/ziya-llama-13b-medical-merged IDEA-CCNL/Ziya-LLaMA-13B-v1 在240万条中英文医疗数据集shibing624/medical上SFT微调了一版Ziya-LLaMA-13B模型,医疗问答效果有提升,发布微调后的完整模型权重(单轮对话)
shibing624/vicuna-baichuan-13b-chat-lora baichuan-inc/Baichuan-13B-Chat 在10万条多语言ShareGPT GPT4多轮对话数据集shibing624/sharegpt_gpt4 和 医疗数据集shibing624/medical 上SFT微调了一版baichuan-13b-chat多轮问答模型,日常问答和医疗问答效果有提升,发布微调后的LoRA权重
shibing624/vicuna-baichuan-13b-chat baichuan-inc/Baichuan-13B-Chat 在10万条多语言ShareGPT GPT4多轮对话数据集shibing624/sharegpt_gpt4 和 医疗数据集shibing624/medical 上SFT微调了一版baichuan-13b-chat多轮问答模型,日常问答和医疗问答效果有提升,发布微调后的完整模型权重
shibing624/llama-3-8b-instruct-262k-chinese Llama-3-8B-Instruct-262k 在2万条中英文偏好数据集shibing624/DPO-En-Zh-20k-Preference上使用ORPO方法微调得到的超长文本多轮对话模型,适用于RAG、多轮对话

演示shibing624/vicuna-baichuan-13b-chat模型效果: 具体case见Inference Examples

▶️ Demo

我们提供了一个简洁的基于gradio的交互式web界面,启动服务后,可通过浏览器访问,输入问题,模型会返回答案。

启动服务,命令如下:

CUDA_VISIBLE_DEVICES=0 python demo/gradio_demo.py --base_model path_to_llama_hf_dir --lora_model path_to_lora_dir

参数说明:

  • --base_model {base_model}:存放HF格式的LLaMA模型权重和配置文件的目录,也可使用HF Model Hub模型调用名称
  • --lora_model {lora_model}:LoRA文件所在目录,也可使用HF Model Hub模型调用名称。若lora权重已经合并到预训练模型,则删除--lora_model参数
  • --tokenizer_path {tokenizer_path}:存放对应tokenizer的目录。若不提供此参数,则其默认值与--base_model相同
  • --template_name:模板名称,如vicunaalpaca等。若不提供此参数,则其默认值是vicuna
  • --only_cpu: 仅使用CPU进行推理
  • --resize_emb:是否调整embedding大小,若不调整,则使用预训练模型的embedding大小,默认不调整

💾 Install

Updating the requirements

requirements.txt会不时更新以适配最新功能,使用以下命令更新依赖:

git clone https://github.com/shibing624/MedicalGPT
cd MedicalGPT
pip install -r requirements.txt --upgrade

Hardware Requirement (显存/VRAM)

* 估算值

训练方法 精度 7B 13B 30B 70B 110B 8x7B 8x22B
全参数 AMP(自动混合精度) 120GB 240GB 600GB 1200GB 2000GB 900GB 2400GB
全参数 16 60GB 120GB 300GB 600GB 900GB 400GB 1200GB
LoRA 16 16GB 32GB 64GB 160GB 240GB 120GB 320GB
QLoRA 8 10GB 20GB 40GB 80GB 140GB 60GB 160GB
QLoRA 4 6GB 12GB 24GB 48GB 72GB 30GB 48GB
QLoRA 2 4GB 8GB 16GB 24GB 48GB 18GB 48GB

📁 Project Structure

MedicalGPT/
├── training/                # 核心训练脚本(教学主线)
│   ├── template.py                         # 对话模板定义
│   ├── tool_utils.py                       # Agent工具调用格式化工具
│   ├── pretraining.py                      # Stage 1: 增量预训练(PT)
│   ├── supervised_finetuning.py            # Stage 2: 有监督微调(SFT, 支持Agent)
│   ├── reward_modeling.py                  # Stage 3: 奖励模型(RM)
│   ├── ppo_training.py                     # Stage 3: 强化学习(PPO/RLOO)
│   ├── dpo_training.py                     # Stage 3: 直接偏好优化(DPO, 支持Agent)
│   ├── orpo_training.py                    # Stage 3: ORPO
│   └── grpo_training.py                    # Stage 3: GRPO
│
├── scripts/                 # 一键运行脚本 + DeepSpeed配置
│   ├── run_pt.sh / run_sft.sh / run_dpo.sh / ...
│   └── zero1.json / zero2.json / zero3.json
│
├── demo/                    # 推理、部署、应用示例
│   ├── inference.py / gradio_demo.py / fastapi_server_demo.py
│   ├── openai_api.py / chatpdf.py
│   └── inference_multigpu_demo.py
│
├── tools/                   # 模型合并、量化、数据处理工具
│   ├── merge_peft_adapter.py / merge_tokenizers.py
│   ├── model_quant.py / eval_quantize.py
│   └── convert_dataset.py / validate_jsonl.py
│
├── notebooks/               # Colab 教程 Notebook
│   ├── run_training_dpo_pipeline.ipynb
│   └── run_training_ppo_pipeline.ipynb
│
├── data/                    # 训练数据
│   ├── sft/                               # SFT数据(含普通问答和Tool Call)
│   └── reward/                            # DPO/RM偏好数据(含普通偏好和Tool Call偏好)
├── docs/                    # 文档
└── tests/                   # 测试
目录 说明 适合谁看
training/ 核心训练代码,覆盖PT→SFT→RM→PPO/DPO/ORPO/GRPO全流程 想了解训练原理的开发者
scripts/ 一键运行脚本和DeepSpeed配置,复制即用 快速上手训练的用户
demo/ 推理、Gradio UI、FastAPI服务、RAG问答等示例 想部署和体验模型的用户
tools/ LoRA合并、量化、词表扩充、数据格式转换等工具 需要模型后处理的用户
notebooks/ Colab一键运行的端到端教程 零基础快速体验的用户

所有脚本均从项目根目录运行,例如:bash scripts/run_sft.sh

🚀 训练流程

训练阶段:

阶段 介绍 Python脚本 Shell脚本
继续预训练 增量预训练 pretraining.py run_pt.sh
有监督微调 有监督微调 supervised_finetuning.py run_sft.sh
直接偏好优化 直接偏好优化 dpo_training.py run_dpo.sh
奖励模型建模 奖励模型建模 reward_modeling.py run_rm.sh
强化学习 强化学习 ppo_training.py run_ppo.sh
概率偏好优化 概率偏好优化 orpo_training.py run_orpo.sh

Agent 训练(Agent Finetuning)

本项目支持通过 SFT 和 DPO 两种方式训练具有工具调用(Function Call / Tool Use)能力的 Agent 模型。

核心原理: Tool Call 本质上是特殊的多轮对话,在标准的 human/gpt 角色之外新增了 function_call(模型决定调用工具)和 observation(工具返回结果)两种角色。Template 系统统一处理所有角色,有工具描述就拼接到 system message,没有就跳过,对 loss 计算和训练过程完全透明。

数据格式: 统一使用 jsonl(一行一条),ShareGPT 格式。

SFT 数据(data/sft/glaive_toolcall_zh_demo.jsonl):

{"conversations": [{"from": "human", "value": "帮我查一下北京天气"}, {"from": "function_call", "value": "{\"name\": \"get_weather\", \"arguments\": {\"city\": \"北京\"}}"}, {"from": "observation", "value": "{\"temperature\": \"28°C\", \"weather\": \"晴\"}"}, {"from": "gpt", "value": "北京今天天气晴朗,气温28°C。"}], "tools": "[...]"}

DPO 数据(data/reward/toolcall_dpo_zh_demo.jsonl):

{"conversations": [{"from": "human", "value": "帮我查一下北京天气"}], "tools": "[...]", "chosen": "Action: get_weather\nAction Input: {\"city\": \"北京\"}", "rejected": "北京今天天气晴朗,气温25度。"}

注意: 所有训练数据统一为 .jsonl 格式。chosen/rejected 为纯字符串。如有 .json 文件(JSON 数组),可用 python tools/convert_dataset.py --in_file data.json --out_file data.jsonl --data_type json2jsonl 转换。

支持的 tool_format:

tool_format 适用模型 说明
default 通用 Action/Action Input 格式
qwen Qwen2.5/Qwen3/Qwen3.5 <tool_call> XML格式
qwen3 Qwen3 qwen,别名
qwen3.5 Qwen3.5 qwen,别名
glm4 GLM-4 ChatGLM 工具格式
llama3 LLaMA-3.x JSON function call 格式
mistral Mistral [AVAILABLE_TOOLS] 格式

混合训练: 普通问答SFT数据和Tool Call数据可以一起训练,只需将两类数据文件放在同一个 --train_file_dir 目录下即可。没有 tools 字段的数据会按照普通SFT/DPO流程处理。

训练命令: Tool Call 数据与普通数据混合在同一目录下,直接使用标准训练脚本,加 --tool_format 参数即可:

# SFT(data/sft/ 目录下同时包含普通问答和 tool call 数据)
bash scripts/run_sft.sh

# DPO(data/reward/ 目录下同时包含普通偏好和 tool call 偏好数据)
bash scripts/run_dpo.sh

关键参数说明:

  • --tool_format default:指定工具调用的文本格式(可选 default, glm4, llama3, mistral, qwen
  • 无需单独的 agent 训练脚本,普通数据和 tool call 数据自动混合训练

支持的模型

模型名称 模型规模 目标模块 模板
百川 7B/13B W_pack baichuan
百川2 7B/13B W_pack baichuan2
BLOOMZ 560M/1.1B/1.7B/3B/7.1B/176B query_key_value vicuna
ChatGLM 6B query_key_value chatglm
ChatGLM2 6B query_key_value chatglm2
ChatGLM3 6B query_key_value chatglm3
Cohere 104B q_proj,v_proj cohere
DeepSeek 7B/16B/67B q_proj,v_proj deepseek
DeepSeek3 671B q_proj,v_proj deepseek3
InternLM2 7B/20B wqkv intern2
LLaMA 7B/13B/33B/65B q_proj,v_proj alpaca
LLaMA2 7B/13B/70B q_proj,v_proj llama2
LLaMA3 8B/70B q_proj,v_proj llama3
Mistral 7B/8x7B q_proj,v_proj mistral
Orion 14B q_proj,v_proj orion
通义千问 1.8B/7B/14B/72B c_attn qwen
Qwen1.5 0.5B/1.8B/4B/14B/32B/72B/110B q_proj,v_proj qwen
Qwen2 0.5B/1.5B/7B/72B q_proj,v.proj qwen
Qwen2.5 0.5B/1.8B/4B/14B/72B q_proj,v.proj qwen
Qwen3 0.6B/1.7B/4B/8B/14B/32B/235B q_proj,v.proj qwen3
Qwen3.5 0.8B/2B/4B/9B/27B/35B/122B q_proj,v.proj qwen3_5
XVERSE 13B query_key_value xverse
Yi 6B/34B q_proj,v.proj yi

💻 推理

训练完成后,现在我们加载训练好的模型,验证模型生成文本的效果。

CUDA_VISIBLE_DEVICES=0 python demo/inference.py \
    --base_model path_to_model_hf_dir \
    --lora_model path_to_lora \
    --interactive

参数说明:

  • --base_model {base_model}:存放HF格式的LLaMA模型权重和配置文件的目录
  • --tokenizer_path {base_model}:存放HF格式的LLaMA模型权重和配置文件的目录
  • --lora_model {lora_model}:LoRA解压后文件所在目录,也可使用HF Model Hub模型调用名称。如果已经合并了LoRA权重到预训练模型,则可以不提供此参数
  • --tokenizer_path {tokenizer_path}:存放对应tokenizer的目录。若不提供此参数,则其默认值与--base_model相同
  • --template_name:模板名称,如vicunaalpaca等。若不提供此参数,则其默认值是vicuna
  • --interactive:以交互方式启动多轮问答,使用流式推理
  • --data_file {file_name}:非交互方式启动下,读取file_name中的的内容进行batch预测
  • --output_file {file_name}:非交互式方式下,将预测的结果以jsonl格式写入file_name
  • --resize_emb:是否调整embedding大小,若不调整,则使用预训练模型的embedding大小,默认不调整
  • --only_cpu:仅使用CPU进行推理
  • --gpus {gpu_ids}:指定使用的GPU设备编号,默认为0。如使用多张GPU,以逗号分隔,如0,1,2

多卡推理

多卡数据并行,batch推理

CUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node 2 demo/inference_multigpu_demo.py --base_model shibing624/vicuna-baichuan-13b-chat

vllm多卡部署

bash scripts/vllm_deployment.sh

推理示例

shibing624/vicuna-baichuan-13b-chat 推理示例:

模型输出案例
人类 助手
小孩发烧怎么办 发烧是身体对感染或其他疾病的自然反应。以下是一些可以帮助缓解发烧症状的建议:
1. 保持身体水分充足:发烧时,身体会失去水分,因此需要保持水分充足。
2. 使用冰袋:将冰袋放在额头或颈部可以帮助降低体温。
3. 使用退烧药:退烧药可以帮助降低体温。
4. 保持身体温度:保持身体温度可以帮助降低体温。
5. 使用冷水或温水擦拭身体:使用冷水或温水擦拭身体可以帮助降低体温。
6. 使用退烧药:退烧药可以帮助降低体温。
7. 保持身体温度:保持身体温度可以帮助降低体温。
8. 使用冷水或温水擦拭身体:使用冷水或温水擦拭身体可以帮助降低体温。
9. 使用退烧药:退烧药可以帮助降低体温。
10. 保持身体温度:保持身体温度可以帮助降低体温。
一岁宝宝发烧能吃啥药? 1岁宝宝发烧时,可以考虑以下几种药物:
1. 退烧药:如布洛芬(Ibuprofen)或对乙酰氨基酚(Paracetamol)。这些药物可以帮助降低体温,缓解发烧症状。
2. 抗生素:如果发烧是由细菌感染引起的,可以考虑使用抗生素。但请务必在医生的建议下使用。
3. 抗病毒药物:如果发烧是由病毒感染引起的,可以考虑使用抗病毒药物。但请务必在医生的建议下使用。
4. 解热镇痛药:如阿司匹林(Aspirin)或对乙酰氨基酚(Paracetamol)。这些药物可以帮助缓解发烧症状。
5. 抗组胺药:如苯海拉明(Diphenhydramine)或非索非那定(Naproxen)。这些药物可以帮助缓解发烧症状。
请务必在医生的建议下使用这些药物,并遵循药物说明书上的用量和用法。同时,保持宝宝充足的水分摄入,并确保宝宝有足够的休息。
肛门病变可能是什么疾病的症状 肛门病变可能由多种原因引起,包括感染、炎症、肿瘤或其他疾病。一些常见的肛门病变包括:
1. 肛裂:这是一种肛门皮肤撕裂,通常由便秘或其他压力因素引起。
2. 肛瘘:这是一种肛门感染,导致肛门皮肤和直肠之间形成瘘管。
3. 肛门疣:这是一种肛门皮肤上形成的疣状病变,通常由人类乳头状瘤病毒(HPV)引起。
4. 肛门脓肿:这是一种肛门感染,导致肛门皮肤下形成脓肿。
5. 肛门肿瘤:这是一种肛门皮肤或直肠内形成的肿瘤。
6. 肛门溃疡:这是一种肛门皮肤上形成的溃疡,通常由感染或炎症引起。
7. 肛门瘙痒:这是一种肛门皮肤瘙痒的症状,可能由感染、炎症或其他疾病引起。
如果您有肛门病变的症状,请咨询医疗保健专业人员以获得适当的诊断和治疗。
医生,您好白带增多泛黄怎么回事? 您好,白带增多和发黄可能是由多种原因引起的,包括感染、荷尔蒙变化、阴道干燥或其他妇科问题。以下是一些可能的原因:
1. 感染:白带增多和发黄可能是由阴道或尿道感染引起的。感染可能由细菌、病毒或真菌引起。
2. 荷尔蒙变化:荷尔蒙变化,如月经周期或更年期,可能会导致白带增多和发黄。
3. 阴道干燥:阴道干燥可能会导致白带增多和发黄。
4. 其他妇科问题:其他妇科问题,如子宫颈炎、子宫内膜炎或子宫内膜异位症,也可能导致白带增多和发黄。
如果您担心自己的白带,建议您咨询妇科医生进行检查和诊断。医生可以根据您的症状和检查结果确定原因并提供适当的治疗。
药流后有巧克力白带是没流干净吗 药流后出现巧克力白带并不一定意味着没有流干净。巧克力白带是由于子宫内膜脱落和出血引起的,通常在药流后的一段时间内会出现。

药流后出现巧克力白带的原因可能包括:

1. 子宫内膜脱落:药流后,子宫内膜会脱落,导致出血。这种出血可能表现为巧克力白带。
2. 感染:药流后,子宫内膜和宫颈口可能存在创伤,容易受到细菌感染。感染可能导致巧克力白带。
3. 激素水平变化:药流后,激素水平可能发生变化,导致巧克力白带。

如果巧克力白带持续时间较长,或者伴有其他症状,如腹痛、发热、分泌物异味等,建议及时就诊,进行相关检查,如妇科检查、B超等,以确定是否存在感染或其他问题。在医生的指导下进行相应的治疗。
维胺酯维E乳膏能治理什么疾病 维胺酯维E乳膏是一种外用药物,主要用于治疗痤疮、脂溢性皮炎等皮肤病。它可以帮助减少皮肤油脂分泌,减轻炎症,促进皮肤修复。

需要注意的是,维胺酯维E乳膏并非万能药,对于某些皮肤病可能并不适用。在使用前,建议咨询医生或药师,了解药物的适应症、禁忌症、用法用量等信息。同时,使用药物时应遵循医嘱,避免自行滥用。
痤疮是什么原因导致的? 痤疮,也称为粉刺,是由皮肤毛孔堵塞引起的。堵塞毛孔的原因有很多,包括:
1. 皮脂腺过度活跃:皮脂腺产生过多油脂,导致毛孔堵塞。
2. 毛孔堵塞:皮肤表面的死皮细胞、油脂和细菌堵塞毛孔。
3. 炎症:痤疮通常伴随着炎症,这可能是由于皮肤感染或免疫系统对痤疮的反应引起的。
4. 遗传因素:某些人可能更容易患痤疮,这可能是由于遗传因素引起的。
5. 荷尔蒙变化:痤疮在青春期和月经期间更为常见,这可能是由于荷尔蒙变化引起的。
6. 生活方式因素:某些生活方式因素,如压力、不良饮食和缺乏运动,也可能导致痤疮。
7. 化妆品和护肤品:某些化妆品和护肤品可能导致痤疮,特别是那些含有刺激性成分的产品。
8. 药物:某些药物,如口服避孕药,也可能导致痤疮。
要预防痤疮,可以采取一些措施,如保持皮肤清洁、使用温和的护肤品、避免过度使用化妆品和护肤品、保持健康的生活方式和饮食习惯、避免压力和荷尔蒙变化。如果痤疮严重,可能需要寻求皮肤科医生的帮助。
脸上长青春痘怎么办,能吃啥药,需要注意啥 青春痘,又称痤疮,是一种常见的皮肤病。青春痘的治疗需要综合考虑饮食、生活习惯、药物等多个方面。以下是一些建议:

1. 饮食:
* 避免高糖、高脂、高油的食物,如快餐、甜点、油炸食品等。
* 多吃新鲜蔬菜、水果、全谷类食物,以增加纤维摄入,促进肠道蠕动。
* 避免摄入过多的咖啡因、酒精、辛辣食物等刺激性食物。

2. 生活习惯:
* 保持良好的作息时间,保证充足的睡眠。
* 避免长时间使用电脑、手机等电子产品,以免辐射对皮肤造成刺激。
* 保持皮肤清洁,每天早晚使用温和的洁面产品清洁皮肤。
* 避免挤压青春痘,以免感染和留下疤痕。

3. 药物:
* 外用药物:可以使用含有水杨酸、苯甲酸、壬二酸等成分的护肤品,帮助去除皮肤表面的角质,减少痘痘的形成。
* 口服药物:如果青春痘严重,可以考虑口服抗生素、维生素B族、锌等药物,但需在医生指导下使用。

4. 注意:
* 不要随意使用化妆品、护肤品,以免刺激皮肤。
* 不要过度清洁皮肤,以免破坏皮肤屏障。
* 保持心情舒畅,避免焦虑、抑郁等负面情绪.

总之,青春痘的治疗需要综合考虑饮食、生活习惯、药物等多个方面。在治疗过程中,要保持耐心和信心,遵循医生的建议,逐步改善皮肤状况。
由于输精管堵塞会不会导致男性不育?,医生您好,我同事这几天不开心,我问她怎么了,她说她老公输精管堵塞,所以一直没孩子,不是不想要,请问输精管堵塞会不会导致男性不育? 输精管堵塞可能会导致男性不育。输精管是连接睾丸和尿道的一条管道,负责将精子从睾丸输送到尿道。如果输精管堵塞,精子就无法通过输精管到达尿道,从而导致不育。

输精管堵塞的原因有很多,包括先天性发育异常、炎症、肿瘤、外伤等。输精管堵塞的治疗方法包括手术疏通、药物治疗等。如果输精管堵塞严重,可能需要进行手术疏通。

需要注意的是,输精管堵塞并不一定导致不育,因为还有其他途径可以将精子输送到女性体内。例如,精子可以通过附睾、前列腺等组织到达女性体内。因此,如果输精管堵塞,建议及时就医,寻求专业医生的帮助。
心肌梗塞能治疗吗? 心肌梗死是一种严重的疾病,如果及时治疗,可以挽救生命并防止长期残疾。治疗心肌梗死的关键是尽早识别和治疗。

心肌梗死的治疗通常包括以下步骤:

1. 立即就医:如果出现胸痛、呼吸急促或晕厥等症状,立即就医。

2. 药物治疗:医生可能会开处方药物,如硝酸甘油或阿司匹林,以帮助缓解症状并防止进一步的损伤。

3. 溶栓治疗:如果患者在到达医院前出现心肌梗死,医生可能会进行溶栓治疗,通过注射溶解血栓的药物来帮助恢复血流。

4. 手术治疗:如果药物治疗或溶栓治疗无效,医生可能会建议进行手术,如冠状动脉搭桥手术或心脏支架植入术。

5. 康复和预防:心肌梗死的治疗通常包括康复计划,以帮助患者恢复身体功能并预防未来的心脏事件。此外,患者还应遵循医生的建议,以降低患心脏病的风险。

需要注意的是,心肌梗死的治疗取决于患者的具体情况和症状。因此,如果您或您认识的人出现心肌梗死症状,请立即就医。
怎么让自己精力充沛,列5点建议 1. 保持充足的睡眠:睡眠对于保持精力充沛至关重要。确保每晚获得7-9小时的高质量睡眠。
2. 均衡饮食:均衡饮食对于保持能量水平至关重要。确保摄入足够的蛋白质、碳水化合物和健康脂肪。
3. 定期锻炼:定期锻炼可以帮助提高能量水平。尝试每天进行至少30分钟的有氧运动,如散步、跑步或骑自行车。
4. 管理压力:压力会消耗能量,因此管理压力对于保持精力充沛至关重要。尝试找到放松和减压的方法,如冥想、瑜伽或深呼吸练习。
5. 保持水分:脱水会降低能量水平。确保每天喝足够的水,并根据需要补充水分。
写个春天的诗 春天,
是大地苏醒的季节,
是万物复苏的季节,
是生命绽放的季节。
春天,
是阳光明媚的季节,
是鸟语花香的季节,
是绿意盎然的季节,
是希望无限的季节。
春天,
是人们欢笑的季节,
是孩子们嬉戏的季节,
是恋人们相拥的季节,
是人们追求梦想的季节。
南极洲为啥没有北极熊? 南极洲没有北极熊,因为北极熊生活在北极地区,而南极洲位于南半球,气候和环境与北极地区有很大不同。南极洲的气候非常寒冷,常年被冰雪覆盖,而北极熊则生活在北极地区,那里有丰富的海洋生物和陆地哺乳动物。此外,南极洲的生态系统也与北极地区不同,没有北极熊所需的生存条件。

📚 数据集

医疗数据集

通用数据集

预训练数据集

指令微调数据集

偏好数据集

☎️ 联系方式

  • 提问与建议: :GitHub issues
  • 邮件联系:xuming: xuming624@qq.com
  • 微信联系:请添加我的微信号:xuming624,备注:姓名-公司名-NLP,即可加入NLP交流群(我会拉你进群)。

⚠️ 许可协议

本项目仅可用于研究目的,项目开发者不承担任何因使用本项目(包含但不限于数据、模型、代码等)导致的危害或损失。详细请参考免责声明

MedicalGPT项目代码的授权协议为 The Apache License 2.0,代码可免费用做商业用途,模型权重和数据只能用于研究目的。请在产品说明中附加MedicalGPT的链接和授权协议。

😇 引用方式

如果你在研究中使用了MedicalGPT,请按如下格式引用:

@misc{MedicalGPT,
  title={MedicalGPT: Training Medical GPT Model},
  author={Ming Xu},
  year={2023},
  howpublished={\url{https://github.com/shibing624/MedicalGPT}},
}

😍 贡献方式

项目代码目前还比较粗糙,如果大家对代码有所改进,欢迎提交回本项目,在提交之前,注意以下两点:

  • tests添加相应的单元测试
  • 使用python -m pytest来运行所有单元测试,确保所有单测都是通过的

之后即可提交PR。

💕 致谢

感谢他们的杰出工作!

相关项目推荐

  • shibing624/agentica:基于 LLM 构建 Agent 框架,支持多种 Agent 类型,包括 RAG、在线搜索、Code interpreter、Vibe Coding、Claude Code、Copilot Agent 等

版本历史

1.8.02024/01/26
1.7.02024/01/14
2.6.02026/04/14
2.5.02026/04/07
2.4.02025/02/17
2.2.02024/08/02
2.1.02024/06/11
2.0.02024/04/27
1.9.02024/04/17
1.6.02023/10/23
1.5.02023/08/27
1.4.02023/08/08
1.3.02023/08/02
1.12023/07/13
1.0.02023/06/15
0.2.02023/06/15

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|2周前
Agent开发框架图像

n8n

n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。

184.7k|★★☆☆☆|今天
数据工具开发框架Agent

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

161.1k|★★☆☆☆|今天
开发框架Agent语言模型

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|3天前
Agent插件

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

109.2k|★★☆☆☆|2天前
开发框架图像Agent