Langsmith

Langsmith

Langsmith는 langchain 팀이 만든 프로덕션급 LLM 애플리케이션 구축을 위한 플랫폼이에요. LLM 애플리케이션을 추적(tracing), 디버깅, 평가하는 데 도움을 줘요. langsmith + ragas 통합은 두 가지 기능을 제공해요.

  1. ragas 평가자의 trace를 봅니다
  2. (곧) langchain 평가에서 ragas 메트릭을 사용합니다

출처: 문서

본문

데이터셋과 추적 시각화

ragas 메트릭 추적하기

ragas는 내부적으로 langchain을 사용하므로, langsmith를 설정하기만 하면 trace가 로깅돼요.

langsmith를 설정하려면 다음 env-var들이 설정되었는지 확인하세요(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"

langsmith를 설정했다면 평소처럼 평가를 실행하면 돼요.

from datasets import load_dataset

from ragas import evaluate
from ragas.metrics import answer_relevancy, context_precision, faithfulness

fiqa_eval = load_dataset("vibrantlabsai/fiqa", "ragas_eval")

result = evaluate(
    fiqa_eval["baseline"].select(range(3)),
    metrics=[context_precision, faithfulness, answer_relevancy],
)

result
Found cached dataset fiqa (/home/jjmachan/.cache/huggingface/datasets/vibrantlabs___fiqa/ragas_eval/1.0.0/3dc7b639f5b4b16509a3299a2ceb78bf5fe98ee6b5fee25e7d5e4d290c88efb8)
  0%|          | 0/1 [00:00<?, ?it/s]
evaluating with [context_precision]

100%|█████████████████████████████████████████████████████████████| 1/1 [00:23<00:00, 23.21s/it]

evaluating with [faithfulness]

100%|█████████████████████████████████████████████████████████████| 1/1 [00:36<00:00, 36.94s/it]

evaluating with [answer_relevancy]

100%|█████████████████████████████████████████████████████████████| 1/1 [00:10<00:00, 10.58s/it]
{'context_precision': 0.5976, 'faithfulness': 0.8889, 'answer_relevancy': 0.9300}

짜잔! 이제 프로젝트로 이동해 trace를 볼 수 있어요.

더 알아보기 (Learn more)