使用 Ragas 为 RAG 生成测试集并评估特定文档表现
测试集是用于评估模型性能的数据集,它不参与模型的训练过程,而是用于在模型训练完成后测试其准确性和泛化能力。本文介绍如何使用 Ragas 框架创建一个测试集,以便可以评估自己的 RAG 系统在处理特定文档时的表现。通过使用自己的文档生成测试集,可以确保测试集与 RAG 具体应用场景紧密相关,从而更准确地评估 RAG 系统的效果。
使用方法
Ragas 提供了从加载文档、选择语言模型(LLM)、生成测试集到导出结果的全链路支持。
安装依赖包
文章首先指导用户如何安装必要的包,并提供了一个快速示例,展示如何为 RAG 流水线生成测试集。
pip install langchain-openai
pip install langchain-aws
pip install ragas
加载样本文档
通过 git 克隆样本文档,并使用 DirectoryLoader 加载文档,用户可以替换为自己的文档。
git clone https://huggingface.co/datasets/explodinggradients/Sample_Docs_Markdown
使用 langchain_community 的 DirectoryLoader 加载器从样本数据集中加载文档。
from langchain_community.document_loaders import DirectoryLoader
path = "Sample_Docs_Markdown/"
loader = DirectoryLoader(path, glob="**/*.md")
docs = loader.load()
你也可以使用 llama_index 中的任何加载器加载文档,例如使用 SimpleDirectoryReader:
from llama_index.core import SimpleDirectoryReader
path = "Sample_Docs_Markdown/"
docs = SimpleDirectoryReader(path).load_data()
选择 LLM
Ragas 需要利用大型语言模型(LLM)和嵌入模型来合成测试数据。可以选择 OpenAI、Amazon Bedrock、Azure OpenAI 等 LLM 供应商提供的模型。Ragas 集成了 Langchain 和 Llamaindex 框架。可以通过它们更好地和模型交互。
如果使用 OpenAI 的模型,并且使用 Langchain 框架进行调用,则需要安装 langchain-openai 包,这是一个通过 Langchain 框架与 OpenAI 模型进行交互的包。
pip install langchain-openai
接着,配置 OpenAI 密钥。
import os
os.environ["OPENAI_API_KEY"] = "your-openai-key"
将大型语言模型(LLMs)封装在 LangchainLLMWrapper 这个包装器中,以便它们可以与 ragas 集成。
from ragas.llms import LangchainLLMWrapper
from langchain_openai ChatOpenAI
langchain_openai OpenAIEmbeddings
generator_llm = LangchainLLMWrapper(ChatOpenAI(model=))


