퀵 스타트: 평가를 순식간에 실행해봐요
퀵 스타트: 평가를 순식간에 실행해봐요 (Quick Start)
몇 분 안에 Ragas를 시작할 수 있어요. 몇 가지 명령어만으로 완전한 평가 프로젝트를 만들 수 있어요. 설치부터 평가 실행까지 전 과정을 단계별로 따라가 보면 금방 감이 잡힐 거예요.
출처: 문서
본문
몇 분 안에 Ragas를 시작해요. 몇 가지 명령어로 완전한 평가 프로젝트를 만들어볼 수 있어요.
Step 1: 프로젝트 만들기
다음 방법 중 하나를 선택해요.
uvx (권장)
설치가 필요 없어요. uvx가 ragas를 자동으로 다운로드해서 실행해요.
uvx ragas quickstart rag_eval
cd rag_eval
Ragas 먼저 설치 ragas를 먼저 설치한 뒤 프로젝트를 만들어요.
pip install ragas
ragas quickstart rag_eval
cd rag_eval
Step 2: 의존성 설치
프로젝트 의존성을 설치해요.
uv sync
pip을 선호한다면 이렇게 해요.
pip install -e .
Step 3: API 키 설정
기본적으로 퀵스타트 예제는 OpenAI를 사용해요. API 키를 설정하면 바로 시작할 수 있어요. 약간의 변경만으로 다른 프로바이더도 쓸 수 있어요.
OpenAI (기본값)
export OPENAI_API_KEY="your-openai-key"
퀵스타트 프로젝트는 이미 OpenAI를 쓰도록 설정되어 있어요. 준비 완료! 🎉
Anthropic Claude
export ANTHROPIC_API_KEY="your-anthropic-key"
그런 다음 evals.py의 LLM 초기화를 수정해요.
from anthropic import Anthropic
from ragas.llms import llm_factory
client = Anthropic(api_key=os.environ.get("ANTHROPIC_API_KEY"))
llm = llm_factory("claude-3-5-sonnet-20241022", provider="anthropic", client=client)
Google Gemini
export GOOGLE_API_KEY="your-google-api-key"
그런 다음 evals.py의 LLM 초기화를 수정해요.
옵션 1: Google 공식 라이브러리 사용 (권장)
import google.generativeai as genai
from ragas.llms import llm_factory
genai.configure(api_key=os.environ.get("GOOGLE_API_KEY"))
client = genai.GenerativeModel("gemini-2.0-flash")
llm = llm_factory("gemini-2.0-flash", provider="google", client=client)
# google 프로바이더의 경우 adapter가 "litellm"으로 자동 감지돼요
더 많은 Gemini 옵션과 자세한 설정은 Google Gemini 통합 가이드를 참고해요.
로컬 모델 (Ollama)
Ollama를 설치하고 로컬에서 실행한 뒤 evals.py의 LLM 초기화를 수정해요.
from openai import OpenAI
from ragas.llms import llm_factory
# Ollama용 OpenAI 호환 클라이언트 생성
client = OpenAI(
api_key="ollama", # Ollama는 실제 키가 필요 없어요
base_url="http://localhost:11434/v1"
)
llm = llm_factory("mistral", provider="openai", client=client)
커스텀 / 기타 프로바이더
OpenAI 호환 API를 가진 모든 LLM에 대해 이렇게 해요.
from openai import OpenAI
from ragas.llms import llm_factory
client = OpenAI(
api_key="your-api-key",
base_url="https://your-api-endpoint"
)
llm = llm_factory("model-name", provider="openai", client=client)
자세한 내용은 LLM 통합에서 확인해요.
프로젝트 구조 (Project Structure)
생성된 프로젝트는 다음을 포함해요.
rag_eval/
├── README.md # 프로젝트 문서
├── pyproject.toml # 프로젝트 설정
├── rag.py # RAG 애플리케이션
├── evals.py # 평가 워크플로우
├── __init__.py # Python 패키지로 만듦
└── evals/
├── datasets/ # 테스트 데이터 파일
├── experiments/ # 평가 결과
└── logs/ # 실행 로그
Step 4: 평가 실행
평가 스크립트를 실행해요.
uv run python evals.py
pip으로 설치했다면 이렇게 해요.
python evals.py
평가는 다음을 수행해요:
evals.py의load_dataset()함수에서 테스트 데이터 로드- 테스트 질문으로 RAG 애플리케이션에 질의
- 응답 평가
- 콘솔에 결과 표시
evals/experiments/디렉토리에 결과를 CSV로 저장
축하해요! 완전한 평가 설정이 실행되고 있어요. 🎉
평가 커스터마이즈
테스트 케이스 추가
evals.py의 load_dataset() 함수를 수정해서 더 많은 테스트 질문을 추가해요.
from ragas import Dataset
def load_dataset():
"""평가용 테스트 데이터셋 로드."""
dataset = Dataset(
name="test_dataset",
backend="local/csv",
root_dir=".",
)
data_samples = [
{
"question": "What is Ragas?",
"grading_notes": "Ragas is an evaluation framework for LLM applications",
},
{
"question": "How do metrics work?",
"grading_notes": "Metrics evaluate the quality and performance of LLM responses",
},
# 여기에 테스트 케이스를 더 추가해요
]
for sample in data_samples:
dataset.append(sample)
dataset.save()
return dataset
평가 메트릭 커스터마이즈
템플릿은 커스텀 평가 로직을 위한 DiscreteMetric을 포함해요. 다음과 같이 평가를 커스터마이즈할 수 있어요.
- 메트릭 프롬프트 수정 - 평가 기준 변경
- 허용 값 조정 - 유효한 출력 카테고리 업데이트
- 메트릭 추가 - 다른 측면에 대한 추가 메트릭 생성
메트릭 수정 예시:
from ragas.metrics import DiscreteMetric
from ragas.llms import llm_factory
my_metric = DiscreteMetric(
name="custom_evaluation",
prompt="Evaluate this response: {response} based on: {context}. Return 'excellent', 'good', or 'poor'.",
allowed_values=["excellent", "good", "poor"],
)
다음 단계 (What's Next?)
- 개념 배우기: 더 깊이 이해하려면 간단한 LLM 애플리케이션 평가 가이드를 읽어봐요
- 커스텀 메트릭: 간단한 데코레이터로 자신만의 메트릭 만들기
- 프로덕션 통합: CI/CD 파이프라인에 평가 통합
- RAG 평가: 특화 메트릭으로 RAG 시스템 평가
- 에이전트 평가: AI 에이전트 평가
- 테스트 데이터 생성: 평가용 합성 테스트 데이터셋 생성
도움 받기 (Getting Help)
- 📚 전체 문서
- 💬 Discord 커뮤니티 참여
- 🐛 이슈 보고
