RAG评测指标
- Raw
- 初始检索结果,尚未经过最终过滤、重排序、压缩、prompt 拼接等复杂处理
- hybrid
- 混合检索,通常是向量检索 + 关键词检索的组合
- rerank
- 重排序
1.知识库 / 数据构建指标
| 指标 | 英文 | 衡量什么 | 通俗理解 | 主要用于排查 |
|---|---|---|---|---|
| 答案覆盖率 | Answer Coverage | 答案是否存在于知识库中 | 知识库里有没有答案 | 文档是否缺失、清洗是否丢内容 |
| 分块答案覆盖率 | Chunk Answer Coverage | 答案是否存在于切分后的 chunk 中 | 切完块后,答案有没有被保留下来 | chunk 切分是否合理 |
| 文档解析成功率 | Parse Success Rate | 文档是否成功解析 | PDF、Word、网页有没有解析成功 | 文档解析失败、乱码、表格丢失 |
| Chunk 数量 | Chunk Count | 切分后有多少块 | 知识库被切成了多少段 | chunk 太碎或太粗 |
| 平均 Chunk 长度 | Avg Chunk Length | 每个 chunk 平均多长 | 每段知识片段的长度 | chunk 大小是否合适 |
| Chunk 重叠率 | Chunk Overlap Ratio | 相邻 chunk 是否有重叠内容 | 切块时有没有保留上下文 | 防止答案被切断 |
| 元数据完整率 | Metadata Completeness | chunk 是否带有来源、标题、页码等信息 | 每段内容有没有身份信息 | 溯源、过滤、权限控制 |
2. 检索指标
| 指标 | 英文 | 衡量什么 | 通俗理解 | 越高越好吗 |
|---|---|---|---|---|
| Recall@K | Recall@K | 前 K 条是否召回正确答案/来源 | 搜出来的前 K 条里有没有正确内容 | 是 |
| Precision@K | Precision@K | 前 K 条中有多少是相关的 | 搜出来的内容有多少是有用的 | 是 |
| Hit Rate@K | Hit Rate@K | 前 K 条里是否至少命中一个正确结果 | 只要找到一个正确的就算命中 | 是 |
| MRR | Mean Reciprocal Rank | 正确结果排得多靠前 | 正确答案是不是排在前面 | 是 |
| MAP | Mean Average Precision | 多个相关结果整体排序质量 | 多个正确结果的排序是否合理 | 是 |
| NDCG@K | Normalized Discounted Cumulative Gain | 排序质量,越靠前权重越高 | 好结果是否排在前面 | 是 |
| Source Recall | Source Recall | 是否找到了正确来源 | 有没有搜到正确文档或 chunk | 是 |
| Answer Recall | Answer Recall | 检索结果里是否包含标准答案 | 搜到的内容里有没有答案文本 | 是 |
| Context Precision | Context Precision | 上下文中有多少内容是有用的 | 给模型的材料是否干净 | 是 |
| Context Recall | Context Recall | 上下文是否覆盖回答所需信息 | 给模型的材料是否足够 | 是 |
3. 重排序 / 后处理指标
| 指标 | 英文 | 衡量什么 | 通俗理解 | 主要用于排查 |
|---|---|---|---|---|
| Rerank Recall@K | Rerank Recall@K | 重排序后前 K 条是否保留正确结果 | rerank 后正确 chunk 还在不在 | rerank 是否把正确内容排没了 |
| Rerank MRR | Rerank MRR | 重排序后正确结果的位置 | rerank 有没有把正确内容排前面 | rerank 模型效果 |
| Top-K 保留率 | Top-K Retention Rate | 原始检索命中的正确结果是否被保留 | 后处理有没有误删答案 | top_k、去重、过滤问题 |
| 去重误删率 | Dedup False Drop Rate | 去重时是否删掉正确 chunk | 去重有没有误伤 | chunk 相似度去重策略 |
| 上下文压缩保真率 | Compression Faithfulness | 压缩后是否保留关键信息 | 压缩有没有删掉答案 | contextual compression |
| 最终上下文命中率 | Final Context Hit Rate | 最终给模型的上下文是否命中答案 | 最终材料里有没有正确答案 | prompt 拼接、截断 |
4. Prompt / 上下文指标
| 指标 | 英文 | 衡量什么 | 通俗理解 | 主要用于排查 |
|---|---|---|---|---|
| Prompt 含答案率 | Prompt Answer Coverage | prompt 中是否包含标准答案 | 模型有没有机会看到答案 | 检索到生成之间的损耗 |
| 平均 Prompt 长度 | Avg Prompt Length | prompt 平均字符数/token 数 | 输入给模型有多长 | 成本、速度、上下文干扰 |
| 上下文利用率 | Context Utilization | 模型是否使用了给定上下文 | 模型有没有认真看资料 | 模型忽略上下文 |
| 无关上下文比例 | Irrelevant Context Ratio | prompt 中无关内容占比 | 给模型的噪音多不多 | 检索精度低、top_k 太大 |
| 上下文冲突率 | Context Conflict Rate | 上下文中是否有互相矛盾信息 | 材料里有没有多个冲突答案 | 多版本文档、旧知识干扰 |
| 引用覆盖率 | Citation Coverage | 回答是否附带来源引用 | 答案能不能溯源 | 企业知识库、合规场景 |
5. 生成答案质量指标
| 指标 | 英文 | 衡量什么 | 通俗理解 | 适合场景 |
|---|---|---|---|---|
| Exact Match | EM | 答案是否和标准答案完全一致 | 是否一字不差 | 短答案、抽取式问答 |
| F1 | F1 Score | 答案和标准答案的词语重合度 | 答案相似程度 | 短答案、开放问答 |
| 答案包含率 | Answer Contains Rate | 模型答案是否包含标准答案 | 答案里有没有关键文本 | 宽松评测 |
| 语义相似度 | Semantic Similarity | 语义上是否接近标准答案 | 意思是否一样 | 开放式问答 |
| Faithfulness | 忠实度 | 答案是否忠于上下文 | 有没有根据资料回答 | 防幻觉 |
| Groundedness | 依据性 | 答案是否有上下文依据 | 答案能不能在资料中找到根据 | RAG 核心指标 |
| Answer Relevance | 答案相关性 | 回答是否针对问题 | 有没有答非所问 | 通用问答 |
| Completeness | 完整性 | 回答是否完整覆盖问题 | 有没有漏答 | 多点问题、总结类问题 |
| Conciseness | 简洁性 | 回答是否简洁 | 有没有废话 | 客服、短答案场景 |
| Hallucination Rate | 幻觉率 | 答案中是否有上下文不存在的信息 | 有没有编造 | 高可靠问答 |
6. 性能与成本指标
| 指标 | 英文 | 衡量什么 | 通俗理解 | 优化方向 |
|---|---|---|---|---|
| 平均耗时/题 | Avg Latency | 每个问题平均耗时 | 回答速度 | 并发、缓存、减少调用链 |
| P50 延迟 | P50 Latency | 一半请求低于这个耗时 | 普通用户的常见体验 | 整体性能 |
| P95 延迟 | P95 Latency | 95% 请求低于这个耗时 | 慢请求情况 | 排查长尾延迟 |
| P99 延迟 | P99 Latency | 99% 请求低于这个耗时 | 极端慢请求 | 稳定性优化 |
| Token 输入量 | Input Tokens | 输入模型的 token 数 | prompt 有多长 | 压缩上下文 |
| Token 输出量 | Output Tokens | 模型生成的 token 数 | 回答有多长 | 限制输出格式 |
| 单题成本 | Cost per Query | 每个问题平均花费 | 问一次多少钱 | 换模型、缓存、减少 token |
| 缓存命中率 | Cache Hit Rate | 有多少请求命中缓存 | 有没有复用已有结果 | embedding 缓存、检索缓存、prompt 缓存 |
| 并发吞吐量 | Throughput / QPS | 单位时间处理多少请求 | 系统承载能力 | 并发、队列、服务扩容 |
7. 稳定性指标
| 指标 | 英文 | 衡量什么 | 通俗理解 | 常见原因 |
|---|---|---|---|---|
| 检索错误数 | Retrieval Error Count | 检索阶段失败次数 | 搜索有没有报错 | 向量库异常、索引失败 |
| 聊天错误数 | Chat Error Count | 模型调用失败次数 | LLM 有没有报错 | 超时、限流、接口失败 |
| 超时率 | Timeout Rate | 请求超时比例 | 有多少请求等太久失败 | 模型慢、网络慢、链路长 |
| 重试次数 | Retry Count | 系统自动重试次数 | 失败后重试了多少次 | 接口不稳定 |
| 空回答率 | Empty Answer Rate | 模型返回空答案比例 | 模型有没有没输出 | prompt 异常、接口异常 |
| 解析失败率 | Parse Failure Rate | 输出格式解析失败比例 | JSON/结构化结果有没有解析失败 | 格式约束不强 |
| 失败用例数 | Failed Cases | 最终失败问题数量 | 有多少问题没跑成功 | 程序异常、数据异常 |
**
8. 评测指标总结
- 上下文召回率(context recall)
- 上下文精确度(context precision)
- 上下文实体召回率 (context entities recall)
- 实体理解为具体对象,比如人名、地点、时间等等
- 上下文相关性(context relevancy)
| 指标 | 英文 | 核心问题 | 评估重点 |
|---|---|---|---|
| 上下文召回率 | Context Recall | 标准答案需要的内容,有没有被检索出来? | 是否漏召回 |
| 上下文精确度 | Context Precision | 检索出来的内容,有多少是真正有用的? | 是否检索太多噪声 |
| 上下文实体召回率 | Context Entities Recall | 标准答案里的关键实体,有没有被检索出来? | 关键人名、公司、地点、编号是否找全 |
| 上下文相关性 | Context Relevancy / Context Relevance | 检索内容和用户问题是否相关? | 内容是否跑题 |