简介:企业落地知识库问答时,常在“应用编排型”与“深度文档解析型”两类开源RAG框架之间难以取舍。本文从定义出发,系统梳理两类框架的能力边界与互补价值,拆解“编排层+解析层”混合架构的组成与运行原理,并给出端口规划、API集成与安全运维的实践要点,帮助技术选型者建立清晰的评估标准与落地路径。
企业级RAG知识库问答,是指以检索增强生成为核心链路,将企业内部的制度文件、产品手册、合同财报、表格、扫描件等非结构化数据组织成可检索的知识库,再由大语言模型基于检索到的内容生成带依据、可溯源回答的应用形态。
可以从三个视角来理解这个概念:
为什么需要它?直接询问通用大模型会产生幻觉、无法覆盖企业私有知识;对模型做微调成本高、知识更新慢;把全部文档塞进长上下文则费用昂贵且容易超出窗口限制。RAG以较低成本实现了知识持续更新与答案可溯源,因此成为企业知识库问答的主流方案。
企业决定自建RAG时,社区里常见两类定位截然不同的开源框架,混淆它们的定位是选型失误的主要原因。
定位是面向应用构建,负责把模型、知识库、外部工具和业务逻辑串成完整应用。核心优势包括:
其局限在于:对扫描件、跨页表格、双栏排版等复杂文档的精细解析能力一般,切分质量较依赖通用策略。
定位是面向检索质量,核心使命是把“文档变成高质量的知识片段”。核心优势包括:
其局限在于:应用侧能力相对薄弱,工作流编排、Agent决策、多模型协作、界面化应用构建等不如A类完善。
选型的判断标准不是“哪个更强”,而是“瓶颈在哪”。文档复杂、解析质量决定成败的场景,B类优先;业务流程复杂、需要多模型协作与系统集成的场景,A类优先。而当两类需求同时存在时,工程上更合理的做法是组合:以A类为主框架,承载界面、工作流与Agent能力;通过API调用B类的知识库与文档解析能力,把两者的长处拼进同一条链路。
所谓“编排层 + 解析层”混合架构,是指在同一套企业知识库问答系统中,将应用编排与文档解析两类职责解耦,各自交给定位匹配的组件,再通过标准接口衔接。典型分层如下:
这种架构的价值在于灵活性与可扩展性:任何一层都可以被替换或扩展。例如后续可结合具体业务,引入其他检索增强框架(如图结构检索方案)承担特定语料的检索,而无需推翻整体链路。
文档入库(离线阶段):上传文档 → 版面分析与OCR识别 → 按模板切分 → 向量化 → 建立索引。答案质量的天花板主要在这一步决定,这也是解析型框架的核心价值所在。
在线问答:用户提问 → 编排层做问题改写与意图判断 → 跨库路由选择目标知识库 → 调用检索服务取回Top-K片段 → 可选重排与过滤 → 组装提示词 → 大模型生成答案 → 附引用返回。
编排层调用检索服务的通用示意(伪代码,具体路径与参数以所接框架的官方文档为准):
def retrieve(query: str, kb_id: str):resp = http_post(url=f"http://{RETRIEVAL_SERVICE}/v1/retrieval",headers={"Authorization": f"Bearer {API_KEY}"},json={"knowledge_base_id": kb_id,"query": query,"top_k": 5,"with_score": True,},timeout=5,)return filter_by_score(resp["chunks"], threshold=0.5)
两类框架官方普遍推荐以容器化方式部署。当它们部署在同一台宿主机上时,最常见的冲突就是端口。
端口映射概念:在容器编排的端口映射配置中,格式为 A:B,其中A代表宿主机端口,B代表容器内部端口。约定俗成地,容器内的80端口处理HTTP请求,443端口处理HTTPS请求。
修改原则:改宿主机端口,保留容器端口。为避免与编排型框架占用的80/443冲突,应把解析型框架映射到宿主机的其他端口,而容器内部端口保持不变。例如将 80:80 改为 8080:80:
ports:- "8080:80" # 宿主机8080 → 容器80(HTTP)- "8443:443" # 宿主机8443 → 容器443(HTTPS)
修改后,通过“http://宿主机IP:8080”即可访问该服务。关键是:同一台宿主机上,各服务映射的宿主机端口必须互不重复。
网络互通:除了端口,还要保证两个系统能互相访问。可以让它们加入同一个容器网络,或在编排层的服务地址中填写“宿主机IP:映射端口”或容器网络内的服务名。实践中常见的“连接被拒绝”类报错,多数是地址写错、端口未映射或防火墙拦截所致。
若团队不具备自建与运维能力,也可以选择百度智能云等云平台提供的文档智能解析、向量检索、大模型调用等通用托管能力,以更低的运维成本搭建同构链路。自建与托管之间如何取舍,取决于数据敏感度、成本预算与团队配置。
选型与集成:
性能与效果:
安全与运维:
回到定义本身:企业级RAG知识库问答是“检索增强生成”在企业知识场景下的工程化落地,其成败取决于两头——一头是文档解析的深度,一头是应用编排的灵活度。主流开源生态恰好形成了分别擅长这两头的两类框架:解析型框架负责把复杂文档变成高质量知识,编排型框架负责把知识、模型与业务流程组织成可用的应用。二者通过API组合成混合架构,不是权宜之计,而是与“职责分离”这一工程原则天然契合的方案。落地时的正确顺序是:先明确自身瓶颈是“文档难”还是“流程难”,再决定单用还是组合,最后把端口规划、服务互通、效果评测与安全运维这些细节做扎实,知识库问答项目才能真正从原型走向生产环境。