已交付

PharmaRAG

面向药师的企业级 LLM + RAG 知识库与辅助问答系统:多阶段混合检索、带来源引用的生成与人工确认发布工作流。

角色 独立 AI 工程师
周期 2026.04 - 2026.06
团队 1 人
FastAPI PostgreSQL pgvector Redis Celery MinIO Docker LangChain
PharmaRAG
核心亮点
  • 完整 RAG 链路:解析、清洗、Embedding、检索、重排序、生成
  • 多阶段检索:向量 + 关键词、RRF 融合、父文档聚合、Reranker 重排序
  • 合成病例与评测 Query 数据集,离线评估先于 Prompt 调优
  • FastAPI + PostgreSQL/pgvector + Redis + Celery + MinIO 全套 Docker 化

一个为药师打造的企业级 LLM + RAG 知识库与辅助问答系统,将分散的企业文档转化为可检索、可溯源的知识服务,所有正式答复均带来源引用,并经人工确认后发布。

项目概述

医药领域的专业提问对准确性和可溯源性的要求远高于一般场景:回答必须有据可查,且在正式生效前经过人工把关。本系统将企业文档接入知识库,通过检索增强生成(RAG)工作流产出带引用的回答,由药师复核确认后发布,形成「机器检索生成 + 人工最终决策」的可靠协作模式。

问题

  • 专业回答必须准确且可追溯到来源文档,无法接受"模型自由发挥"。
  • 纯关键词检索会漏掉语义匹配;纯向量检索会丢失精确关键词命中——单一策略不可行。
  • 检索质量直接决定回答质量:检索链路薄弱,无法在生成阶段补救。
  • 面向真实业务的回答必须有人工确认环节,系统需将其纳入工作流而非游离在外。

解决方案

构建完整的 用户咨询 → 知识检索 → LLM 生成 → 人工确认 工作流:

用户咨询 → 混合检索(向量 + 关键词)→ RRF 融合 → 父文档聚合
        → Reranker 重排序 → LLM 生成(带来源引用)→ 人工确认发布

设计原则:先用多阶段检索把"最相关的完整证据"找出来,再让 LLM 基于证据作答。回答质量的上限由检索阶段决定,因此资源优先投入检索链路,而非 Prompt 调优。

系统架构

PharmaRAG 系统架构

核心技术挑战

多阶段混合检索

单一检索策略难以同时保证语义召回与专业术语的精确命中,因此将检索拆分为多个协作阶段:

  • 向量检索 负责语义匹配,关键词 / 全文检索 负责精确术语。
  • RRF(Reciprocal Rank Fusion) 融合异构检索结果,兼顾两路排序信号。
  • 父文档聚合 返回完整、自洽的上下文段落,而非碎片片段。
  • Reranker 对候选结果精排,将最相关证据置于最前,降低 LLM 的阅读负担。

知识入库数据链路

检索质量的上游是干净、结构化的入库链路:

  • 文档解析、数据清洗、分块与 Embedding 入库全流程自动化。
  • pgvector 与关系数据同库存储,简化事务与备份;Redis 承担热点缓存;Celery 运行后台任务;MinIO 存放原始对象。

上线前评估体系

先建立可度量的评估基准,再迭代检索策略:

  • 构建合成病例与评测 Query 数据集,覆盖典型问法与边界问法。
  • 以召回率与排序质量等离线指标驱动检索策略迭代——先于任何 Prompt 调优。

工程实现

  • FastAPI 应用层承载问答工作流与人工确认状态流转。
  • 基于 PostgreSQL / pgvector、Redis、Celery、MinIO 组装 RAG 基础设施,全部 Docker 容器化。
  • 提供离线检索评估工具,支撑数据驱动、可复现的原则性迭代。

项目成果

完成端到端企业级 RAG 系统:

  • 输入:企业文档 + 用户咨询

  • 输出:带来源引用、经人工确认的回答

  • 解析 → 清洗 → Embedding → 检索 → 重排序 → 生成 全链路打通

  • 多阶段检索架构(RRF 融合 + 父文档聚合 + Reranker 精排)

  • 合成病例与评测 Query 数据集及离线评估工具

  • 「咨询 → AI 答复 → 人工确认」业务流程真实运转

演示

输入用户咨询后,系统执行混合检索、融合重排序证据,并生成带来源引用的回答;药师在确认界面复核引用与内容后正式发布。

技术栈

检索:Embedding · 混合检索(向量 + 关键词)· RRF 融合 · 父文档聚合 · Reranker 生成与编排:LLM · LangChain · Prompt 设计 · 人工确认工作流 基础设施:FastAPI · PostgreSQL / pgvector · Redis · Celery · MinIO · Docker 评估:合成病例数据集 · 离线检索评测

我的贡献

独立完成设计与开发:

  • 设计多阶段混合检索架构与融合排序策略
  • 构建文档解析、清洗、分块与 Embedding 入库数据链路
  • 搭建合成病例评测数据集与离线检索评估工具
  • 组装生产级基础设施并完成 Docker 容器化交付

该项目完整体现了我从 混合检索链路设计、生成质量控制到生产级基础设施交付 的企业级 RAG 工程能力。

应用前景与可扩展方向

当前系统已支撑「咨询 → 检索生成 → 人工确认」闭环,其模块化架构具备向更广场景延展的潜力:

应用场景

  • 用药咨询知识自助:面向内部人员的药品知识自助问答,减少药师重复答疑负担。
  • 合规与制度问答:同一套检索生成框架可直接迁移到制度、规范类文档问答。
  • 连锁 / 多组织知识统一:多门店、多组织的分散文档统一入库,形成一致的知识服务。

可扩展技术方向

  • Agent 化多轮问答:引入多轮澄清与追问,处理模糊提问与复合问题。
  • 知识库增量更新流水线:文档版本变更时自动重建受影响分块,保持知识与源文件同步。
  • 审计与质量看板:沉淀确认前后的修改差异,形成回答质量的持续改进依据。