
章节三十七RAG技术框架与评估一、RAGFlow框架概述1.1 RAGFlow的概念RAGFlow一个结合了RAG检索增强生成技术的工作流框架用来搭建基于大模型的知识库问答系统。RAG检索增强生成先让AI去知识库里搜相关资料再基于搜到的内容生成回答。好处是答案更准确不会瞎编。RAGFlow的核心特点第一工作流程化。把文档处理、索引构建、检索、生成等环节串成一条流水线每个环节都能灵活配置。第二模块化设计。包含文档加载器、处理器、嵌入模型、向量存储、检索器、生成器等模块想换哪个换哪个。第三可视化监控。提供可视化界面和性能监控方便调试和优化。第四评估与优化。内置评估框架能测出系统哪里弱、怎么改。应用场景企业知识库问答、文档智能搜索、个性化推荐等需要结合外部知识的AI应用。1.2 使用RAGFlow的意义以前做知识库要处理各种格式的文档Excel、Word、PDF、PPT每种都要写不同的提取脚本清洗、分块、入库非常麻烦。RAGFlow提供了统一方案第一可以创建多个独立的知识库空间。第二通过可视化界面上传、管理文档支持各种常见文件类型。第三系统自动解析文档内容并存储不用手写脚本。第四创建知识助手来掌握不同的知识库打造行业专家。第五通过对话方式查询知识库答案会标注信息来源。二、RAG工作流搭建2.1 硬件要求CPU至少4核x86架构内存至少16GB磁盘至少50GB拉取镜像文件大约需要7.6GB空间建议用云服务器学习。2.2 安装部署步骤第一步购买云服务器选择4核16GB配置镜像选Ubuntu。第二步安装Docker。更新软件包 - 安装Docker依赖 - 添加Docker官方GPG密钥和软件源 - 安装Docker - 启动并确认成功。第三步修改系统内核参数增加虚拟内存映射数量ES等组件需要。第四步创建目录并上传RAGFlow安装包解压到/opt目录。第五步导入Docker镜像包括ES搜索引擎、Infinity向量数据库、MinIO对象存储、MySQL关系数据库、Valkey高性能键值缓存。第六步修改镜像标签与配置文件保持一致。第七步启动RAGFlow。如果拉取超时配置Docker加速器后重试。2.3 配置知识库第一步浏览器访问服务器公网IP注册账号并登录。第二步设置界面语言为中文。第三步配置大模型API-KEY。推荐用阿里百炼平台在模型供应商里找到Tongyi-Qianwen并填入。第四步设置默认模型。千问系列比较全面大语言模型、多模态模型、重排模型、向量化模型都能支持。第五步创建知识库填写名称和描述。第六步上传文档并解析支持PDF、Word、Excel等格式。上传后务必点击解析按钮。第七步创建知识助手。注意助理描述一定要详细填写否则API调用时可能无法灵活处理问题。第八步测试对话。回答会标注每条信息的来源和源文件证明是基于知识库检索而非模型瞎编。第九步可以创建多个知识库和助手让不同助手掌握不同知识库。三、RAG评估与优化3.1 评估的意义Agent上线后的好用程度是多因素耦合的结果切分、索引、召回、重排、图谱、提示词、模型、工具调用等。仅靠主观体验很难定位瓶颈。评估的核心价值是把感觉变成可量化、可回归、可定位的工程闭环质量量化用指标把输出质量数字化回归保障改了参数后能快速判断整体是否退化发现短板精准定位是检索模块的问题还是大模型生成的问题自动化监控减少人工验收成本和主观偏差3.2 主流评估方法基于数据集的离线评估Golden Set准备question ground_truth用当前系统跑出answer contexts再人工对比打分。优点是可复现、可回归难点是黄金集建设成本高。LLM-as-a-Judge大模型当裁判让更强的模型对答案是否正确/是否基于上下文/是否跑题做判分。代表工具有RAGAS、DeepEval、TruLens等。优点是更贴近语义质量风险是裁判模型本身有偏差。3.3 RAGAS评估框架RAGAS一套面向RAG系统的评测框架在缺少人工标注答案的情况下用相对自动化的方式衡量RAG的关键质量。RAGAS把一次问答拆成三要素来评估Question问题、Contexts检索到的上下文证据、Answer生成的答案可选Ground_truth参考答案。常见指标指标说明判定方式Faithfulness忠实性答案中的陈述是否能被上下文支撑越高越不容易编LLM参与判定Answer Relevancy回答相关性答案是否真正回答了问题是否跑题embedding相似度判断Context Precision上下文精确率检索到的内容里有用内容占比是否高LLM/embeddingContext Recall上下文召回率是否覆盖了回答问题所需的关键信息LLMAnswer Correctness正确性生成答案与参考答案的对齐程度embeddings语义相似度3.4 评估优化步骤第一步准备评测集问题列表可来自真实日志抽样/人工构造/AI合成。第二步编写RAGAS的评估程序初始化评估组件、加载测试数据、运行RAG pipeline、构建评估数据集、执行评估、导出结果并提取bad case。第三步运行评估生成评估结果。第四步定位问题Context Precision低检索噪声大需要重排序、过滤、改embedding或chunk。Context Recall低检索没找全需要调整top-k、召回策略或chunk粒度。Faithfulness低生成在编需要优化提示词、引用证据、降低温度等。第五步bad case分析。第六步优化程序。3.5 Bad Case分析实例案例一错失切片问题faithfulness较低context_precision和context_recall为0。说明相关切片没有最终进入提示词中。可能被embedding匹配遗漏、RRF融合过滤掉、或rerank重排序过滤掉。解决思路调整切片大小把最大长度从2000改为500最小从500改为100并考虑纳入更多切片到最终提示词中。越大的切片关键词句会被稀释评分准确度下降。案例二提示词问题问题各检索指标都不低但answer_correctness不高。回答太啰嗦、太散、观点不够集中。解决思路在prompt中明确要求直接回答不要过度解释控制字数。案例三缺失逻辑问题各指标正常但答案中存在事实性错误。大量噪声干扰了最终答案输出。解决思路利用图谱信息。图谱能把内容提纯减少干扰提取核心关键点。具体做法包括优化图谱提示词、修改查询流程让图谱查询结果带出description信息、增加触发警告的时机描述。