Langsmith
Langsmith
Langsmith는 langchain 팀이 만든 프로덕션급 LLM 애플리케이션 구축을 위한 플랫폼이에요. LLM 애플리케이션을 추적(tracing), 디버깅, 평가하는 데 도움을 줘요. langsmith + ragas 통합은 두 가지 기능을 제공해요.
- ragas 평가자의 trace를 봅니다
- (곧) 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를 볼 수 있어요.