yolo-hyl/medical-rag

医学中文RAG项目,使用langchain+milvus,支持快速一键式部署,支持无缝领域迁移

解决的问题

本项目提供一个专业的医疗问答系统,通过检索增强生成 (RAG) 方法克服了简单检索的限制。它特别解决了在医疗领域保持高准确度的挑战,结合了语义搜索与基于关键词的匹配,并提供代理框架来处理复杂查询。

运作方式

该系统利用混合检索策略,结合稠密向量(用于语义含义)与稀疏向量(BM25 用于关键词匹配),并存储于 Milvus 向量数据库中。它采用包含数据预处理、领域特定分词 (通过 pkuseg) 以及针对各种 LLM (如 OpenAI 或 Ollama) 的灵活配置系统的流水线。

为了处理复杂交互,它实现了:

  • RAG Agents: 智能代理,可自动决定检索参数、验证答案是否由文档支持,并决定何时触发外部网络搜索 (通过 Tencent Cloud)。
  • Multi-turn Dialogue: 管理对话历史的系统,具备 Token 估算与动态摘要功能以维持上下文。
  • Evaluation Tools: 内置流水线,用于生成与测试问答对,以衡量系统的召回率与准确度。

适用对象

  • 开发专业医疗 AI 助理的开发者。
  • 需要为特定领域知识库建立高精度 RAG 流水线的研究人员。
  • 寻求将 RAG 系统迁移至法律或金融等其他专业领域模板的工程师。

特色亮点

  • Hybrid Retrieval: 结合稠密与稀疏向量,实现比单一方法检索更高的召回率 (91.32%) 与准确度 (92.15%)。
  • Agentic Orchestration: 使用 LangGraph 建立管理整个检索过程并可回退至网络搜索的代理。
  • Domain Optimization: 包含医疗特定分词与词汇管理。
  • Flexible Infrastructure: 通过统一的配置文件支持多种 LLM 提供者与嵌入模型。

相关

  • 项目
  • 项目
  • 项目
  • 项目