▶️25

[영상] RAGAS 라이브러리로 RAG 성능 평가하기

Day 3: RAGAS 평가

학습 목표

RAGAS 라이브러리를 설치하고 평가 데이터셋을 구성할 수 있다 Faithfulness, Context Recall, Precision, Answer Relevancy 4개 지표를 코드로 산출할 수 있다 낮은 점수의 원인을 단계별로 진단하는 방법을 적용할 수 있다 testset_generator로 평가용 질문-정답 쌍을 자동 생성할 수 있다

영상 핵심 정리 — RAGAS로 RAG 성능 평가

RAGAS 탄생 배경

기존 RAG 평가는 인간 레이블러가 정답을 일일이 작성. RAGAS는 LLM 자체를 심사위원으로 활용해 레이블 없이 RAG 품질을 정량화.

평가 데이터셋 자동 생성

from ragas.testset.generator import TestsetGenerator
from ragas.testset.evolutions import simple, reasoning, multi_context

generator = TestsetGenerator.with_openai()
testset = generator.generate_with_langchain_docs(
    docs, test_size=50,
    distributions={simple: 0.5, reasoning: 0.3, multi_context: 0.2}
)
df = testset.to_pandas()

전체 평가 루프

from ragas import evaluate
from ragas.metrics import (faithfulness, answer_relevancy,
                            context_precision, context_recall)
from datasets import Dataset

results = []
for row in df.itertuples():
    answer = rag_chain.invoke(row.question)
    contexts = retriever.get_relevant_documents(row.question)
    results.append({
        'question': row.question, 'answer': answer,
        'contexts': [c.page_content for c in contexts],
        'ground_truth': row.ground_truth
    })

ragas_result = evaluate(
    Dataset.from_list(results),
    metrics=[faithfulness, answer_relevancy,
             context_precision, context_recall]
)

진단 매트릭스

증상Context PrecisionContext RecallFaithfulness처방
엉뚱한 문서 검색Reranker 추가
정답 근거 누락청크 오버랩↑
LLM 환각온도↓·프롬프트 강화

함정 주의: RAGAS 기본은 GPT-4 Turbo 판사 모델. gpt-4o-mini로 교체 가능하지만 Faithfulness 5~10% 낮게 나옴 — 모델 고정해서 비교.

다음 task와의 연결

'RAGAS 5대 지표 실습'에서 Week 2 RAG 프로젝트 결과에 적용하고 개선 전·후 비교 표를 완성한다.

AI로 학습하기 — 꿀팁
RAGAS 평가 지표 신뢰성 점검AI 학습 팁

RAGAS의 LLM 판사 기반 자동 평가가 제조 도메인 RAG에서 신뢰할 수 있는지 검증하고, 자동 생성된 테스트셋의 질문 유형별 품질 한계를 점검하세요.

RAGAS로 제조 설비 매뉴얼 RAG 시스템을 평가할 때 발생할 수 있는 신뢰성 문제를 찾아줘. LLM 판사가 제조 전문 용어를 잘못 판단하는 경우, testset_generator가 Simple/Reasoning/Multi-context 질문 중 특정 유형에서 품질이 낮은 경우, '질문 → RAG → 답변+컨텍스트 수집 → ragas.evaluate()' 평가 루프에서 점수가 실제 사용자 만족도와 다를 수 있는 시나리오를 3가지 만들어줘.
이 팁이 도움이 됐나요?
핵심 포인트
  • RAGAS: 레이블 없이 LLM 판사로 RAG 4개 축 자동 평가
  • testset_generator: Simple/Reasoning/Multi-context 3종 질문 자동 생성
  • 평가 루프: 질문 → RAG → 답변+컨텍스트 수집 → ragas.evaluate() → 점수
  • Critical Path: Context Recall↓ → 청킹/임베딩, Faithfulness↓ → 프롬프트/온도