主题
概念
评估与基准测试是 LLM 开发中的关键概念。要提升 LLM 应用(RAG、智能体)的表现,你必须先有度量它的手段。
LlamaIndex 提供了用于衡量生成结果质量的关键模块,也提供了用于衡量检索质量的模块。
- 响应评估(Response Evaluation):回答是否与检索到的上下文相符?是否也与查询相符?是否与参考答案或准则相符?
- 检索评估(Retrieval Evaluation):检索到的来源是否与查询相关?
本节说明 LlamaIndex 内部的评估组件是如何工作的。
响应评估
生成结果的评估比较困难:与传统机器学习不同,预测结果不是单个数字,而且这个问题很难定义量化指标。
LlamaIndex 提供基于 LLM 的评估模块来衡量结果质量。它用一个“金牌”LLM(例如 GPT-4)从多个角度判断预测答案是否正确。
请注意,目前许多评估模块并不需要真实标签。评估可以只结合查询、上下文、回答,并把这些与 LLM 调用组合起来完成。
这些评估模块有以下形式:
- 正确性(Correctness):针对该查询,生成的回答是否与参考答案一致(需要标签)。
- 语义相似度(Semantic Similarity):预测回答与参考答案在语义上是否相似(需要标签)。
- 忠实度(Faithfulness):评估回答是否忠实于检索到的上下文(换句话说,是否存在幻觉)。
- 上下文相关性(Context Relevancy):检索到的上下文是否与查询相关。
- 回答相关性(Answer Relevancy):生成的回答是否与查询相关。
- 准则遵循(Guideline Adherence):预测回答是否遵循指定准则。
问题生成
除了评估查询,LlamaIndex 还能用你的数据生成要评估的问题。也就是说,你可以自动生成问题,再运行评估流程,检验 LLM 是否真的能用你的数据准确回答这些问题。
检索评估
我们也提供了用于独立评估检索的模块。
检索评估并不是新概念:给定一份问题与真实排序标注的数据集,我们就能用平均倒数排名(MRR)、命中率、精确率等排序指标来评估检索器。
检索评估的核心步骤围绕以下几点展开:
- 数据集生成:给定一个非结构化文本语料,合成地生成(问题,上下文)配对。
- 检索评估:给定一个检索器和一组问题,用排序指标评估检索结果。
集成
我们还与社区评估工具做了集成。
- UpTrain
- Tonic Validate(自带用于可视化结果的 Web UI)
- DeepEval
- Ragas
- RAGChecker
- Cleanlab
使用方式
完整用法细节见下文的使用方式。
模块
演示这些组件用法的 notebook 见模块指南。