跳到内容

使用可观测性工具跟踪和记录评估

对于任何基于语言模型的应用来说,跟踪和记录来自 LLM 的结果非常重要。这是一个关于如何使用 Ragas 进行跟踪的教程。Ragas 提供了 callbacks 功能,可以轻松地连接各种跟踪器,如 Langsmith、wandb、Opik 等。在本 notebook 中,我将使用 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 支持的任何跟踪器,例如 WandbTracerOpikTracer

# 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("explodinggradients/amnesty_qa", "english_v3")

dataset = EvaluationDataset.load_from_hf(dataset["eval"])
evaluate(dataset, metrics=[LLMContextRecall()],callbacks=[tracer])
{'context_precision': 1.0000}
Tracing with Langsmith
使用 Langsmith 进行跟踪

您还可以使用 langchain 的 BaseCallbackHandler 编写自己的自定义回调,请参阅此处阅读更多内容。