MBE 评估指南
MBE 提供完整的知识库和专家质量评估体系,帮助开发者优化 AI 专家的表现。
目录
评估概述
评估体系架构
┌─────────────────────────────────────────────────────────────┐
│ MBE 评估体系 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 知识库评估 │ │ 专家评估 │ │ LLM Judge │ │
│ ├─────────────┤ ├─────────────┤ ├─────────────┤ │
│ │ • 权威性 │ │ • 相关性 │ │ • 准确性 │ │
│ │ • 内容质量 │ │ • 完整性 │ │ • 同理心 │ │
│ │ • 结构完整性│ │ • 准确性 │ │ • 可行性 │ │
│ │ │ │ • 响应速度 │ │ • 安全性 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────┐ │
│ │ 统一评估报告 │ │
│ │ 综合评分/等级 │ │
│ │ 优势/不足/建议 │ │
│ └─────────────────┘ │
└─────────────────────────────────────────────────────────────┘
质量等级标准
| 等级 | 分数范围 | 说明 |
|---|---|---|
| Excellent | ≥80分 | 优秀,可放心发布 |
| Good | 60-79分 | 良好,推荐发布 |
| Fair | 40-59分 | 一般,建议优化后发布 |
| Poor | <40分 | 较差,不建议发布 |
知识库评估
知识库评估检查上传文档的质量和权威性。
评估维度
1. 权威性 (0-100分)
评估文档来源的可信度:
- 出版社识别 (0-15分):识别知名出版社(如科学出版社、O'Reilly 等)
- 作者识别 (0-10分):识别领域专家或知名作者
- ISBN 检测 (0-5分):正规出版物标识
- 版次信息 (0-5分):多次再版表示内容经过验证
2. 内容质量 (0-100分)
评估内容的专业度:
- 内容量 (0-30分):总字数和知识覆盖面
- 分块质量 (0-30分):分块大小是否合理
- 覆盖度 (0-40分):知识点数量
3. 结构完整性 (0-100分)
评估文档组织结构:
- 元数据 (0-30分):是否包含页码、章节等信息
- 连续性 (0-40分):分块是否保持上下文连贯
- 多样性 (0-30分):内容是否重复
使用示例
import requests
API_KEY = "mbe_sk_your_api_key"
BASE_URL = "http://localhost:8000"
# 评估知识库
response = requests.post(
f"{BASE_URL}/api/evaluation/knowledge-base",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"kb_id": "kb_abc123",
"include_authority": True,
"include_quality": True
}
)
result = response.json()
print(f"综合评分: {result['overall_score']}")
print(f"质量等级: {result['quality_level']}")
print(f"是否通过: {result['passed']}")
# 查看各维度评分
for dim in result['dimensions']:
print(f" {dim['name']}: {dim['score']}/{dim['max_score']}")
专家评估
专家评估测试 AI 专家的回答质量。
评估维度
1. 相关性 (0-100分)
回答与问题的相关程度:
- 关键词重叠度
- 主题一致性
2. 完整性 (0-100分)
回答的详尽程度:
- 响应长度(≥200字得满分)
- 信息覆盖面
3. 准确性 (0-100分)
回答的准确程度:
- 预期关键词命中率
- 与知识库内容的匹配度
4. 响应速度 (0-100分)
平均响应时间:
- <2秒:90-100分
- 2-5秒:60-89分
5秒:<60分
测试流程
- 自动生成测试问题:从知识库内容中提取关键词生成问题
- 执行问答测试:向专家发送问题并获取回答
- 评估回答质量:分析相关性、完整性、准确性
- 生成测试报告:统计通过率、平均分数、常见问题
使用示例
# 专家评估
response = requests.post(
f"{BASE_URL}/api/evaluation/expert",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"kb_id": "kb_abc123",
"expert_id": "expert_xyz789", # 可选
"num_tests": 20 # 测试问题数量
}
)
result = response.json()
print(f"通过率: {result['raw_data']['quality_report']['pass_rate']:.1f}%")
print(f"平均响应时间: {result['raw_data']['quality_report']['avg_response_time_ms']:.0f}ms")
LLM-as-Judge 评估
使用大语言模型作为评判者,进行更全面的质量评估。
评估维度(6维度)
| 维度 | 说明 | 评分标准 |
|---|---|---|
| 准确性 | 回答信息是否正确 | 5分制 |
| 相关性 | 是否回答了用户问题 | 5分制 |
| 同理心 | 语气是否恰当、温暖 | 5分制 |
| 可行性 | 建议是否具体可执行 | 5分制 |
| 完整性 | 是否涵盖关键信息 | 5分制 |
| 安全性 | 是否存在有害内容 | 5分制 |
使用场景
- 发布前的最终质量检查
- 敏感场景(医疗、法律、金融)的安全性验证
- 用户体验优化
使用示例
# LLM Judge 评估
response = requests.post(
f"{BASE_URL}/api/evaluation/llm-judge",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"kb_id": "kb_abc123",
"test_dialogues": [
{"question": "什么是合同违约?", "context": "法律咨询"},
{"question": "违约金如何计算?", "context": "合同纠纷"},
{"question": "我应该怎么处理?", "context": "用户遇到违约"}
]
}
)
result = response.json()
print(f"综合评分: {result['overall_score']}")
# 查看各维度评分
for dim in result['dimensions']:
print(f" {dim['name']}: {dim['score']}/100")
评估 API
端点列表
| 端点 | 方法 | 说明 |
|---|---|---|
/api/evaluation/knowledge-base |
POST | 知识库评估 |
/api/evaluation/expert |
POST | 专家评估 |
/api/evaluation/llm-judge |
POST | LLM Judge 评估 |
/api/evaluation/summary/{kb_id} |
GET | 获取评估汇总 |
/api/evaluation/report/{evaluation_id} |
GET | 获取评估报告 |
统一响应格式
{
"evaluation_id": "eval_kb_xxx_1234567890",
"evaluation_type": "knowledge_base",
"target_id": "kb_abc123",
"evaluated_at": "2026-01-24T10:00:00Z",
"duration_seconds": 5.23,
"overall_score": 78.5,
"quality_level": "good",
"passed": true,
"dimensions": [
{
"name": "权威性",
"score": 72,
"max_score": 100,
"description": "文档来源权威程度",
"issues": ["未识别到权威出版社信息"],
"suggestions": ["建议使用正规出版的专业书籍"]
}
],
"strengths": ["内容量充足", "分块大小合理"],
"weaknesses": ["缺少参考文献"],
"recommendations": ["建议上传更多高质量文档"]
}
一键评估汇总
# 获取知识库的完整评估汇总
response = requests.get(
f"{BASE_URL}/api/evaluation/summary/{kb_id}",
headers={"Authorization": f"Bearer {API_KEY}"}
)
summary = response.json()
print(f"知识库评分: {summary['knowledge_base']['score']}")
print(f"专家质量评分: {summary['expert_quality']['score']}")
print(f"综合评分: {summary['overall_score']}")
最佳实践
1. 评估时机
| 阶段 | 推荐评估 | 说明 |
|---|---|---|
| 文档上传后 | 知识库评估 | 检查文档质量 |
| 发布前 | 专家评估 | 验证回答质量 |
| 上线前 | LLM Judge | 全面质量检查 |
| 定期维护 | 综合评估 | 持续质量监控 |
2. 提升评分的方法
提升知识库评分
1. 使用正规出版的专业书籍或学术论文
2. 确保文档包含 ISBN、作者信息
3. 上传多个相关文档,增加覆盖面
4. 避免上传扫描质量差的 PDF
提升专家评分
1. 优化关键词配置,提高问题匹配度
2. 添加更多领域专业术语
3. 自定义系统提示词,明确回答风格
4. 定期更新知识库内容
提升 LLM Judge 评分
1. 添加安全提示词,避免有害回答
2. 优化回答格式,提高可读性
3. 添加免责声明和建议咨询专业人士
4. 测试边界场景,处理异常输入
3. 评估阈值建议
| 场景 | 最低通过分数 | 说明 |
|---|---|---|
| 普通知识库 | 50分 | 基本可用 |
| 专业领域 | 70分 | 需要较高准确性 |
| 医疗/法律 | 80分 | 高风险场景 |
| 企业级部署 | 85分 | 商业级质量要求 |
开发者门户
评估功能已集成到开发者门户,提供可视化的评估界面:
- 登录 开发者门户
- 点击「🎯 评估」菜单
- 选择知识库
- 选择评估类型(知识库评估 / 专家评估)
- 查看评估结果和优化建议
文档版本: v1.0 更新时间: 2026-01-24