Skip to content

RAG 评估

TIP

全面评估 RAG 系统需要从检索质量和生成质量两个维度衡量。

检索评估指标

指标说明
Recall检索到的相关文档比例
Precision检索结果中相关文档比例
MRR第一个相关结果的排名

生成评估指标

指标说明
Faithfulness回答是否忠于参考信息
Relevance回答是否回答了问题

RAGAS 框架

python
from ragas import evaluate
from ragas.metrics import faithfulness, answer_relevancy, context_recall

dataset = [{
    "question": "什么是注意力机制?",
    "answer": "注意力机制...",
    "contexts": ["注意力机制是..."],
    "ground_truth": "正确答案..."
}]

results = evaluate(dataset=dataset, metrics=[faithfulness, answer_relevancy, context_recall])
print(results)

端到端测试

python
def test_rag():
    # 已知知识测试
    assert "相关" in rag.query("已知主题")
    # 未知知识测试
    assert "无法回答" in rag.query("完全无关的问题")
    # 边界测试
    assert rag.query("") is not None