[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-souvikmajumder26--Multi-Agent-Medical-Assistant":3,"tool-souvikmajumder26--Multi-Agent-Medical-Assistant":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",143909,2,"2026-04-07T11:33:18",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":102,"env_os":103,"env_gpu":104,"env_ram":105,"env_deps":106,"category_tags":120,"github_topics":122,"view_count":32,"oss_zip_url":78,"oss_zip_packed_at":78,"status":17,"created_at":143,"updated_at":144,"faqs":145,"releases":146},5109,"souvikmajumder26\u002FMulti-Agent-Medical-Assistant","Multi-Agent-Medical-Assistant","⚕️GenAI powered multi-agentic medical diagnostics and healthcare research assistance chatbot. 🏥 Designed for healthcare professionals, researchers and patients.","Multi-Agent-Medical-Assistant 是一款基于生成式人工智能的多智能体医疗助手，旨在为疾病诊断、医学研究及患者咨询提供智能化支持。它有效解决了传统医疗场景中信息检索效率低、影像分析门槛高以及最新医学资讯获取滞后等痛点，通过整合多方能力为用户提供精准辅助。\n\n这款工具非常适合医疗从业者、科研人员以及希望深入了解病情的患者使用；同时，其模块化的代码架构也极具学习价值，是开发者研究多智能体协作与高级 RAG（检索增强生成）技术的理想范例。\n\n在技术层面，Multi-Agent-Medical-Assistant 不仅融合了大型语言模型与计算机视觉模型以分析医学影像，还引入了“人在回路”机制，确保 AI 对影像的诊断结果能经过专业人员验证，提升安全性。系统支持实时网络搜索以获取前沿医学观点，并采用混合检索策略与语义分块技术优化知识库查询。值得一提的是，最新版本升级了文档处理能力，能更精准地解析包含图表和图像的复杂医疗文献，并在回答中附带可追溯的原始来源链接，让每一次交互都严谨可信。","\u003Cdiv align=\"center\">\n \n![logo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsouvikmajumder26_Multi-Agent-Medical-Assistant_readme_d1c9db6e4609.png)\n\n\u003Ch1 align=\"center\">\u003Cstrong>⚕️ Multi-Agent-Medical-Assistant :\u003Ch6 align=\"center\">AI-powered multi-agentic system for medical diagnosis and assistance\u003C\u002Fh6>\u003C\u002Fstrong>\u003C\u002Fh1>\n\n\u003C!-- ![PyTorch - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPYTORCH-2.0+-red?style=for-the-badge&logo=pytorch) -->\n![Python - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPYTHON-3.11+-blue?style=for-the-badge&logo=python&logoColor=white)\n![LangGraph - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLangGraph-0.3+-teal?style=for-the-badge&logo=langgraph)\n![LangChain - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLangChain-0.3+-teal?style=for-the-badge&logo=langchain)\n![Qdrant Client - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQdrant-1.13+-red?style=for-the-badge&logo=qdrant)\n![Pydantic - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPydantic-2.10+-red?style=for-the-badge&logo=pydantic)\n![FastAPI - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFastAPI-0.115+-teal?style=for-the-badge&logo=fastapi)\n![Docling - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocling-3.1+-orange?style=for-the-badge&logo=docling)\n[![Generic badge](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache-\u003CCOLOR>.svg?style=for-the-badge)](https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fblob\u002Fmain\u002FLICENSE) \n[![GitHub Issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant.svg?style=for-the-badge)](https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fissues)\n![Contributions welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcontributions-welcome-orange.svg?style=for-the-badge)\n\n\u003C\u002Fdiv>\n\n----\n\n> [!IMPORTANT]  \n> 📋 Version Updates from v2.0 to v2.1 and further:\n> 1. **Document Processing Upgrade**: Unstructured.io has been replaced with Docling for document parsing and extraction of text, tables, and images to be embedded.\n> 2. **Enhanced RAG References**: Links to source documents and reference images present in reranked retrieved chunks stored in local storage are added to the bottom of the RAG responses.\n>\n> To use Unstructured.io based solution, refer release - [v2.0](https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Ftree\u002Fv2.0).\n \n## 📚 Table of Contents\n- [Overview](#overview)\n- [Demo](#demo)\n- [Technical Flow Chart](#technical-flowchart)\n- [Key Features](#key-features)\n- [Tech Stack](#technology-stack)\n- [Installation and Setup](#installation-setup)\n  - [Using Docker](#docker-setup)\n  - [Manual Installation](#manual-setup)\n- [Usage](#usage)\n- [Contributions](#contributions)\n- [License](#license)\n- [Citing](#citing)\n- [Contact](#contact)\n\n----\n\n## 📌 Overview \u003Ca name=\"overview\">\u003C\u002Fa>\n\nThe **Multi-Agent Medical Assistant** is an **AI-powered chatbot** designed to assist with **medical diagnosis, research, and patient interactions**.  \n\n🚀 **Powered by Multi-Agent Intelligence**, this system integrates:  \n- **🤖 Large Language Models (LLMs)**  \n- **🖼️ Computer Vision Models** for medical imaging analysis  \n- **📚 Retrieval-Augmented Generation (RAG)** leveraging vector databases  \n- **🌐 Real-time Web Search** for up-to-date medical insights  \n- **👨‍⚕️ Human-in-the-Loop Validation** to verify AI-based medical image diagnoses  \n\n### **What You’ll Learn from This Project** 📖  \n🔹 **👨‍💻 Multi-Agent Orchestration** with structured graph workflows  \n🔹 **🔍 Advanced RAG Techniques** – hybrid retrieval, semantic chunking, and vector search  \n🔹 **⚡ Confidence-Based Routing** & **Agent-to-Agent Handoff**  \n🔹 **🔒 Scalable, Production-Ready AI with Modularized Code & Robust Exception Handling**  \n\n📂 **For learners**: Check out [`agents\u002FREADME.md`](agents\u002FREADME.md) for a **detailed breakdown** of the agentic workflow! 🎯  \n\n\u003C!-- The **Multi-Agent Medical Assistant** is an advanced AI-powered chatbot system designed to assist in medical diagnosis, research, and patient interactions.\n\nUsing a **Multi-Agentic framework**, this assistant integrates **Large Language Models, Computer Vision Models, Retrieval Augmented Generation leveraging Vector Database**, and **Web Search** to provide **accurate**, **reliable**, and **up-to-date** medical insights.\n\nThis project serves as a **comprehensive resource** for learning and implementing **GenAI with multi-agent orchestration**. It demonstrates **advanced Retrieval-Augmented Generation (RAG)**, integrating **vector search with hybrid retrieval techniques**, **efficient chunking strategies respecting document semantic boundaries**, **confidence-based routing**, **agent-to-agent handoff**, **real-time web search capabilities**, **human-in-the-loop validation** and more. The system incorporates **specialized AI agents** for medical reasoning, diagnosis, and research retrieval, all working seamlessly through a structured graph workflow. Developers will gain insights into **modular agentic AI solution design, and robust exception handling** — ensuring **scalability and production readiness**.\n\nFor learners: Refer `agents\u002FREADME.md` for detailed explanation of the agentic workflow. -->\n\n---\n\n## 💫 Demo \u003Ca name=\"demo\">\u003C\u002Fa>\n\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fd27d4a2e-1c7d-45e2-bbc5-b3d95ccd5b35\n\n\nIf you like what you see and would want to support the project's developer, you can \u003Ca href=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fsouvikmajumder\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fassets\u002Fimg\u002Fcustom_images\u002Forange_img.png\" alt=\"Buy Me A Coffee\" style=\"height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;\" >\u003C\u002Fa> ! :)\n\n📂 **For an even more detailed demo video**: Check out [`Multi-Agent-Medical-Assistant-v1.9`](assets\u002FMulti-Agent-Medical-Assistant-v1.9_Compressed.mp4). 📽️\n\n---\n\n## 🛡️ Technical Flow Chart  \u003Ca name=\"technical-flowchart\">\u003C\u002Fa>\n\n![Technical Flow Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsouvikmajumder26_Multi-Agent-Medical-Assistant_readme_efe1771d5d85.png)\n\n---\n\n\u003C!-- ## 🌟 Key Features  \u003Ca name=\"key-features\">\u003C\u002Fa>\n✅ **Multi-Agent System** – Separate agents handle different tasks (diagnosis, retrieval, reasoning, etc.).  \n✅ **RAG-based Retrieval** – Uses Qdrant for vector search & hybrid retrieval techniques.  \n✅ **Medical Image Analysis** – Supports **brain tumor segmentation, chest X-ray disease detection, and skin lesion classification**.  \n✅ **Web Search Agent** – Fetches the latest medical research when required.  \n✅ **Confidence Score Check** – Ensures high accuracy with log probability-based verification.  \n✅ **Speech-to-Text & Text-to-Speech** – Uses **Eleven Labs API** for voice interactions.  \n✅ **Human-in-the-Loop Verification** – Medical professionals validate the AI’s results before final output.  \n✅ **Intuitive UI** – Built for seamless user experience.  \n\n---\n\n## 🛠️ Tech Stack  \u003Ca name=\"tech-stack\">\u003C\u002Fa>\n🔹 **Backend**: FastAPI 🚀  \n🔹 **Multi-Agent Orchestration**: LangGraph + LangChain 🤖  \n🔹 **Vector Database**: Qdrant (for retrieval-augmented generation) 🔍  \n🔹 **Medical Image Analysis**: Computer vision models (Brain Tumor - Semantic Segmentation, Chest X-ray - Object Detection, Skin Lesion - Classification) 🏥  \n🔹 **Speech Processing**: Eleven Labs API 🎙️  \n🔹 **UI**: HTML, CSS, JS 🌐  \n🔹 **Deployment**: Docker 🛠️   -->\n\n## ✨ Key Features  \u003Ca name=\"key-features\">\u003C\u002Fa>\n\n- 🤖 **Multi-Agent Architecture** : Specialized agents working in harmony to handle diagnosis, information retrieval, reasoning, and more\n\n- 🔍 **Advanced Agentic RAG Retrieval System** :\n\n  - Docling based parsing to extract text, tables, and images from PDFs.\n  - Embedding markdown formatted text, tables and LLM based image summaries.\n  - LLM based semantic chunking with structural boundary awareness.\n  - LLM based query expansion with related medical domain terms.\n  - Qdrant hybrid search combining BM25 sparse keyword search along with dense embedding vector search.\n  - HuggingFace Cross-Encoder based reranking of retrieved document chunks for accurate LLM reponses.\n  - Input-output guardrails to ensure safe and relevant responses.\n  - Links to source documents and images present in reference document chunks provided with reponse.\n  - Confidence-based agent-to-agent handoff between RAG and Web Search to prevent hallucinations.\n\n- 🏥 **Medical Imaging Analysis**  \n  - Brain Tumor Detection (TBD)\n  - Chest X-ray Disease Classification\n  - Skin Lesion Segmentation\n\n- 🌐 **Real-time Research Integration** : Web search agent that retrieves the latest medical research papers and findings\n\n- 📊 **Confidence-Based Verification** : Log probability analysis ensures high accuracy in medical recommendations\n\n- 🎙️ **Voice Interaction Capabilities** : Seamless speech-to-text and text-to-speech powered by Eleven Labs API\n\n- 👩‍⚕️ **Expert Oversight System** : Human-in-the-loop verification by medical professionals before finalizing outputs\n\n- ⚔️ **Input & Output Guardrails** : Ensures safe, unbiased, and reliable medical responses while filtering out harmful or misleading content\n\n- 💻 **Intuitive User Interface** : Designed for healthcare professionals with minimal technical expertise\n\n> [!NOTE]  \n> Upcoming features:\n> 1. Brain Tumor Medical Computer Vision model integration.\n> 2. Open to suggestions and contributions.\n\n---\n\n## 🛠️ Technology Stack  \u003Ca name=\"technology-stack\">\u003C\u002Fa>\n\n| Component | Technologies |\n|-----------|-------------|\n| 🔹 **Backend Framework** | FastAPI |\n| 🔹 **Agent Orchestration** | LangGraph |\n| 🔹 **Document Parsing** | Docling |\n| 🔹 **Knowledge Storage** | Qdrant Vector Database |\n| 🔹 **Medical Imaging** | Computer Vision Models |\n| | • Brain Tumor: Object Detection (PyTorch) |\n| | • Chest X-ray: Image Classification (PyTorch) |\n| | • Skin Lesion: Semantic Segmentation (PyTorch) |\n| 🔹 **Guardrails** | LangChain |\n| 🔹 **Speech Processing** | Eleven Labs API |\n| 🔹 **Frontend** | HTML, CSS, JavaScript |\n| 🔹 **Deployment** | Docker, GitHub Actions CI\u002FCD |\n\n---\n\n## 🚀 Installation & Setup  \u003Ca name=\"installation-setup\">\u003C\u002Fa>\n\n## 📌 Option 1: Using Docker  \u003Ca name=\"docker-setup\">\u003C\u002Fa>\n\n### Prerequisites:\n\n- [Docker](https:\u002F\u002Fdocs.docker.com\u002Fget-docker\u002F) installed on your system\n- API keys for the required services\n\n### 1️⃣ Clone the Repository\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant.git\ncd Multi-Agent-Medical-Assistant\n```\n\n### 2️⃣ Create Environment File\n- Create a `.env` file in the root directory and add the following API keys:\n\n> [!NOTE]  \n> You may use any llm and embedding model of your choice...\n> 1. If using Azure OpenAI, no modification required.\n> 2. If using direct OpenAI, modify the llm and embedding model definitions in the 'config.py' and provide appropriate env variables.\n> 3. If using local models, appropriate code changes might be required throughout the codebase especially in 'agents'.\n\n> [!WARNING]  \n> Ensure the API keys in the `.env` file are correct and have the necessary permissions.\n> No trailing whitespaces after variable names.\n\n```bash\n# LLM Configuration (Azure Open AI - gpt-4o used in development)\n# If using any other LLM API key or local LLM, appropriate code modification is required\ndeployment_name= \nmodel_name=gpt-4o\nazure_endpoint=\nopenai_api_key=\nopenai_api_version=\n\n# Embedding Model Configuration (Azure Open AI - text-embedding-ada-002 used in development)\n# If using any other embedding model, appropriate code modification is required\nembedding_deployment_name=\nembedding_model_name=text-embedding-ada-002\nembedding_azure_endpoint=\nembedding_openai_api_key=\nembedding_openai_api_version=\n\n# Speech API Key (Free credits available with new Eleven Labs Account)\nELEVEN_LABS_API_KEY=\n\n# Web Search API Key (Free credits available with new Tavily Account)\nTAVILY_API_KEY=\n\n# Hugging Face Token - using reranker model \"ms-marco-TinyBERT-L-6\"\nHUGGINGFACE_TOKEN=\n\n# (OPTIONAL) If using Qdrant server version, local does not require API key\nQDRANT_URL=\nQDRANT_API_KEY=\n```\n\n### 3️⃣ Build the Docker Image\n```bash\ndocker build -t medical-assistant .\n```\n\n### 4️⃣ Run the Docker Container\n```bash\ndocker run -d --name medical-assistant-app -p 8000:8000 --env-file .env medical-assistant\n```\nThe application will be available at: [http:\u002F\u002Flocalhost:8000](http:\u002F\u002Flocalhost:8000)\n\n### 5️⃣ Ingest Data into Vector DB from Docker Container\n\n- To ingest a single document:\n```bash\ndocker exec medical-assistant-app python ingest_rag_data.py --file .\u002Fdata\u002Fraw\u002Fbrain_tumors_ucni.pdf\n```\n\n- To ingest multiple documents from a directory:\n```bash\ndocker exec medical-assistant-app python ingest_rag_data.py --dir .\u002Fdata\u002Fraw\n```\n\n### Managing the Container:\n\n#### Stop the Container\n```bash\ndocker stop medical-assistant-app\n```\n\n#### Start the Container\n```bash\ndocker start medical-assistant-app\n```\n\n#### View Logs\n```bash\ndocker logs medical-assistant-app\n```\n\n#### Remove the Container\n```bash\ndocker rm medical-assistant-app\n```\n\n### Troubleshooting:\n\n#### Container Health Check\nThe container includes a health check that monitors the application status. You can check the health status with:\n```bash\ndocker inspect --format='{{.State.Health.Status}}' medical-assistant-app\n```\n\n#### Container Not Starting\nIf the container fails to start, check the logs for errors:\n```bash\ndocker logs medical-assistant-app\n```\n\n\n## 📌 Option 2: Without Using Docker  \u003Ca name=\"manual-setup\">\u003C\u002Fa>\n\n### 1️⃣ Clone the Repository  \n```bash  \ngit clone https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant.git  \ncd Multi-Agent-Medical-Assistant  \n```\n\n### 2️⃣ Create & Activate Virtual Environment  \n- If using conda:\n```bash\nconda create --name \u003Cenvironment-name> python=3.11\nconda activate \u003Cenvironment-name>\n```\n- If using python venv:\n```bash\npython -m venv \u003Cenvironment-name>\nsource \u003Cenvironment-name>\u002Fbin\u002Factivate  # For Mac\u002FLinux\n\u003Cenvironment-name>\\Scripts\\activate     # For Windows  \n```\n\n### 3️⃣ Install Dependencies  \n\n> [!IMPORTANT]  \n> ffmpeg is required for speech service to work.\n\n- If using conda:\n```bash\nconda install -c conda-forge ffmpeg\n```\n```bash\npip install -r requirements.txt  \n```\n- If using python venv:\n```bash\nwinget install ffmpeg\n```\n```bash\npip install -r requirements.txt  \n```\n\n### 4️⃣ Set Up API Keys  \n- Create a `.env` file and add the required API keys as shown in `Option 1`.\n\n### 5️⃣ Run the Application  \n- Run the following command in the activate environment.\n\n```bash\npython app.py\n```\nThe application will be available at: [http:\u002F\u002Flocalhost:8000](http:\u002F\u002Flocalhost:8000)\n\n### 6️⃣ Ingest additional data into the Vector DB\nRun any one of the following commands as required.\n- To ingest one document at a time:\n```bash\npython ingest_rag_data.py --file .\u002Fdata\u002Fraw\u002Fbrain_tumors_ucni.pdf\n```\n- To ingest multiple documents from a directory:\n```bash\npython ingest_rag_data.py --dir .\u002Fdata\u002Fraw\n```\n\n---\n\n## 🧠 Usage  \u003Ca name=\"usage\">\u003C\u002Fa>\n\n> [!NOTE]\n> 1. The first run can be jittery and may get errors - be patient and check the console for ongoing downloads and installations.\n> 2. On the first run, many models will be downloaded - yolo for tesseract ocr, computer vision agent models, cross-encoder reranker model, etc.\n> 3. Once they are completed, retry. Everything should work seamlessly since all of it is thoroughly tested.\n\n- Upload medical images for **AI-based diagnosis**. Task specific Computer Vision model powered agents - upload images from 'sample_images' folder to try out.\n- Ask medical queries to leverage **retrieval-augmented generation (RAG)** if information in memory or **web-search** to retrieve latest information.  \n- Use **voice-based** interaction (speech-to-text and text-to-speech).  \n- Review AI-generated insights with **human-in-the-loop verification**.  \n\n---\n\n## 🤝 Contributions  \u003Ca name=\"contributions\">\u003C\u002Fa>\nContributions are welcome! Please check the [issues](https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fissues) tab for feature requests and improvements.  \n\n---\n\n## ⚖️ License  \u003Ca name=\"license\">\u003C\u002Fa>\nThis project is licensed under the **Apache-2.0 License**. See the [LICENSE](LICENSE) file for details.  \n\n---\n\n## 📝 Citing \u003Ca name=\"citing\">\u003C\u002Fa>\n```\n@misc{Souvik2025,\n  Author = {Souvik Majumder},\n  Title = {Multi Agent Medical Assistant},\n  Year = {2025},\n  Publisher = {GitHub},\n  Journal = {GitHub repository},\n  Howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant}}\n}\n```\n\n---\n\n## 📬 Contact  \u003Ca name=\"contact\">\u003C\u002Fa>\nFor any questions or collaboration inquiries, reach out to **Souvik Majumder** on:  \n\n🔗 **LinkedIn**: [https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fsouvikmajumder26](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fsouvikmajumder26)\n\n🔗 **GitHub**: [https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26](https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26)\n\n\u003Cp align=\"right\">\n \u003Ca href=\"#top\">\u003Cb>🔝 Return \u003C\u002Fb>\u003C\u002Fa>\n\u003C\u002Fp>\n\n---\n","\u003Cdiv align=\"center\">\n \n![logo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsouvikmajumder26_Multi-Agent-Medical-Assistant_readme_d1c9db6e4609.png)\n\n\u003Ch1 align=\"center\">\u003Cstrong>⚕️ 多智能体医疗助手 :\u003Ch6 align=\"center\">基于AI的多智能体系统，用于医学诊断与辅助\u003C\u002Fh6>\u003C\u002Fstrong>\u003C\u002Fh1>\n\n\u003C!-- ![PyTorch - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPYTORCH-2.0+-red?style=for-the-badge&logo=pytorch) -->\n![Python - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPYTHON-3.11+-blue?style=for-the-badge&logo=python&logoColor=white)\n![LangGraph - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLangGraph-0.3+-teal?style=for-the-badge&logo=langgraph)\n![LangChain - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLangChain-0.3+-teal?style=for-the-badge&logo=langchain)\n![Qdrant Client - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FQdrant-1.13+-red?style=for-the-badge&logo=qdrant)\n![Pydantic - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPydantic-2.10+-red?style=for-the-badge&logo=pydantic)\n![FastAPI - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFastAPI-0.115+-teal?style=for-the-badge&logo=fastapi)\n![Docling - Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocling-3.1+-orange?style=for-the-badge&logo=docling)\n[![Generic badge](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache-\u003CCOLOR>.svg?style=for-the-badge)](https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fblob\u002Fmain\u002FLICENSE) \n[![GitHub Issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant.svg?style=for-the-badge)](https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fissues)\n![Contributions welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcontributions-welcome-orange.svg?style=for-the-badge)\n\n\u003C\u002Fdiv>\n\n----\n\n> [!IMPORTANT]  \n> 📋 从 v2.0 到 v2.1 及更高版本的更新：\n> 1. **文档处理升级**：已将 Unstructured.io 替换为 Docling，用于解析文档并提取文本、表格和图像以进行嵌入。\n> 2. **增强的 RAG 参考信息**：在本地存储中重新排序后的检索片段底部，添加了指向源文档和参考图像的链接，这些链接会显示在 RAG 响应中。\n>\n> 如需使用基于 Unstructured.io 的解决方案，请参阅发布版本 - [v2.0](https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Ftree\u002Fv2.0)。\n \n## 📚 目录\n- [概述](#overview)\n- [演示](#demo)\n- [技术流程图](#technical-flowchart)\n- [关键特性](#key-features)\n- [技术栈](#technology-stack)\n- [安装与设置](#installation-setup)\n  - [使用 Docker](#docker-setup)\n  - [手动安装](#manual-setup)\n- [使用方法](#usage)\n- [贡献](#contributions)\n- [许可证](#license)\n- [引用](#citing)\n- [联系方式](#contact)\n\n----\n\n## 📌 概述 \u003Ca name=\"overview\">\u003C\u002Fa>\n\n**多智能体医疗助手**是一款**基于AI的聊天机器人**，旨在协助进行**医学诊断、研究以及患者互动**。\n\n🚀 **由多智能体智能驱动**，该系统集成了：\n- **🤖 大型语言模型 (LLMs)**  \n- **🖼️ 计算机视觉模型**，用于医学影像分析  \n- **📚 检索增强生成 (RAG)**，利用向量数据库  \n- **🌐 实时网络搜索**，以获取最新的医学见解  \n- **👨‍⚕️ 人工参与验证**，用于核实基于AI的医学影像诊断结果  \n\n### **您将从该项目中学到的内容** 📖  \n🔹 **👨‍💻 多智能体编排**，采用结构化的图工作流  \n🔹 **🔍 高级 RAG 技术**——混合检索、语义分块和向量搜索  \n🔹 **⚡ 基于置信度的路由**及**智能体之间的交接**  \n🔹 **🔒 可扩展、生产就绪的AI，具有模块化代码和强大的异常处理机制**  \n\n📂 **对于学习者**：请查看 [`agents\u002FREADME.md`](agents\u002FREADME.md)，了解关于智能体工作流的**详细分解**！ 🎯  \n\n\u003C!-- **多智能体医疗助手**是一个先进的基于AI的聊天机器人系统，旨在协助医学诊断、研究和患者互动。\n\n通过**多智能体框架**，该助手整合了**大型语言模型、计算机视觉模型、利用向量数据库的检索增强生成**以及**网络搜索**，以提供**准确**、**可靠**和**最新**的医学见解。\n\n该项目是学习和实现**GenAI与多智能体编排**的**全面资源**。它展示了**高级检索增强生成 (RAG)**，结合了**向量搜索与混合检索技术**、**尊重文档语义边界的高效分块策略**、**基于置信度的路由**、**智能体之间的交接**、**实时网络搜索能力**、**人工参与验证**等。该系统包含用于医学推理、诊断和研究检索的**专用AI智能体**，它们通过结构化的图工作流无缝协作。开发者将深入了解**模块化智能体AI解决方案设计和强大的异常处理机制**，从而确保**可扩展性和生产就绪性**。\n\n对于学习者：请参阅 `agents\u002FREADME.md`，以获取关于智能体工作流的详细说明。 -->\n\n---\n\n## 💫 演示 \u003Ca name=\"demo\">\u003C\u002Fa>\n\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fd27d4a2e-1c7d-45e2-bbc5-b3d95ccd5b35\n\n\n如果您喜欢这里的内容并希望支持该项目的开发者，您可以点击\u003Ca href=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fsouvikmajumder\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fassets\u002Fimg\u002Fcustom_images\u002Forange_img.png\" alt=\"Buy Me A Coffee\" style=\"height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;\" >\u003C\u002Fa> ! :)\n\n📂 **如需更详细的演示视频**：请查看 [`Multi-Agent-Medical-Assistant-v1.9`](assets\u002FMulti-Agent-Medical-Assistant-v1.9_Compressed.mp4)。 📽️\n\n---\n\n## 🛡️ 技术流程图  \u003Ca name=\"technical-flowchart\">\u003C\u002Fa>\n\n![技术流程图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsouvikmajumder26_Multi-Agent-Medical-Assistant_readme_efe1771d5d85.png)\n\n---\n\n\u003C!-- ## 🌟 关键特性  \u003Ca name=\"key-features\">\u003C\u002Fa>\n✅ **多智能体系统**——不同智能体分别负责不同的任务（诊断、检索、推理等）。  \n✅ **基于RAG的检索**——使用Qdrant进行向量搜索及混合检索技术。  \n✅ **医学影像分析**——支持**脑肿瘤分割、胸部X光疾病检测和皮肤病变分类**。  \n✅ **网络搜索智能体**——在需要时获取最新的医学研究。  \n✅ **置信度评分检查**——通过基于对数概率的验证确保高准确性。  \n✅ **语音转文字与文字转语音**——使用**Eleven Labs API**进行语音交互。  \n✅ **人工参与验证**——医学专业人士会在最终输出前验证AI的结果。  \n✅ **直观的用户界面**——专为流畅的用户体验而设计。  \n\n---\n\n## 🛠️ 技术栈  \u003Ca name=\"tech-stack\">\u003C\u002Fa>\n🔹 **后端**: FastAPI 🚀  \n🔹 **多智能体编排**: LangGraph + LangChain 🤖  \n🔹 **向量数据库**: Qdrant（用于检索增强生成） 🔍  \n🔹 **医学影像分析**: 计算机视觉模型（脑肿瘤 - 语义分割、胸部X光 - 目标检测、皮肤病变 - 分类） 🏥  \n🔹 **语音处理**: Eleven Labs API 🎙️  \n🔹 **UI**: HTML, CSS, JS 🌐  \n🔹 **部署**: Docker 🛠️   -->\n\n## ✨ 核心功能  \u003Ca name=\"key-features\">\u003C\u002Fa>\n\n- 🤖 **多智能体架构**：各专业智能体协同工作，完成诊断、信息检索、推理等任务\n- 🔍 **先进的代理式RAG检索系统**：\n  - 基于Docling的解析，从PDF中提取文本、表格和图像。\n  - 对Markdown格式的文本、表格以及LLM生成的图像摘要进行嵌入。\n  - LLM驱动的语义分块，并结合结构边界感知。\n  - LLM驱动的查询扩展，引入相关医学领域术语。\n  - Qdrant混合搜索，结合BM25稀疏关键词检索与稠密向量检索。\n  - 使用HuggingFace Cross-Encoder对检索到的文档片段进行重排序，以确保LLM响应的准确性。\n  - 输入输出约束机制，保证响应的安全性和相关性。\n  - 检索结果中附带参考文档片段中的源文档链接及图片。\n  - 基于置信度的智能体间交接机制，在RAG与网络搜索之间切换，防止幻觉产生。\n- 🏥 **医学影像分析**  \n  - 脑肿瘤检测（待开发）\n  - 胸部X光疾病分类\n  - 面部皮肤病变分割\n\n- 🌐 **实时研究整合**：网络搜索智能体可获取最新的医学研究论文和发现\n- 📊 **基于置信度的验证**：通过对数似然概率的分析，确保医疗建议的高度准确性\n- 🎙️ **语音交互能力**：通过Eleven Labs API实现流畅的语音转文本和文本转语音功能\n- 👩‍⚕️ **专家监督系统**：在最终输出前由医疗专业人士进行人工审核\n- ⚔️ **输入输出约束机制**：确保医疗响应安全、公正且可靠，同时过滤有害或误导性内容\n- 💻 **直观用户界面**：专为技术背景较浅的医护人员设计\n\n> [!NOTE]  \n> 即将推出的功能：\n> 1. 脑肿瘤医学计算机视觉模型集成。\n> 2. 欢迎提出建议和贡献。\n\n---\n\n## 🛠️ 技术栈  \u003Ca name=\"technology-stack\">\u003C\u002Fa>\n\n| 组件 | 技术 |\n|-----------|-------------|\n| 🔹 **后端框架** | FastAPI |\n| 🔹 **智能体编排** | LangGraph |\n| 🔹 **文档解析** | Docling |\n| 🔹 **知识存储** | Qdrant向量数据库 |\n| 🔹 **医学影像** | 计算机视觉模型 |\n| | • 脑肿瘤：目标检测（PyTorch） |\n| | • 胸部X光：图像分类（PyTorch） |\n| | • 皮肤病变：语义分割（PyTorch） |\n| 🔹 **约束机制** | LangChain |\n| 🔹 **语音处理** | Eleven Labs API |\n| 🔹 **前端** | HTML, CSS, JavaScript |\n| 🔹 **部署** | Docker, GitHub Actions CI\u002FCD |\n\n---\n\n## 🚀 安装与设置  \u003Ca name=\"installation-setup\">\u003C\u002Fa>\n\n## 📌 选项1：使用Docker  \u003Ca name=\"docker-setup\">\u003C\u002Fa>\n\n### 前提条件：\n\n- 系统已安装[Docker](https:\u002F\u002Fdocs.docker.com\u002Fget-docker\u002F)\n- 所需服务的API密钥\n\n### 1️⃣ 克隆仓库\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant.git\ncd Multi-Agent-Medical-Assistant\n```\n\n### 2️⃣ 创建环境文件\n- 在根目录下创建`.env`文件，并添加以下API密钥：\n\n> [!NOTE]  \n> 您可以使用任何您选择的LLM和嵌入模型...\n> 1. 如果使用Azure OpenAI，则无需修改。\n> 2. 如果直接使用OpenAI，请修改`config.py`中的LLM和嵌入模型定义，并提供相应的环境变量。\n> 3. 如果使用本地模型，可能需要在整个代码库中进行适当的代码更改，尤其是在“agents”部分。\n> [!WARNING]  \n> 请确保`.env`文件中的API密钥正确无误，并具备必要的权限。\n> 变量名后不得有空格。\n\n```bash\n# LLM配置（开发中使用Azure Open AI - gpt-4o）\n# 如果使用其他LLM API密钥或本地LLM，需进行相应代码修改\ndeployment_name= \nmodel_name=gpt-4o\nazure_endpoint=\nopenai_api_key=\nopenai_api_version=\n\n# 嵌入模型配置（开发中使用Azure Open AI - text-embedding-ada-002）\n# 如果使用其他嵌入模型，需进行相应代码修改\nembedding_deployment_name=\nembedding_model_name=text-embedding-ada-002\nembedding_azure_endpoint=\nembedding_openai_api_key=\nembedding_openai_api_version=\n\n# 语音API密钥（新注册Eleven Labs账户可获得免费额度）\nELEVEN_LABS_API_KEY=\n\n# 网络搜索API密钥（新注册Tavily账户可获得免费额度）\nTAVILY_API_KEY=\n\n# Hugging Face Token - 使用reranker模型 \"ms-marco-TinyBERT-L-6\"\nHUGGINGFACE_TOKEN=\n\n# （可选）如果使用Qdrant服务器版本，本地部署则无需API密钥\nQDRANT_URL=\nQDRANT_API_KEY=\n```\n\n### 3️⃣ 构建Docker镜像\n```bash\ndocker build -t medical-assistant .\n```\n\n### 4️⃣ 运行Docker容器\n```bash\ndocker run -d --name medical-assistant-app -p 8000:8000 --env-file .env medical-assistant\n```\n应用将可通过[http:\u002F\u002Flocalhost:8000](http:\u002F\u002Flocalhost:8000)访问。\n\n### 5️⃣ 从Docker容器中将数据导入向量数据库\n\n- 导入单个文档：\n```bash\ndocker exec medical-assistant-app python ingest_rag_data.py --file .\u002Fdata\u002Fraw\u002Fbrain_tumors_ucni.pdf\n```\n\n- 导入目录下的多个文档：\n```bash\ndocker exec medical-assistant-app python ingest_rag_data.py --dir .\u002Fdata\u002Fraw\n```\n\n### 容器管理：\n\n#### 停止容器\n```bash\ndocker stop medical-assistant-app\n```\n\n#### 启动容器\n```bash\ndocker start medical-assistant-app\n```\n\n#### 查看日志\n```bash\ndocker logs medical-assistant-app\n```\n\n#### 删除容器\n```bash\ndocker rm medical-assistant-app\n```\n\n### 故障排除：\n\n#### 容器健康检查\n容器内置了健康检查功能，可监控应用状态。您可以通过以下命令查看健康状态：\n```bash\ndocker inspect --format='{{.State.Health.Status}}' medical-assistant-app\n```\n\n#### 容器无法启动\n若容器未能成功启动，请查看日志以排查错误：\n```bash\ndocker logs medical-assistant-app\n```\n\n\n## 📌 选项2：不使用Docker  \u003Ca name=\"manual-setup\">\u003C\u002Fa>\n\n### 1️⃣ 克隆仓库  \n```bash  \ngit clone https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant.git  \ncd Multi-Agent-Medical-Assistant  \n```\n\n### 2️⃣ 创建并激活虚拟环境  \n- 如果使用 conda：\n```bash\nconda create --name \u003Cenvironment-name> python=3.11\nconda activate \u003Cenvironment-name>\n```\n- 如果使用 Python venv：\n```bash\npython -m venv \u003Cenvironment-name>\nsource \u003Cenvironment-name>\u002Fbin\u002Factivate  # 对于 Mac\u002FLinux\n\u003Cenvironment-name>\\Scripts\\activate     # 对于 Windows  \n```\n\n### 3️⃣ 安装依赖  \n\n> [!IMPORTANT]  \n> 需要安装 ffmpeg 才能使语音服务正常工作。\n\n- 如果使用 conda：\n```bash\nconda install -c conda-forge ffmpeg\n```\n```bash\npip install -r requirements.txt  \n```\n- 如果使用 Python venv：\n```bash\nwinget install ffmpeg\n```\n```bash\npip install -r requirements.txt  \n```\n\n### 4️⃣ 设置 API 密钥  \n- 创建一个 `.env` 文件，并按照 `Option 1` 中所示添加所需的 API 密钥。\n\n### 5️⃣ 运行应用程序  \n- 在激活的环境中运行以下命令。\n\n```bash\npython app.py\n```\n应用程序将可在以下地址访问：[http:\u002F\u002Flocalhost:8000](http:\u002F\u002Flocalhost:8000)\n\n### 6️⃣ 向向量数据库中导入额外数据\n根据需要运行以下任一命令。\n- 每次导入一份文档：\n```bash\npython ingest_rag_data.py --file .\u002Fdata\u002Fraw\u002Fbrain_tumors_ucni.pdf\n```\n- 从目录中批量导入文档：\n```bash\npython ingest_rag_data.py --dir .\u002Fdata\u002Fraw\n```\n\n---\n\n## 🧠 使用方法  \u003Ca name=\"usage\">\u003C\u002Fa>\n\n> [!NOTE]\n> 1. 第一次运行可能会有些卡顿并出现错误，请耐心等待，并查看控制台以了解下载和安装的进度。\n> 2. 第一次运行时会下载许多模型，例如用于 Tesseract OCR 的 YOLO 模型、计算机视觉代理模型、交叉编码器重排序模型等。\n> 3. 下载完成后请再次尝试，所有功能应该都能顺利运行，因为这些功能都经过了充分测试。\n\n- 上传医学图像以进行 **基于 AI 的诊断**。可以使用特定任务的计算机视觉模型代理——从“sample_images”文件夹中上传图像进行尝试。\n- 提出医学相关问题，利用 **检索增强生成（RAG）** 技术获取记忆中的信息，或通过 **网络搜索** 获取最新信息。\n- 使用 **基于语音** 的交互方式（语音转文本和文本转语音）。\n- 通过 **人工参与验证** 来审查 AI 生成的见解。\n\n---\n\n## 🤝 贡献  \u003Ca name=\"contributions\">\u003C\u002Fa>\n欢迎各位贡献！请查看 [issues](https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fissues) 标签页，了解功能请求和改进建议。\n\n---\n\n## ⚖️ 许可证  \u003Ca name=\"license\">\u003C\u002Fa>\n本项目采用 **Apache-2.0 许可证**。详细信息请参阅 [LICENSE](LICENSE) 文件。\n\n---\n\n## 📝 引用  \u003Ca name=\"citing\">\u003C\u002Fa>\n```\n@misc{Souvik2025,\n  Author = {Souvik Majumder},\n  Title = {多智能体医疗助手},\n  Year = {2025},\n  Publisher = {GitHub},\n  Journal = {GitHub 仓库},\n  Howpublished = {\\url{https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant}}\n}\n```\n\n---\n\n## 📬 联系方式  \u003Ca name=\"contact\">\u003C\u002Fa>\n如有任何问题或合作意向，请联系 **Souvik Majumder**：\n\n🔗 **LinkedIn**: [https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fsouvikmajumder26](https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fsouvikmajumder26)\n\n🔗 **GitHub**: [https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26](https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26)\n\n\u003Cp align=\"right\">\n \u003Ca href=\"#top\">\u003Cb>🔝 返回顶部 \u003C\u002Fb>\u003C\u002Fa>\n\u003C\u002Fp>\n\n---","# Multi-Agent-Medical-Assistant 快速上手指南\n\n**Multi-Agent-Medical-Assistant** 是一个基于 AI 的多智能体医疗辅助系统，集成了大语言模型（LLM）、计算机视觉、检索增强生成（RAG）和实时网络搜索，旨在协助医疗诊断、研究和患者互动。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux, macOS 或 Windows (需安装 Docker Desktop)\n*   **Docker**: 已安装并运行 [Docker](https:\u002F\u002Fdocs.docker.com\u002Fget-docker\u002F)\n*   **Git**: 用于克隆代码仓库\n*   **API Keys**: 您需要准备以下服务的 API 密钥：\n    *   **LLM & Embedding**: Azure OpenAI (推荐) 或 OpenAI (需修改配置)\n    *   **语音交互**: Eleven Labs\n    *   **网络搜索**: Tavily\n    *   **重排序模型**: Hugging Face\n    *   **向量数据库**: Qdrant (本地运行无需 Key，云端需 URL 和 Key)\n\n> **注意**：本项目开发阶段主要使用 Azure OpenAI (`gpt-4o` 和 `text-embedding-ada-002`)。若使用其他模型（如本地模型或直接调用 OpenAI），需手动修改 `config.py` 及相关智能体代码。\n\n## 安装步骤\n\n### 1. 克隆项目\n打开终端，执行以下命令获取源代码：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant.git\ncd Multi-Agent-Medical-Assistant\n```\n\n### 2. 配置环境变量\n在项目根目录下创建 `.env` 文件，并填入您的 API 密钥。**注意变量名后不要有多余空格**。\n\n```bash\ntouch .env\n```\n\n编辑 `.env` 文件，参考以下内容填写：\n\n```ini\n# LLM 配置 (默认使用 Azure OpenAI gpt-4o)\ndeployment_name= \nmodel_name=gpt-4o\nazure_endpoint=\nopenai_api_key=\nopenai_api_version=\n\n# Embedding 模型配置 (默认使用 Azure OpenAI text-embedding-ada-002)\nembedding_deployment_name=\nembedding_model_name=text-embedding-ada-002\nembedding_azure_endpoint=\nembedding_openai_api_key=\nembedding_openai_api_version=\n\n# 语音 API (Eleven Labs)\nELEVEN_LABS_API_KEY=\n\n# 网络搜索 API (Tavily)\nTAVILY_API_KEY=\n\n# Hugging Face Token (用于重排序模型 ms-marco-TinyBERT-L-6)\nHUGGINGFACE_TOKEN=\n\n# Qdrant 配置 (本地运行可不填，云端需填写)\nQDRANT_URL=\nQDRANT_API_KEY=\n```\n\n### 3. 构建 Docker 镜像\n在项目根目录执行以下命令构建镜像：\n\n```bash\ndocker build -t medical-assistant .\n```\n\n### 4. 运行容器\n构建完成后，启动容器并映射端口（默认映射到 8000 端口）：\n\n```bash\ndocker run -p 8000:8000 --env-file .env medical-assistant\n```\n\n> **提示**：如果是首次运行，系统可能会自动下载 Docling 解析器所需的模型和 Qdrant 数据。请确保网络连接畅通。国内用户若遇到下载缓慢，可尝试配置相关模型的国内镜像源（如 Hugging Face 镜像）。\n\n## 基本使用\n\n服务启动成功后，您可以通过浏览器访问内置的用户界面或与 API 进行交互。\n\n### 方式一：使用 Web 界面\n在浏览器中打开以下地址：\n\n```text\nhttp:\u002F\u002Flocalhost:8000\n```\n\n您将看到一个专为医疗专业人员设计的直观界面。您可以：\n1.  **上传医疗文档**：支持 PDF 格式，系统将利用 Docling 提取文本、表格和图片。\n2.  **上传医学影像**：支持胸部 X 光片或皮肤病变图片进行分析。\n3.  **发起对话**：输入医疗相关问题，系统将调动多个智能体（诊断、检索、推理）并提供带来源引用的回答。\n\n### 方式二：调用 API\n如果您希望通过代码集成，可以发送 POST 请求到 FastAPI 端点。示例如下：\n\n```bash\ncurl -X POST \"http:\u002F\u002Flocalhost:8000\u002Fchat\" \\\n     -H \"Content-Type: application\u002Fjson\" \\\n     -d '{\"message\": \"分析这张胸部 X 光片可能的疾病\", \"image_path\": \"\u002Fpath\u002Fto\u002Fimage.jpg\"}'\n```\n\n系统返回的结果将包含诊断建议、置信度评分以及参考文档的链接。","某三甲医院呼吸科主治医师在门诊高峰期，面对一位肺部 CT 影像异常且伴有复杂既往病史的患者，急需快速制定精准的诊疗方案并查阅最新临床指南。\n\n### 没有 Multi-Agent-Medical-Assistant 时\n- **多源信息整合耗时**：医生需手动切换电子病历、影像系统和文献数据库，花费大量时间拼凑患者碎片化信息。\n- **影像判读压力大**：在高强度工作下，仅凭肉眼复核细微的肺结节特征容易产生视觉疲劳，增加漏诊风险。\n- **指南更新滞后**：难以实时获取全球最新的药物治疗方案或临床试验数据，诊疗建议可能依赖过时的知识库。\n- **缺乏交叉验证**：初步诊断结果缺少即时的第二意见参考，医生对复杂病例的决策信心不足。\n\n### 使用 Multi-Agent-Medical-Assistant 后\n- **智能信息聚合**：系统自动调用 RAG 技术检索患者历史档案与本地向量库，秒级生成包含关键病史的结构化摘要。\n- **AI 辅助影像分析**：计算机视觉代理自动标注 CT 影像中的可疑病灶并提供量化分析，作为医生的高效“第二双眼睛”。\n- **实时前沿同步**：联网搜索代理即时抓取并总结最新医学论文与指南，确保治疗方案符合当前国际最佳实践。\n- **多代理协同会诊**：不同专业背景的 AI 代理进行内部辩论与置信度评估，输出带有明确参考文献来源的综合诊断建议。\n\nMulti-Agent-Medical-Assistant 通过多智能体协作将繁琐的信息搜集与初筛工作自动化，让医生能专注于核心决策，显著提升诊疗效率与准确性。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsouvikmajumder26_Multi-Agent-Medical-Assistant_d667fe77.png","souvikmajumder26","Souvik Majumder","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fsouvikmajumder26_4211f6ed.jpg","Machine Learning Engineer | Gen AI Agents 🤖 | Computer Vision 📸 | Remote Sensing 🌏 | On a mission to learn and apply something new everyday 🥳","Ford Motor Company","India",null,"https:\u002F\u002Fwww.datascienceportfol.io\u002Fsouvik","https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26",[82,86,90,94],{"name":83,"color":84,"percentage":85},"Python","#3572A5",63.2,{"name":87,"color":88,"percentage":89},"HTML","#e34c26",34.7,{"name":91,"color":92,"percentage":93},"Mermaid","#ff3670",1.5,{"name":95,"color":96,"percentage":97},"Dockerfile","#384d54",0.5,849,189,"2026-04-06T18:51:28","Apache-2.0",4,"未说明 (支持 Docker，理论上兼容 Linux\u002FmacOS\u002FWindows)","未明确强制要求，但涉及计算机视觉模型（脑肿瘤检测、胸片分类、皮肤病变分割）和 PyTorch，建议配备 NVIDIA GPU 以加速推理","未说明 (建议 16GB+ 以运行多智能体系统和向量数据库)",{"notes":107,"python":108,"dependencies":109},"1. 该项目主要推荐使用 Docker 部署。2. 需要配置多个 API 密钥（Azure OpenAI\u002FOpenAI, Eleven Labs, Tavily, HuggingFace）。3. 向量数据库使用 Qdrant，可本地运行或使用云端服务。4. 文档解析已从 Unstructured.io 升级为 Docling。5. 若使用非 Azure 的 LLM 或本地模型，需手动修改 config.py 及相关代理代码。","3.11+",[110,111,112,113,114,115,116,117,118,119],"LangGraph>=0.3","LangChain>=0.3","Qdrant Client>=1.13","Pydantic>=2.10","FastAPI>=0.115","Docling>=3.1","PyTorch (版本未指定，用于 CV 模型)","Eleven Labs API","Tavily API","HuggingFace Transformers (用于 reranker)",[15,14,121,13,16,35],"其他",[123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142],"agent","agentic-ai","agents","chatbot","computer-vision","disease-detection","genai","genai-chatbot","generative-ai","guardrails","langchain","langgraph","large-language-models","llm","medical-image-processing","medical-imaging","python","rag","retrieval-augmented-generation","vector-database","2026-03-27T02:49:30.150509","2026-04-08T01:09:55.516241",[],[147,152,157,162,167,172,177,182,187,192,197],{"id":148,"version":149,"summary_zh":150,"released_at":151},136902,"v2.1.2","- **文档处理升级**：\n  - 已将 Unstructured.io 替换为 Docling，用于解析文档并提取文本、表格和图像，以便进行嵌入。\n  - 解析后的文档被转换为 Markdown 格式，其中包含文本、表格和图像占位符。\n  - 图像占位符由多模态大模型根据提取出的图像生成的图像摘要所替代。\n\n- **增强的 RAG 参考信息**：\n  - 在本地存储中重新排序后的检索块中，会在 RAG 响应的底部添加指向源文档和参考图像的链接。\n\n- **后端与前端整合为一个应用**：\n  - 使用单个 FastAPI app.py 同时运行后端和前端。\n\n- **更新 Dockerfile 并配置 GitHub Actions**：\n  - 简化了 Dockerfile，将 Unstructured.io 的系统依赖项安装替换为 Docling 的安装。\n\n- **多平台 Bug 修复**：\n  - 修改了摄入文档的路径，使其能在任何操作系统和 Docker 环境下正常工作。\n  - 将 FastAPI 应用的主机地址从 `127.0.0.1` 改为 `0.0.0.0`，以便在不使用命令行参数覆盖主机的情况下，也能从 Docker 容器外部访问。\n\n\n## 变更内容\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F61 中修改了文档路径（以支持多操作系统）以及应用主机地址（以便无需通过命令行参数覆盖即可从 Docker 容器外部访问）。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fcompare\u002Fv2.1.1...v2.1.2","2025-05-02T21:12:04",{"id":153,"version":154,"summary_zh":155,"released_at":156},136903,"v2.1.1","- **文档处理升级**：\n  - 已将 Unstructured.io 替换为 Docling，用于解析文档并提取文本、表格和图像，以便进行嵌入。\n  - 解析后的文档被转换为 Markdown 格式，其中包含文本、表格和图像占位符。\n  - 图像占位符由多模态大模型根据提取出的图像生成的图像摘要所替代。\n\n- **增强的 RAG 参考信息**：\n  - 在本地存储中重新排序后的检索片段中，RAG 响应的底部会添加指向源文档和参考图像的链接。\n\n- **后端与前端整合为一个应用**：\n  - 使用单个 FastAPI app.py 同时运行后端和前端。\n\n- **更新 Dockerfile 并配置 GitHub Actions**：\n  - 简化了 Dockerfile，将 Unstructured.io 的系统依赖安装替换为 Docling 的相应安装。\n\n- **请参阅** v2.0 版本的发布说明，以了解之前的更新内容。\n\n\n## 变更内容\n* 由 @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F53 中使用 Docling 升级了 RAG。\n* 由 @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F54 中更新了 README。\n* 由 @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F55 中更新了依赖项。\n* 由 @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F56 中创建了 docker-image.yml 文件。\n* 由 @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F57 中更新了 Dockerfile 和依赖项。\n* 由 @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F60 中使用 Docling 更新了 README。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fcompare\u002Fv2.0...v2.1 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fcompare\u002Fv2.1...v2.1.1","2025-04-29T11:11:15",{"id":158,"version":159,"summary_zh":160,"released_at":161},136904,"v2.0","- 自动化智能体路由的整体架构已成功实现，并与 LangGraph 集成。\n- 针对医疗领域的对话智能体已完成微调并可正常运行。\n- RAG 智能体已成功实现并可用。\n- 网络搜索智能体已成功实现并可用。\n- 基于检索置信度分数（若较低）从 RAG 路由至网络搜索的功能已成功实现。\n- 根据上传图像的分类结果（脑部 MRI、胸部 X 光片、皮肤病变），将请求路由至相应的医学计算机视觉智能体的功能已成功实现。\n- 对话历史已成功存储至指定长度。\n- 后端和前端均已成功实现并可正常运行。\n- 新增了 ingest_rag_data.py 脚本，用于手动导入新数据以支持信息检索。\n- 目前文档解析采用 PyPDF2 实现，后续还将提供 unstructured.io 作为替代选项（需在系统级别安装 Tesseract 和 Poppler）。\n- 医学计算机视觉模型智能体——胸部 X 光片新冠肺炎分类及皮肤病变分割——已成功实现并可用。\n- 已成功集成 ElevenLabs API，实现在对话中语音转文本和文本转语音的服务功能。\n- 输入与输出安全约束机制已成功集成。\n- 对话历史现存储于 Graph State 中，而非像之前版本那样在 FastAPI 后端单独管理。\n- 更新了分块策略，新增语义分块逻辑（即尊重语义边界——章节、段落、句子边界进行分块），并针对不同文档类型（如研究论文、临床记录、患者病历、病情报告、指南与规程、药品信息等）使用特定的章节标题。同时，引入医学实体识别功能，以丰富文档元数据，辅助混合式检索，将用户查询中检测到的医学实体与文档中的实体进行对比。\n- 为开发者提供了多种分块策略选择：“语义分块”、“滑动窗口分块”、“递归分块”、“混合分块”。\n- 由于 Git LFS 配额耗尽，大型模型文件现通过 Google Drive 分享，下载脚本会自动将其下载至正确路径（已添加自动模型下载脚本）。\n- 计算机视觉智能体结果的人工审核验证功能已成功集成。\n- 统一了配置文件中的大语言模型和嵌入模型定义。\n- 集成了 Unstructured.IO 的表格提取功能。\n- 将向量检索升级为混合式检索（BM25 稀疏关键词匹配 + 密集嵌入向量相似度搜索），并使用 Qdrant 数据库。\n- 已将新数据导入向量数据库，用于最终版本；相应演示视频和 README 文件也已更新。\n- 更新了 README 安装指南，增加了使用 Docker 的说明，并保留了原有的手动安装方式。\n\n\n## 变更内容\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F50 中更新了基于 Docker 的安装方法。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fcompare\u002Fv1.9...v2.0","2025-04-07T21:32:48",{"id":163,"version":164,"summary_zh":165,"released_at":166},136905,"v1.9","- 自动化智能体路由的整体架构已成功实现，并与 LangGraph 集成。  \n- 针对医疗领域的对话智能体已完成微调并可正常运行。  \n- RAG 智能体已成功实现并运行。  \n- 网络搜索智能体已成功实现并运行。  \n- 基于检索置信度分数（若较低）从 RAG 路由至网络搜索的功能已成功实现。  \n- 根据上传图像的分类结果（脑部 MRI、胸部 X 光片、皮肤病变），将请求路由至相应的医学计算机视觉智能体的功能已成功实现。  \n- 对话历史已成功存储至指定长度。  \n- 后端和前端均已成功实现并运行。  \n- 新增 ingest_rag_data.py 脚本，用于手动导入新数据以支持信息检索。  \n- 目前文档解析采用 PyPDF2 实现，后续还将提供 unstructured.io 作为替代选项（需在系统级别安装 Tesseract 和 Poppler）。  \n- 医学计算机视觉模型智能体——胸部 X 光新冠肺炎分类及皮肤病变分割——已成功实现并运行。  \n- 已成功集成 ElevenLabs API，为对话提供语音转文本和文本转语音服务。  \n- 已成功集成输入输出安全约束机制。  \n- 对话历史现存储于 Graph State 中，而非像之前版本那样在 FastAPI 后端中单独管理。  \n- 更新了分块策略，新增语义分块逻辑（即尊重语义边界——章节、段落、句子边界进行分块），并利用针对不同文档类型（如研究论文、临床记录、患者病历、病情报告、指南与规程、药品信息等）特有的章节标题。同时，引入医学实体识别功能，以丰富文档元数据，辅助混合检索，将用户查询中检测到的医学实体与文档中的实体进行对比。  \n- 为开发者提供了多种分块策略选择：语义分块、滑动窗口分块、递归分块以及混合分块。  \n- 由于 Git LFS 配额耗尽，大型模型文件现通过 Google Drive 分享，下载脚本会自动将其下载至正确路径（已添加自动模型下载脚本）。  \n- 成功集成了人机协作验证机制，用于对计算机视觉智能体的结果进行人工审核。  \n- 统一了配置文件中的大语言模型和嵌入模型定义。  \n- 集成了 Unstructured.IO 的表格提取功能。  \n- 将向量检索升级为混合检索（BM25 稀疏关键词匹配 + 密集嵌入向量相似度搜索），并使用 Qdrant 数据库实现。  \n- 已将新数据导入向量数据库，用于最终版本。  \n- 相应的演示视频和 README 文件已更新。  \n\n\n## 变更内容\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F46 中为最终版本导入了新数据。  \n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F49 中更新了 README 文件。  \n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fcompare\u002Fv1.8...v1.9","2025-04-07T20:45:02",{"id":168,"version":169,"summary_zh":170,"released_at":171},136906,"v1.8","- 自动化智能体路由的整体架构已成功实现，采用 LangGraph 框架。\n- 针对医疗领域的对话智能体已成功微调并运行。\n- RAG 智能体已成功运行。\n- 网络搜索智能体已成功运行。\n- 基于检索置信度分数（若较低）从 RAG 路由至网络搜索的功能已成功实现。\n- 根据上传图像的分类结果（脑部 MRI、胸部 X 光片、皮肤病变），成功将请求路由至相应的医学计算机视觉智能体。\n- 对话历史已成功存储至指定长度。\n- 后端和前端均已成功实现。\n- 新增 ingest_rag_data.py 脚本，用于手动导入新数据以支持信息检索。\n- 目前文档解析采用 PyPDF2 实现，后续还将提供 unstructured.io 作为可选方案（需在系统级别安装 Tesseract 和 Poppler）。\n- 医学计算机视觉模型智能体——胸部 X 光片新冠肺炎分类及皮肤病变分割——已成功运行。\n- 已成功集成 ElevenLabs API，实现在对话中语音转文本和文本转语音的服务功能。\n- 已成功集成输入与输出护栏机制。\n- 对话历史现存储于 Graph State 中，而非像之前版本那样在 FastAPI 后端单独管理。\n- 更新了分块策略，加入了语义分块逻辑（即尊重语义边界——章节、段落、句子边界进行分块），并利用针对不同文档类型（如研究论文、临床记录、患者病历、病情报告、指南与规程、药品信息等）特有的章节标题。此外，还引入了医学实体识别功能，以丰富文档元数据，从而辅助混合搜索，将用户查询中检测到的医学实体与文档中的实体进行对比。\n- 为开发者提供了多种分块策略选项：“语义分块”、“滑动窗口分块”、“递归分块”、“混合分块”。\n- 由于 Git LFS 配额耗尽，大型模型文件现通过 Google Drive 分享，将在正确路径下自动下载（新增了自动模型下载脚本）。\n- 成功集成了人机协作验证机制，用于对计算机视觉智能体的结果进行审核。\n- 统一了配置文件中的 LLM 和嵌入模型定义。\n- 集成了 Unstructured.IO 的表格提取功能。\n- 将向量检索升级为混合检索（BM25 稀疏关键词匹配 + 密集嵌入向量相似度搜索），并使用 Qdrant 数据库。\n\n\n## 变更内容\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F43 中，统一了配置文件中的 LLM 和嵌入模型定义。\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F44 中，集成了 Unstructured.IO 的表格提取功能，并实现了基于 Qdrant 数据库的混合检索。\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F45 中，更新了 README 文件。\n\n\n**完整变更日志**：https","2025-03-31T21:49:44",{"id":173,"version":174,"summary_zh":175,"released_at":176},136907,"v1.7","- 自动化智能体路由的整体架构已成功实现，并与 LangGraph 集成。\n- 针对医疗领域的对话智能体已成功微调并运行。\n- RAG 智能体已成功实现。\n- 网络搜索智能体已成功实现。\n- 基于检索置信度分数（若较低）从 RAG 路由至网络搜索的功能已成功实现。\n- 根据上传图像的分类结果（脑部 MRI、胸部 X 光片、皮肤病变），成功将请求路由至相应的医学计算机视觉智能体。\n- 对话历史已成功存储至指定长度。\n- 后端和前端均已成功实现。\n- 新增 ingest_rag_data.py 脚本，用于手动导入新数据以支持信息检索。\n- 目前文档解析采用 PyPDF2 实现，后续还将提供 unstructured.io 作为可选方案（需在系统级别安装 Tesseract 和 Poppler）。\n- 医学计算机视觉模型智能体——胸部 X 光片新冠肺炎分类及皮肤病变分割——已成功实现。\n- 已成功集成 ElevenLabs API，实现在对话中语音转文本和文本转语音的服务功能。\n- 已成功集成输入与输出护栏机制。\n- 对话历史现存储于 Graph State 中，而非像之前版本那样在 FastAPI 后端单独管理。\n- 更新了分块策略，新增语义分块逻辑（即尊重语义边界——章节、段落、句子边界进行分块），并利用针对不同文档类型（如研究论文、临床记录、患者病历、病情报告、指南与规程、药品信息等）特有的章节标题。同时，引入医学实体识别功能，以丰富文档元数据，辅助混合搜索，将用户查询中检测到的医学实体与文档中的实体进行对比。\n- 为开发者提供了多种分块策略选项：“语义分块”、“滑动窗口分块”、“递归分块”、“混合分块”。\n- 由于 Git LFS 配额耗尽，大型模型文件现通过 Google Drive 分享，将在正确路径下自动下载（已添加自动模型下载脚本）。\n- 成功集成了人机协作验证机制，用于对计算机视觉智能体的结果进行审核。\n\n\n## 变更内容\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F42 中集成了人机协作验证功能。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fcompare\u002Fv1.6...v1.7","2025-03-26T13:19:12",{"id":178,"version":179,"summary_zh":180,"released_at":181},136908,"v1.6","- 自动化智能体路由的整体架构已成功实现，基于 LangGraph 构建。\n- 针对医疗领域的对话智能体已成功调优并运行。\n- RAG 智能体已成功运行。\n- 网络搜索智能体已成功运行。\n- 根据检索置信度分数（若较低）从 RAG 路由至网络搜索的功能已成功实现。\n- 根据上传图像的分类结果（脑部 MRI、胸部 X 光片、皮肤病变），将请求路由至相应的医学计算机视觉智能体的功能已成功实现。\n- 对话历史已成功存储至指定长度。\n- 后端和前端均已成功运行。\n- 新增了 ingest_rag_data.py 脚本，用于手动导入新数据以支持信息检索。\n- 目前文档解析采用 PyPDF2 实现，后续还将提供 unstructured.io 的选项（需在系统级别安装 Tesseract 和 Poppler）。\n- 医学计算机视觉模型智能体——胸部 X 光片新冠肺炎分类及皮肤病变分割——已成功运行。\n- 已成功集成 ElevenLabs API，实现在对话中语音转文本和文本转语音的服务功能。\n- 已成功集成输入与输出护栏机制。\n- 对话历史现存储于 Graph State 中，而非像之前版本那样在 FastAPI 后端单独管理。\n- 更新了分块策略，加入了语义分块逻辑（即尊重语义边界——章节、段落、句子边界进行分块），并利用针对不同文档类型（如研究论文、临床记录、患者病历、病情报告、指南与规程、药品信息等）特有的章节标题。同时，还引入了医学实体识别功能，以丰富文档元数据，从而辅助混合搜索，将用户查询中检测到的医学实体与文档中的实体进行对比。\n- 为开发者提供了多种分块策略选择：“语义”、“滑动窗口”、“递归”、“混合”。\n- 由于 Git LFS 配额耗尽，大型模型文件现通过 Google Drive 分享，将在正确路径下自动下载（新增了自动模型下载脚本）。\n\n\n## 变更内容\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F35 中更新了导入数据，采用了更优的分块逻辑。\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F36 中增加了分块策略的选择功能。\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F39 中更新了主 README 文件及智能体工作流 README 文件。\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F41 中移除了大型模型文件。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fcompare\u002Fv1.5...v1.6","2025-03-24T21:48:47",{"id":183,"version":184,"summary_zh":185,"released_at":186},136909,"v1.5","- 自动化智能体路由的整体架构已成功实现，并与 LangGraph 集成。\n- 针对医疗领域的对话智能体已完成微调并可正常运行。\n- RAG 智能体已成功实现并可正常工作。\n- 网络搜索智能体已成功实现并可正常工作。\n- 基于检索置信度分数（若较低）从 RAG 路由至网络搜索的功能已成功实现。\n- 根据上传图像的分类结果（脑部 MRI、胸部 X 光片或皮肤病变），将请求路由至相应的医学计算机视觉智能体的功能已成功实现。\n- 对话历史已成功存储至指定长度。\n- 后端和前端均已成功实现并可正常运行。\n- 新增了 ingest_rag_data.py 脚本，用于手动导入新数据以支持信息检索。\n- 目前文档解析采用 PyPDF2 实现，后续还将提供 unstructured.io 的选项（需在系统级别安装 Tesseract 和 Poppler）。\n- 医学计算机视觉模型智能体——胸部 X 光片新冠肺炎分类及皮肤病变分割——已成功实现并可正常工作。\n- 已成功集成 ElevenLabs API，实现在对话中使用语音转文本和文本转语音服务。\n- 已成功集成输入与输出护栏机制。\n- 对话历史现存储于图状态中，而非像之前版本那样在 FastAPI 后端中单独管理。\n\n\n## 变更内容\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F33 中更新了 README 文件。\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F34 中实现了对话历史在图状态中的维护。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fcompare\u002Fv1.4...v1.5","2025-03-21T20:34:31",{"id":188,"version":189,"summary_zh":190,"released_at":191},136910,"v1.4","- 自动化智能体路由的整体架构已成功实现，基于 LangGraph 构建。\n- 针对医疗领域的对话智能体已成功微调并运行。\n- RAG 智能体已成功运行。\n- 网络搜索智能体已成功运行。\n- 根据检索置信度分数（若较低）从 RAG 路由至网络搜索的功能已成功实现。\n- 根据上传图像的分类结果（脑部 MRI、胸部 X 光片或皮肤病变），将请求路由至相应的医学计算机视觉智能体的功能已成功实现。\n- 对话历史已成功存储至指定长度。\n- 后端和前端均已成功运行。\n- 新增了 ingest_rag_data.py 脚本，用于手动导入新数据以支持信息检索。\n- 目前文档解析采用 PyPDF2 实现，后续还将提供 unstructured.io 的选项（需在系统级别安装 Tesseract 和 Poppler）。\n- 医学计算机视觉模型智能体——胸部 X 光片新冠肺炎分类及皮肤病变分割——已成功运行。\n- 已成功集成 ElevenLabs API，实现在对话中使用语音转文本和文本转语音服务。\n- 输入与输出护栏机制已成功集成。\n\n## 变更内容\n* 为音频按钮添加间距，并由 @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F29 中实现了面向网络搜索查询的 LLM 对话历史摘要功能。\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F31 中更新了 README 文件及依赖项。\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F32 中集成了输入与输出护栏机制。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fcompare\u002Fv1.3...v1.4","2025-03-20T20:23:41",{"id":193,"version":194,"summary_zh":195,"released_at":196},136911,"v1.3","- 自动化智能体路由的整体架构已成功实现，基于 LangGraph 构建。\n- 针对医疗领域的对话智能体已成功调优并运行。\n- RAG 智能体已成功运行。\n- 网络搜索智能体已成功运行。\n- 根据检索置信度分数（若较低）从 RAG 路由至网络搜索的功能已成功实现。\n- 根据上传图像的分类结果（脑部 MRI、胸部 X 光片、皮肤病变），将请求路由至相应的医学计算机视觉智能体的功能已成功实现。\n- 对话历史已成功存储至指定长度。\n- 后端与前端均已成功运行。\n- 新增 ingest_rag_data.py 脚本，用于手动导入新数据以支持信息检索。\n- 目前文档解析采用 PyPDF2 实现，后续还将提供 unstructured.io 的选项（需在系统级别安装 Tesseract 和 Poppler）。\n- 医学计算机视觉模型智能体——胸部 X 光片新冠肺炎分类及皮肤病变分割——已成功运行。\n\n- 已成功集成 ElevenLabs API，实现在对话中使用语音转文本和文本转语音服务。\n\n\n## 变更内容\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F24 中通过 LFS 添加了皮肤病变模型文件。\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F25 中删除了临时文件，并增加了最大上传文件大小限制，用户可上传任意形状的图像进行诊断。\n* @souvikmajumder26 在 https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F26 中集成了语音转文本和文本转语音功能。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fcompare\u002Fv1.2...v1.3","2025-03-19T18:27:20",{"id":198,"version":199,"summary_zh":200,"released_at":201},136912,"v1.2","- Successfully working overall architecture of Automated Agent Routing with LangGraph.\r\n- Successfully working Conversation Agent fine-tuned for medical domain.\r\n- Successfully working RAG agent.\r\n- Successfully working Web Search agent.\r\n- Successfully working routing from RAG to Web Search based on Retrieval Confidence score (if low).\r\n- Successfully working routing to appropriate Medical Computer Vision agent based on Classification of uploaded image (brain MRI \u002F chest X-ray \u002F skin lesion).\r\n- Successfully storing conversation history till specified length.\r\n- Successfully working backend and frontend.\r\n- Added ingest_rag_data.py to manually ingest new data for information retrieval.\r\n- Currently document parsing implemented with PyPDF2, later will provide option of unstructured.io as well (needs tesseract and poppler installation at system level).\r\n- Successfully working Medical Computer Vision model agents - Chest X-ray Covid-19 classification, and Skin Lesion Segmentation.\r\n\r\n## What's Changed\r\n* First Commit - Working Version by @souvikmajumder26 in https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F1\r\n* Deleted old scripts by @souvikmajumder26 in https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F2\r\n* Updated README by @souvikmajumder26 in https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F18\r\n* Create FUNDING.yml by @souvikmajumder26 in https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F19\r\n\r\n## New Contributors\r\n* @souvikmajumder26 made their first contribution in https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F1\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fcommits\u002Fv1.0\r\n\r\n\r\n## What's Changed\r\n* Added ingest_rag_data.py by @souvikmajumder26 in https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F21\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fcompare\u002Fv1.0...v1.1\r\n\r\n\r\n## What's Changed\r\n* Added chest x-ray agent by @souvikmajumder26 in https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F22\r\n* Added skin lesion agent by @souvikmajumder26 in https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fpull\u002F23\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsouvikmajumder26\u002FMulti-Agent-Medical-Assistant\u002Fcompare\u002Fv1.1...v1.2","2025-03-17T20:43:12"]