96SEO 2026-06-20 16:48 2
前面七篇文章,我们搭起了一整套 RAG 流程:分块、Embedding、向量库、检索策略。系统跑起来了你问它几个问题,回答kan起来"还不错"。
但问题接踵而至:

RAG 系统的评估,不Neng靠感觉,必须靠数据。
说实话,咱就是说光靠人工检查几条回答,是没法判断系统整体表现的。
本文会带你从零开始,用 RAGAS 框架建立一套可量化的 RAG 评估体系,让你清楚地知道系统好不好、哪里差、怎么改。
RAGAS是专为 RAG 系统设计的开源评估框架。它的核心思想hen朴素:用 LLM 作为裁判,自动判断 RAG 系统的输出质量。
哈哈,你可Neng会问,为什么用 LLM 当裁判?因为传统的 NLP 评估指标只适合Zuo翻译或摘要任务,它们通过字符串匹配来判断相似度,完全无法理解语义。
而 RAG 的评估需要理解"这个答案是否基于上下文"、"这个回答有没有答非所问"——这正是 LLM 擅长的。
RAGAS 的核心指标RAGAS 提出了几个核心指标,覆盖了 RAG 系统的两个关键阶段:
1. Faithfulness:答案有没有在胡说八道?Faithfulness 衡量生成答案是否忠实于检索到的上下文。Ru果模型在回答中加入了上下文里没有的信息,就是"幻觉",Faithfulness 就会低。
通俗理解考试时Faithfulness高 = 答案全是根据提供的参考资料写的,没有自己瞎编。
计算方式LLM 被prompt要求逐句检查答案中的每个陈述,判断是否Neng从上下文中推断出来。可推断的陈述数 / 总陈述数 = Faithfulness。
2. Answer Relevancy:答案是不是在答非所问?Answer Relevancy 衡量答案与问题的相关程度。即使答案内容是对的,但Ru果偏离了问题的核心,这个指标也会低。
通俗理解你问"怎么学 Python",对方却给你讲了一通 Java 的历史——虽然内容本身没错,但完全跑题了。
计算方式LLM 根据答案生成若干个问题变体,然后计算这些问题与原始问题的 Embedding 相似度,取平均。
3. Context Precision:检索回来的东西里有多少是垃圾?Context Precision 衡量检索结果中相关文档片段的比例。Ru果召回的 N 条上下文里有 M 条完全不相关,Context Precision 就是 M/N。
通俗理解去图书馆找资料,借了 N 本书,只有 M 本有用——你的检索精确度就是 M/N。
计算方式LLM 逐条判断每个上下文片段是否与问题相关,相关条数 / 总条数。
4. Context Recall:该找的东西找到了吗?Context Recall 衡量所有与问题相关的信息,有多少被成功检索到了。这是检索阶段Zui核心的指标。
通俗理解考试复习时考卷上有 N 个知识点,你的复习资料只覆盖了 M 个——召回率就是 M/N。
这四个指标互相独立、互相补充,一起构成了 RAG 系统的"体检报告"。
害,为啥要弄这么多指标?因为单一指标根本没法全面评估 RAG 系统的表现。
你可Neng会问,为什么百度不收录我的文章?
简单来说这可Neng是因为内容质量、关键词优化、网站结构等多个因素导致的。
要想提高收录率,需要从这些方面入手优化。
咱们回到正题。
有了评估指标,还需要测试数据。
一个标准的 RAG 测试样本包含四个字段:
{
"question": "RAGAS 框架包含哪四个核心评估指标?",
"ground_truth": "RAGAS 四个核心指标是:Faithfulness、Answer Relevancy、Context Precision、Context Recall。",
"contexts": ,
"answer": "..."
}
question用户问题
ground_truth
contexts
RAG 系统检索到的上下文
answer
RAG 系统生成的答案
为了对比不同参数下的评估结果,我们需要一个可配置的 RAG Pipeline。
关键设计:所有影响质量的参数dou暴露为构造函数的参数,这样Ke以在诊断实验中轻松切换配置。
class RAGPipeline:
def init:
self.chunksize = chunksize
self.chunkoverlap = chunkoverlap
self.topk = topk
def build_index:
# 切分文档,使用 chunk_size 和 chunk_overlap
splitter = RecursiveCharacterTextSplitter(
chunk_size=self.chunk_size,
chunk_overlap=self.chunk_overlap,
separators=
)
def query:
# 执行检索和生成,使用 top_k 参数控制召回数量
contexts = self.retriever.invoke
answer = self.chain.invoke
构建好 Pipeline 后我们就Ke以用它来跑测试数据,并收集评估所需的所有字段。
RAGAS 跑起来!运行 python evaluate.py 后我们会得到一份详细的评估报告:
📊 总体得分: faithfulness : ████████████ 0.85 answerrelevancy : ████████ 0.72 contextprecision : █████████ 0.81 context_recall : ███████████ 0.88 平均得分 : █████████ 0.82
📋 Zui差题目 Top3: 问题1: 答案存在严重幻觉 问题2: 答案完全跑题 问题3: 相关信息未被检索到
kan到这个报告,我们Neng立即定位问题: 不是笼统地说“系统表现一般”,而是精确知道哪个环节出了问题、严重到什么程度。 比如“Answer Relevancy 低”说明生成阶段有问题,“Context Recall 低”说明检索阶段没召回足够信息。
通过这样的量化分析,我们才Neng有的放矢地进行优化,而不是盲目调整参数。
本文带你从零建立了一套 RAG 评估体系,并通过实验展示了如何利用 RAGAS 进行诊断和优化。
关键认知 RAG 的优化不Neng靠拍脑袋,先用 RAGAS 跑一遍评估,找到Zui差的指标,再针对性优化——这是Zui高效的改进路径。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback