使用可观测性工具跟踪和记录评估
对于任何基于语言模型的应用来说,跟踪和记录来自 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 支持的任何跟踪器,例如 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("explodinggradients/amnesty_qa", "english_v3")
dataset = EvaluationDataset.load_from_hf(dataset["eval"])
evaluate(dataset, metrics=[LLMContextRecall()],callbacks=[tracer])

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