一张胸部X光片AI代理如何完成从看到诊断的完整推理MedRAX 医学推理系统上手指南【免费下载链接】MedRAXMedRAX: Medical Reasoning Agent for Chest X-ray - ICML 2025项目地址: https://gitcode.com/gh_mirrors/me/MedRAX如果你曾好奇过AI 到底是怎么看懂一张医学影像的那么 MedRAXMedical Reasoning Agent for Chest X-ray来自 ICML 2025 的医学推理代理框架就是一个绝佳的观察窗口。它把 GPT-4o 的视觉语言能力与多款专用胸部 X 光分析模型整合进一个代理系统让计算机面对一张胸片时能像医生一样经历先看、再查、后下结论的完整思考链路而不是只会机械地吐出一个概率数字。为什么大多数 AI 模型看不懂一张胸片胸片是二维灰度但医学推理是立体的胸部 X 光CXR是临床最常用的影像检查可它恰恰是 AI 最难啃的骨头之一骨骼、肺野、心脏、膈肌层层叠加在同一张灰度图上病变可能只是米粒大小的一个阴影还可能被肋骨遮挡。这意味着光靠看图远远不够——你需要知道这个阴影密度对不对它和纵隔的位置关系如何该怀疑哪种病、排除哪种病。模型各管一段临床要的是全程过去几年的 AI 医学影像研究产出了一批单项冠军有的专做 18 种疾病分类有的专做器官分割有的专做报告生成还有的擅长回答影像问答。它们各自都很好但彼此之间不对话分类模型说高度怀疑肺炎可它不告诉你病灶在哪分割模型标出了肺野却不告诉你这意味着什么报告模型生成了一整段文字却没法回答你的追问。临床医生需要的不是一堆孤立的结论而是一条完整的推理链。MedRAX 要解决的正是这个工具孤岛问题。MedRAX 的解题思路一个会调度专家团队的指挥大脑带视觉能力的 GPT-4oMedRAX 的核心是 GPT-4o 这样的多模态大语言模型。它扮演指挥角色既自己直接观察图像也能判断这个问题我需要调用哪个工具来补充证据。系统提示词写得很直白见medrax/docs/system_prompts.txt像医生一样回答医学问题、分析医学图像用你自己的视觉和推理作答并调用工具来补充你的推理。可以并行或串行地多次调用工具以获得全面的答案。批判性地思考和审视工具的输出。注意最后一句——它被明确要求质疑工具结果而不是无条件采信。这是代理系统和模型拼接的本质区别。手臂9 个各怀绝技的专业工具指挥需要工具去动手。MedRAX 内置的工具清单如下工具背后模型能力ChestXRayClassifierToolDenseNet-121TorchXRayVision对 18 种胸部疾病逐一给出概率如肺不张、心脏肥大、肺炎、气胸ChestXRaySegmentationToolPSPNetChestX-Det分割 14 个解剖结构双肺、心脏、主动脉、膈肌、脊柱等并输出面积、质心等量化指标XRayVQAToolCheXagent-2-3b支持对影像的自由问答、异常检测、对比分析LlavaMedToolLLaVA-Med另一个多模态医学视觉问答入口ChestXRayReportGeneratorToolViT-BERTCheXpert MIMIC-CXR 训练自动生成含 FINDINGS所见与 IMPRESSION印象的规范影像报告XRayPhraseGroundingToolMaira-2将描述性短语定位到影像中的具体区域ChestXRayGeneratorToolRoentGen合成胸部 X 光图像实验性工具权重需手动配置ImageVisualizerTool/DicomProcessorTool—可视化标注、把 DICOM 医学格式转换为通用图片神经LangGraph 驱动的思考-执行循环指挥和工具之间靠什么串联答案是 LangChain LangGraph。打开medrax/agent/agent.py核心逻辑其实只有十几行workflow.add_node(process, self.process_request) # 大脑思考 workflow.add_node(execute, self.execute_tools) # 调用工具 workflow.add_conditional_edges( process, self.has_tool_calls, {True: execute, False: END} ) workflow.add_edge(execute, process) # 拿结果继续想模型每回答一轮如果它决定要调工具系统就执行工具、把结果回传给模型然后循环回到思考节点直到模型认为证据够了、给出最终答复。每一次工具调用还会自动记录到logs/目录下的 JSON 文件方便你事后复盘它到底看了什么、查了什么。演示动画中可以看到代理在回答中穿插调用工具、呈现图像与结论的完整过程。5 分钟起步让第一个AI 放射科助手跑起来三条命令完成安装环境要求不复杂Python 3.10有 GPU 体验最佳CPU 也能跑只是慢一些。克隆并安装git clone https://gitcode.com/gh_mirrors/me/MedRAX cd MedRAX pip install -e .然后在项目根目录创建.env文件写入你的 OpenAI API KeyOPENAI_API_KEYsk-xxxx启动图形界面python main.py浏览器访问http://localhost:8585一个 Gradio 聊天界面就绪。你可以上传 JPG/PNG 胸片甚至直接上传.dcm的 DICOM 文件——界面会自动把它转成可显示的图像再交给代理分析。侧边栏实时展示图像对话区显示代理的推理过程。启动前检查清单检查项位置说明API Key根目录.env没有它GPT-4o 无法工作模型权重目录main.py中的model_dir指向 Hugging Face 权重下载目录工具开关main.py中的selected_tools注释掉你暂时不用的工具设备devicecudaCPU 环境改成cpu小提醒第一次初始化会从 Hugging Face 自动下载分类、分割等模型权重网络通畅时通常几分钟内完成。若内存紧张可以先只保留分类和可视化两个轻量工具。进阶玩法学会按需点菜而不是全盘照单只加载你需要的工具main.py里那段selected_tools列表就是你的菜单。默认启用 6 个工具LlavaMedTool、XRayPhraseGroundingTool、ChestXRayGeneratorTool默认被注释——它们更吃显存。你可以根据自己的硬件自由组合selected_tools [ ImageVisualizerTool, DicomProcessorTool, ChestXRayClassifierTool, ChestXRaySegmentationTool, ChestXRayReportGeneratorTool, XRayVQATool, ]8 位量化是救星LlavaMedTool和XRayPhraseGroundingTool初始化时都带了load_in_8bitTrue参数显存不够时这是最直接的缓解手段。不花钱也能试接入本地或国产大模型MedRAX 走的是 OpenAI 兼容接口意味着你可以不依赖 OpenAI。比如用 Ollama 跑本地模型export OPENAI_BASE_URLhttp://localhost:11434/v1 export OPENAI_API_KEYollama也可以接阿里云 DashScope 的 Qwen3-VLexport OPENAI_BASE_URLhttps://dashscope.aliyuncs.com/compatible-mode/v1 export OPENAI_API_KEYyour-key export OPENAI_MODELqwen3-vl-235b-a22b-instruct心得代理的推理质量上限取决于指挥模型的水平。本地小模型跑得动但复杂诊断任务建议还是用更强的商用模型。它到底靠不靠谱ChestAgentBench 就是那张考卷MedRAX 团队没有只吹效果而是建了一套配套的评估基准ChestAgentBench从 675 个专家精选的临床病例中生成了2500 道复杂医学选择题覆盖检测、分类、定位、比较、关系分析、诊断、特征描述等能力维度——甚至包括枚举病灶数量解释推理依据这类刁钻题目。ChestAgentBench 的数据来自真实病例库年龄分布保证了考题的多样性。想亲自跑一次评测先下载基准数据再执行quickstart.pypython quickstart.py \ --model chatgpt-4o-latest \ --temperature 0.2 \ --max-cases 2 \ --log-prefix chatgpt-4o-latest \ --use-urls用--max-cases 2先试水评估脚本会把每道题的模型答案、正确答案、耗时全部落盘experiments/目录下还有compare_runs.py、inspect_logs.py等脚本帮你汇总分析。论文中的结论是MedRAX 在 ChestAgentBench 上表现优于多个开源与闭源模型——这正是多工具协同推理的价值所在。真实场景一瞥一张肺炎胸片会经历什么把以上能力串起来看一个典型场景。你上传一张疑似肺炎的胸片比如demo/chest/pneumonia3.jpg向代理提问这张片子上有什么异常该怎么描述。代理会综合分类、分割、报告生成等多个工具的结果来回答这个问题。大致的内部流程是这样的分类工具给出 18 类疾病的概率肺炎、实变等指标的分数明显偏高分割工具标出肺野、心脏等结构量出病灶大致所在区域报告生成工具输出一段规范化的 FINDINGS / IMPRESSION 文本指挥GPT-4o汇总以上证据批判性整合后用自然语言回答你的问题甚至给出鉴别诊断建议。把正常胸片喂给同一个代理它会给出截然不同的描述这正是对比分析能力的价值。整个过程你可以在对话流中看到哪个工具被调用、返回了什么、代理如何据此修正回答——这也是 MedRAX 相比黑箱模型最让人安心的一点推理过程可追溯、可审计。写在最后代理不是来取代医生的MedRAX 的意义与其说是造出一个 AI 医生不如说是验证了一种工程范式把多个成熟但孤立的医学影像模型编排成一个会思考、会调度、会自我质疑的整体。它不额外训练模型靠的是指挥 工具的组合拳——这也是 ICML 2025 这篇工作最值得借鉴的地方。如果你打算动手尝试我的建议是按这个顺序来先跑通main.py用默认 6 个工具体验一次完整问答换一张 DICOM 格式的片子感受格式转换带来的便利用selected_tools做减法直到你的硬件能流畅跑起来最后用quickstart.py在 ChestAgentBench 上跑一两个 case亲眼看看代理的推理日志。技术永远在迭代但让 AI 学会像专家一样调取证据、交叉验证、给出结论这条思路会是医学影像智能化的长期主线。MedRAX 正是这条路上一个值得研究的完整范本。【免费下载链接】MedRAXMedRAX: Medical Reasoning Agent for Chest X-ray - ICML 2025项目地址: https://gitcode.com/gh_mirrors/me/MedRAX创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考