Ragas — LLM 평가 프레임워크

Source: 2026-04-27-ragas-evaluation Type: 공식 문서 (Open-source Framework) By: Ragas Team Valid as of: 2026-04-27

핵심 Takeaway

  • Vibe Check에서 Data-Driven으로: Ragas는 “이 답변이 좋은 것 같은데?” 같은 주관적 평가를 측정 가능한 메트릭으로 변환
  • RAG + Agent 평가 표준화: RAG 검색 품질, 생성 정확성, 에이전트 도구 사용 정확성을 체계적으로 측정할 수 있는 프레임워크 제공
  • Experiments-First Methodology: 수정 → 평가 → 분석 → 개선의 반복 루프를 표준화; 객관적 성능 지표로 개선 여부 판단
  • Customizable Metrics: Pre-built 메트릭(Faithfulness, Answer Relevancy 등)을 제공하면서도, 도메인 특화 메트릭을 간단한 데코레이터로 정의 가능
  • Framework Integration: LangChain, LlamaIndex, 일반 LLM 애플리케이션을 모두 지원; 평가 결과 추적·비교 가능

상세 요약

1. 핵심 문제: 평가의 위기

LLM 애플리케이션 평가의 어려움

전통 ML 시스템은 명확한 메트릭이 있다:

  • Accuracy, Precision, Recall, F1-score 등
  • 수치화 가능, 재현 가능, 객관적

하지만 LLM 애플리케이션의 출력은 자유형식 텍스트다. 이를 평가하는 것은 본질적으로 어렵다:

예시: RAG 시스템 평가

질문: "Apple의 2024년 분기별 매출은?"
RAG 시스템 답변: "Apple의 2024년 Q1 매출은 93.7B USD입니다."

이 답변이 좋은가?
- 정확한가? (원본 문서와 일치하는가)
- 관련성 있는가? (질문에 직접 대답하는가)
- 완전한가? (모든 분기 정보 포함?)
- 최신인가? (정보의 timeliness)

사람이 하나하나 읽으며 평가하려면 시간이 오래 걸린다. 또한 평가자마다 기준이 다를 수 있다.

Ragas의 해결책: LLM 자신을 평가자로 활용 + 체계적 메트릭 정의.

2. Ragas의 철학: Experiments-First

Ragas는 다음 사이클을 강조한다:

1. Baseline 설정
   ↓
2. Modification 실행 (모델 변경, 프롬프트 개선, 청킹 전략 변경 등)
   ↓
3. Evaluation 실행 (Ragas 메트릭으로 자동 평가)
   ↓
4. Analysis (개선되었나?)
   ↓
5. 반복

핵심: 각 사이클에서 객관적 숫자로 개선을 판단한다. “뭔가 더 좋은 것 같은데”는 이제 그만.

3. Ragas의 평가 대상

3-1. RAG 시스템 평가

RAG는 크게 두 부분으로 나뉜다:

  1. Retrieval 단계: 관련 문서를 제대로 찾는가?
  2. Generation 단계: 검색된 문서를 바탕으로 정확한 답변을 생성하는가?

Ragas가 제공하는 메트릭:

메트릭측정 대상계산 방식
Context Recall검색의 완전성”필요한 정보가 검색된 문서에 모두 있는가?” → LLM이 평가
Context Precision검색의 정확도”검색된 문서가 모두 질문과 관련 있는가?” (노이즈 제거)
Faithfulness생성의 정확성”생성된 답변이 검색된 문서의 내용과 일치하는가?” (환각 탐지)
Answer Relevancy생성의 관련성”답변이 실제 질문에 응답하는가?“

3-2. Agent 평가

에이전트는 도구를 호출하고 그 결과를 통합한다. 평가할 점:

메트릭의미
Tool Accuracy에이전트가 올바른 도구를 선택했는가?
Execution Correctness도구를 올바른 파라미터로 호출했는가?
Reasoning Quality도구 선택의 논리가 타당한가?

3-3. SQL Query 평가

RAG를 데이터베이스 쿼리로 확장할 때:

  • 생성된 SQL이 정확한가?
  • 결과가 자연언어 질문에 일치하는가?

3-4. 일반 LLM 애플리케이션

위의 특화 케이스가 아닌 일반 LLM 대화:

  • 응답의 품질, 신뢰도, 다양성 등을 측정

4. Customizable Metrics (커스텀 메트릭)

Ragas의 강점: Pre-built 메트릭 + 도메인 특화 메트릭 자유롭게 정의

Pre-built 메트릭 사용

from ragas.metrics import faithfulness, answer_relevancy
 
# 평가 실행
results = evaluate(
    dataset=your_rag_dataset,
    metrics=[faithfulness, answer_relevancy]
)

커스텀 메트릭 정의

특정 도메인에 필요한 메트릭을 쉽게 추가:

from ragas.metrics import Metric
 
class DomainAccuracy(Metric):
    def compute(self, row, **kwargs):
        # 도메인 특화 평가 로직
        # 예: 의료 데이터면 의학용어 정확성만 평가
        return score
 
# 평가에 포함
results = evaluate(
    dataset=dataset,
    metrics=[faithfulness, DomainAccuracy()]
)

장점:

  • 일반 메트릭만으로는 포착할 수 없는 도메인 특화 품질 측정
  • 비즈니스 로직 반영 (예: 금융 정확도, 법률 용어 준수)

5. Framework Integration

Ragas는 인기 프레임워크와 통합된다:

LangChain Integration

from ragas.integrations.langchain import LangchainIntegration
 
# LangChain RAG 평가
integration = LangchainIntegration(your_rag_chain)
results = integration.evaluate(dataset)

LlamaIndex Integration

마찬가지로 LlamaIndex 쿼리 엔진을 직접 평가 가능.

Dataset Management

  • CSV, JSON으로 평가 데이터셋 정의
  • 결과 저장 및 버전 관리
  • 여러 실험 비교

6. 평가 워크플로

Step 1: Dataset 준비

[
  {
    "question": "Apple의 2024년 Q1 매출?",
    "contexts": ["문서1", "문서2", ...],
    "ground_truth": "93.7B USD"
  },
  ...
]

Step 2: Baseline 설정

첫 번째 평가 실행 → baseline 메트릭 기록.

Step 3: 개선 시도

  • 청킹 전략 변경
  • 검색 모델 업그레이드
  • 프롬프트 개선
  • 도구 추가

Step 4: 평가 재실행

동일 메트릭으로 재평가 → baseline과 비교.

Before: Faithfulness=0.72, Context Recall=0.65
After:  Faithfulness=0.85, Context Recall=0.78
→ 개선 명확히 입증됨

Step 5: 분석

어느 메트릭이 개선되었고, 어느 것이 아직 약한지 판단 → 다음 개선 방향 결정.

7. 프로덕션 배포 체크리스트

Ragas를 사용하면 다음이 가능하다:

  • Baseline 메트릭 수립 (프로덕션 배포 전)
  • 배포 후 정기적 평가 (회귀 탐지)
  • A/B 테스트 (모델 A vs B 객관적 비교)
  • 도메인 특화 요구사항 검증 (커스텀 메트릭)
  • 평가 이력 추적 (개선 추세 분석)

연결되는 위키 페이지

  • ragas — 신규 페이지: Ragas 프레임워크 개요, 설치, 커뮤니티
  • llmops-lifecycle-and-stack — Ragas를 평가 단계의 표준 도구로 강화
  • rag — RAG 평가 기준을 Ragas 메트릭과 연계
  • agentic-ai-patterns — 에이전트 평가를 Ragas로 자동화하는 사례