ForcePilot/docs/intro/evaluation.md
Wenjie Zhang 62bb928064 refactor: 更新文档部署说明
- 移除对于双版本文档的支持,更加清晰
- 将 docs 的入口从根目录移动到子目录
2026-03-24 11:09:46 +08:00

81 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 知识库评估指南
知识库评估是 RAG 系统开发中的重要环节。通过量化评估,我们可以了解检索和生成的质量,发现问题并持续优化。
## 为什么需要评估
在构建知识库系统时,你可能会遇到这些问题:
- 检索结果不准确,用户找不到想要的内容
- 生成答案与文档不符,存在幻觉
- 调整了分块策略或模型,效果是变好还是变差了?
评估功能就是为了回答这些问题。它通过预设的测试问题和标准答案,量化系统的表现,帮助你做出数据驱动的优化决策。
## 评估指标解读
系统提供以下核心指标:
| 指标 | 含义 | 参考值 |
|------|------|--------|
| Recall@1 | 第一个检索结果包含正确文档的比例 | > 0.6 为佳 |
| Recall@5 | 前5个检索结果包含正确文档的比例 | > 0.8 为佳 |
| F1@K | 精确率和召回率的调和平均 | 用于横向对比 |
| 答案准确性 | 生成答案与标准答案的一致性 | 越高越好 |
## 创建评估基准
### 手动准备数据
准备 JSONL 格式的评估文件,每行一个样本:
```json
{"query": "什么是人工智能?", "gold_chunk_ids": ["chunk_001"], "gold_answer": "人工智能是..."}
{"query": "机器学习有哪些类型?", "gold_chunk_ids": ["chunk_005"], "gold_answer": "主要包括监督学习..."}
```
字段说明:
- `query`:测试问题,必需
- `gold_chunk_ids`:期望被检索到的文档块 ID可选
- `gold_answer`:标准答案,用于评估生成质量,可选
::: tip 推荐工具
可以使用 [EasyDataset](https://github.com/ConardLi/easy-dataset) 从文档批量生成问答对。注意导出时将字段名改为 `query``gold_answer`
:::
### 自动生成
系统也支持自动生成评估数据:随机采样知识库中的文档块,用嵌入模型查找相似内容,最后用大模型生成问答对。
推荐参数:
- 问题数量10-50 个
- 相似文档数2-5 个
## 运行评估
在知识库详情页点击「评估」标签,选择评估基准后配置:
1. **答案生成模型**(可选):基于检索到的文档块生成答案
2. **评判模型**(可选):评估生成答案与标准答案的一致性
点击「开始评估」,系统在后台执行,完成后会显示各项指标结果。
## 评估结果分析
拿到评估结果后,可以从以下几个角度分析:
- **Recall@1 低**:说明最相关的内容没有被首先检索到,可能需要调整嵌入模型或分块策略
- **Recall@5 低**:说明相关文档没有被检索到,可能需要增加检索数量或优化查询
- **答案准确性低**:说明生成质量有问题,可能需要调整提示词或更换模型
## 使用场景
- **上线前验证**:知识库建设完成后,评估效果是否满足要求
- **配置对比**:调整分块策略、嵌入模型后,对比评估结果
- **定期监控**:定期评估,及时发现质量下降
- **参数调优**:通过多次评估找到最优参数组合
---
评估是一个持续的过程。建议在初始建设时就建立评估基准,后续每次重大变更都进行评估,形成数据驱动的优化闭环。