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 提供者与嵌入模型。
相关
- 项目
- 项目
- 项目
- 项目