对照 0.7 BREAKING CHANGE 逐文件复核 docs/,移除/修正已下线功能的描述: - 移除 LightRAG、独立图谱上传、Ollama、旧版 v1 模型配置等已删除能力的描述 - 知识库类型更新为 Milvus + 只读连接器(Dify、Notion),补全图谱存储链路 (Neo4j + PostgreSQL + Milvus 语义索引,RRF 融合) - 补全知识库工具集(find_kb_document/open_kb_document),修正 Skills 沙盒路径 为 /home/gem/skills、中间件目录为 agents/middlewares、评估入口为侧边栏 tab - 知识库权限三档修正为 全局共享/部门共享/指定人可访问 - 下载版本统一为 0.7.0.dev0 - README 新增简介、技术栈与 0.7 动态,特性描述细化 经核实保留 Neo4j(仍用于 Milvus 知识库内图谱)与 MCP enabled 机制(仍在用), 未误删。vitepress build 验证通过。
84 lines
3.5 KiB
Markdown
84 lines
3.5 KiB
Markdown
# 知识库评估指南
|
||
|
||
知识库评估是 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`:标准答案,用于评估生成质量,可选
|
||
|
||
JSONL 只是导入和导出的交换格式。导入后,系统会把评估数据集、题目、评估运行和逐题结果保存到数据库中,不依赖本地 JSONL 文件作为内部存储。
|
||
|
||
::: tip 推荐工具
|
||
可以使用 [EasyDataset](https://github.com/ConardLi/easy-dataset) 从文档批量生成问答对。注意导出时将字段名改为 `query` 和 `gold_answer`。
|
||
:::
|
||
|
||
### 自动生成
|
||
|
||
系统也支持自动生成评估数据:随机采样知识库中的文档块,用嵌入模型查找相似内容,最后用大模型生成问答对。
|
||
|
||
推荐参数:
|
||
- 问题数量:10-50 个
|
||
- 相似文档数:2-5 个
|
||
- 构建并发数:默认 10,最大 20;模型服务限流较严格时可调低
|
||
|
||
## 运行评估
|
||
|
||
在知识库详情页左侧边栏,「评估基准」Tab 用于管理评估数据集,「RAG 评估」Tab 用于运行评估并查看结果。在「RAG 评估」中选择评估数据集后配置:
|
||
|
||
1. **答案生成模型**(可选):基于检索到的文档块生成答案
|
||
2. **评判模型**(可选):评估生成答案与标准答案的一致性
|
||
|
||
点击「开始评估」,系统在后台执行,完成后会显示各项指标结果。
|
||
|
||
## 评估结果分析
|
||
|
||
拿到评估结果后,可以从以下几个角度分析:
|
||
|
||
- **Recall@1 低**:说明最相关的内容没有被首先检索到,可能需要调整嵌入模型或分块策略
|
||
- **Recall@5 低**:说明相关文档没有被检索到,可能需要增加检索数量或优化查询
|
||
- **答案准确性低**:说明生成质量有问题,可能需要调整提示词或更换模型
|
||
|
||
## 使用场景
|
||
|
||
- **上线前验证**:知识库建设完成后,评估效果是否满足要求
|
||
- **配置对比**:调整分块策略、嵌入模型后,对比评估结果
|
||
- **定期监控**:定期评估,及时发现质量下降
|
||
- **参数调优**:通过多次评估找到最优参数组合
|
||
|
||
---
|
||
|
||
评估是一个持续的过程。建议在初始建设时就建立评估基准,后续每次重大变更都进行评估,形成数据驱动的优化闭环。
|