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는 크게 두 부분으로 나뉜다:
- Retrieval 단계: 관련 문서를 제대로 찾는가?
- 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로 자동화하는 사례