Observability 도구로 평가 결과 추적하기

Observability 도구로 평가 결과 추적하기 (Tracing)

모든 언어 모델 기반 애플리케이션에서 LLM 결과를 로깅하고 추적하는 것은 아주 중요해요. 이 글에서는 Ragas로 tracing을 하는 방법을 다뤄요. Ragas는 callbacks 기능을 제공해서 LangSmith, wandb, Opik 같은 다양한 tracer를 쉽게 연결할 수 있어요. 이 노트북에서는 LangSmith를 tracing에 사용할 거예요.

출처: 문서

본문

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에서 필요한 tracer를 import 해야 해요. 여기서는 LangChainTracer 를 사용하지만, LangChain이 지원하는 다른 tracer(WandbTracerOpikTracer 같은)도 동일하게 사용할 수 있어요.

# LangSmith
from langchain.callbacks.tracers import LangChainTracer

tracer = LangChainTracer(project_name="callback-experiments")

evaluate 를 호출할 때 callbacks 파라미터에 tracer를 전달하면 돼요.

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])
{'context_precision': 1.0000}

LangChain의 BaseCallbackHandler 를 사용해 직접 커스텀 콜백을 작성할 수도 있어요. 자세한 내용은 여기를 참고하면 돼요.

더 알아보기 (Learn more)