为RAG生成合成测试集
RAG 测试集生成
这份简单的指南将帮助你使用自己的文档生成用于评估 RAG 管道的测试集。
加载示例文档
为了本教程的目的,我们将使用来自此仓库的示例文档。你可以将其替换为你自己的文档。
加载文档
现在我们将使用 DirectoryLoader
从示例数据集中加载文档,这是来自 langchain_community 的文档加载器之一。你也可以使用来自 llama_index 的任何加载器。
from langchain_community.document_loaders import DirectoryLoader
path = "Sample_Docs_Markdown/"
loader = DirectoryLoader(path, glob="**/*.md")
docs = loader.load()
选择你的 LLM
你可以选择使用任何你选择的 LLM
本指南利用OpenAI运行一些指标,因此请确保您已准备好OpenAI密钥,并在您的环境中可用。
将LLMs封装在LangchainLLMWrapper
中
首先,您需要设置您的AWS凭证和配置
config = {
"credentials_profile_name": "your-profile-name", # 例如 "default"
"region_name": "your-region-name", # 例如 "us-east-1"
"model_id": "your-model-id", # 例如 "anthropic.claude-v2"
"model_kwargs": {"temperature": 0.4},
}
from langchain_aws.chat_models import BedrockChat
from ragas.llms import LangchainLLMWrapper
evaluator_llm = LangchainLLMWrapper(BedrockChat(
credentials_profile_name=config["credentials_profile_name"],
region_name=config["region_name"],
endpoint_url=f"https://bedrock-runtime.{config['region_name']}.amazonaws.com",
model_id=config["model_id"],
model_kwargs=config["model_kwargs"],
))
生成测试集
现在我们将使用加载的文档和 LLM 设置运行测试生成。如果你使用 llama_index
加载文档,请改用 generate_with_llama_index_docs
方法。
from ragas.testset import TestsetGenerator
generator = TestsetGenerator(llm=generator_llm)
dataset = generator.generate_with_langchain_docs(docs, test_size=10)
导出
你现在可以导出并检查生成的测试集。