评估答案和上下文相关性:LlamaIndex 的 AnswerRelevancyEvaluator 和 ContextRelevancyEvaluator
在自然语言处理领域,评估生成的答案和检索到的上下文与用户查询的相关性是至关重要的。本文将介绍如何使用 LlamaIndex 的 AnswerRelevancyEvaluator
和 ContextRelevancyEvaluator
类来评估生成的答案和检索到的上下文与给定用户查询的相关性。
安装依赖
首先,我们需要安装必要的依赖包:
%pip install llama-index-llms-openai
设置环境
为了在 Jupyter Notebook 中使用异步操作,我们需要应用 nest_asyncio
:
import nest_asyncio
from tqdm.asyncio import tqdm_asyncio
nest_asyncio.apply()
下载数据集
我们将使用 LlamaHub 提供的 llama-dataset 进行演示:
from llama_index.core.llama_dataset import download_llama_dataset
from llama_index.core.llama_pack import download_llama_pack
from llama_index.core import VectorStoreIndex
# 下载并安装基准数据集的依赖
rag_dataset, documents = download_llama_dataset(
"EvaluatingLlmSurveyPaperDataset", "./data"
)
rag_dataset.to_pandas()[:5]
构建 RAG
接下来,我们使用相同的源文档构建一个 RAG(检索增强生成):
index = VectorStoreIndex.from_documents(documents=documents)
query_engine = index.as_query_engine()