使用可观测性工具追踪和记录评估
对于任何基于语言模型的应用程序来说,记录和追踪来自大语言模型(LLM)的结果都非常重要。本教程将介绍如何使用 Ragas 进行追踪。Ragas 提供了 callbacks 功能,让您可以轻松接入各种追踪工具,如 LangSmith、wandb、Opik 等。在本笔记本中,我将使用 LangSmith 进行追踪。
要设置 LangSmith,我们需要设置一些它所需的环境变量。更多信息,请参考其文档。
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_ENDPOINT=https://api.smith.langchain.com
export LANGCHAIN_API_KEY=<your-api-key>
export LANGCHAIN_PROJECT=<your-project> # if not specified, defaults to "default"
现在我们必须从 LangChain 导入所需的追踪器,这里我们使用 LangChainTracer,但你同样可以使用 LangChain 支持的任何追踪器,例如 WandbTracer 或 OpikTracer。
# LangSmith
from langchain.callbacks.tracers import LangChainTracer
tracer = LangChainTracer(project_name="callback-experiments")
现在,在调用 evaluate 时,我们将追踪器传递给 callbacks 参数。
from ragas import EvaluationDataset
from datasets import load_dataset
from ragas.metrics import LLMContextRecall
dataset = load_dataset("vibrantlabsai/amnesty_qa", "english_v3")
dataset = EvaluationDataset.load_from_hf(dataset["eval"])
evaluate(dataset, metrics=[LLMContextRecall()],callbacks=[tracer])
您还可以使用 LangChain 的 BaseCallbackHandler 编写自己的自定义回调,请参考此处阅读更多相关信息。