RAG evaluation

基于文档生成用于评测的数据集

前面我们介绍过了如何获取测评集,有一种方式是通过文档可以生成一些问题和答案。那么ragas就只次,我们介绍下如何使用。 基于AI生成数据集 比如我们提前准备一份文档,markdown格式最好,放到docs目录下 运行以下脚本代码:

TL;DR

前面我们介绍过了如何获取测评集,有一种方式是通过文档可以生成一些问题和答案。那么ragas就只次,我们介绍下如何使用。 基于AI生成数据集 比如我们提前准备一份文档,markdown格式最好,放到docs目录下 运行以下脚本代码:

前面我们介绍过了如何获取测评集,有一种方式是通过文档可以生成一些问题和答案。那么ragas就只次,我们介绍下如何使用。

基于AI生成数据集

比如我们提前准备一份文档,markdown格式最好,放到docs目录下 运行以下脚本代码:

from
from
from
from
from
from
from
import

## 1. 加载环境变量
load_dotenv

## 2. 加载文档
path
loader
docs

## 3. 配置 LLM
openai_client
llm

## 4. 配置 Embeddings
embeddings


## 5. 生成测试集
generator
dataset

## 6. 导出结果
df
print

df
print

运行以上代码。可以看到运行进度: - Applying HeadlinesExtractor (提取标题) & HeadlineSplitter (按标题切分):AI 正在通读你的 Markdown 文件,识别出里面的各级标题,理清文档的整体骨架结构。 - Applying SummaryExtractor (提取摘要):AI 对文档的各个部分进行总结概括,以便后续能基于这些摘要来设计问题。 - Applying CustomNodeFilter (节点过滤): AI 正在从文档中筛选出最有价值、信息密度最高的文本片段(Nodes),剔除掉那些无关紧要的内容。 - Applying EmbeddingExtractor (向量化处理):将筛选出来的文本片段转换成计算机能理解的数学向量,方便后续评估检索的准确度。 - Applying ThemesExtractor (提取主题) & NERExtractor (提取命名实体):AI 进一步分析文档中的核心话题以及专有名词(如人名、产品名、地名等)。 - CosineSimilarityBuilder & OverlapScoreBuilder:计算各个文本片段之间的相似度与重叠度,为后续生成需要跨段落推理的复杂问题建立关联。 - Generating personas (生成用户画像):AI 虚拟出了不同类型的提问者角色(比如“新手小白”、“资深专家”),让生成的问题更贴近真实用户的提问习惯。 - Generating Scenarios (生成应用场景):结合刚才提取的知识点和用户画像,构思出具体的提问背景。 - Generating Samples (生成最终样本):最后,综合以上所有信息,生成高质量测试数据 这个过程根据你的文档的大小,LLM的情况,可能会比较慢。 最终会得到一份csv文档,里面包含了10条数据,分别包含了用户问题、参考内容以及标准答案: 可以看到,上面的数据集中是不包含我们的RAG系统针对问题的回答的,所以,根据上一期我们介绍的各个指标需要的参数,那么有了这份数据集,就可以针对Context Precision、Context Recall两个指标做评测了么? 其实并不是,因为上面的数据集中的参考资料,其实是生成标准答案的参考资料,而我们要对RAG测评,需要拿到RAG实际检索到的参考资料才行。 | 指标 | 问题 | AI回答 | 参考材料 | 标准答案 | LLM | Embedding | | --- | --- | --- | --- | --- | --- | --- | | Context Precision | ✅ | | ✅ | ✅ | ✅ | | | Context Recall | ✅ | | ✅ | ✅ | ✅ | | | Answer Relevancy | ✅ | ✅ | | | ✅ | ✅ | | Faithfulness | ✅ | ✅ | ✅ | | ✅ | | | Answer Correctness | ✅ | ✅ | | ✅ | ✅ | ✅ |

不管是针对Context Precision、Context Recall两个指标做评测,还是要针对另外几个指标做评测,我们还需要基于这份数据集,生成我们自己的RAG问答系统的答案+参考资料才行。

版本提示

模型、框架与接口会持续变化。涉及版本号、参数与生产配置时,请在实践前对照对应官方文档。

LLMentor系统化学习大模型应用工程

内容来自个人课程知识库备份,并经过结构化整理。技术版本持续演进,生产使用前请结合官方文档验证。