ragas

LLM FrameworksCLIPython

★ 15,714주당 +70조회 9

무엇인가

Ragas는 LLM 애플리케이션의 출력 품질을 수치로 측정하는 평가 도구다. 검색 증강 생성(RAG) 파이프라인, 에이전트, 프롬프트 변형처럼 입출력이 자연어인 시스템을 대상으로 한다. 배포 전 회귀 검증과 배포 후 품질 추적 단계에 놓인다.

어떻게 동작하나

평가 단위는 메트릭 객체와 데이터셋이다. 메트릭은 LLM을 판정자로 쓰는 방식과 문자열·통계 기반 전통 방식으로 나뉘고, `DiscreteMetric`으로 출력의 특정 측면을 항목별로 판정하는 Aspect Critique 같은 지표를 직접 정의한다. 테스트 데이터셋이 없으면 프로덕션 트래픽에 정렬된 테스트셋을 자동 생성한다. 실행 경로는 `ragas quickstart` CLI로 템플릿 프로젝트를 복제하는 방식과 Python 코드에서 메트릭을 호출하는 방식 두 가지다.

무엇과 다른가

사람이 표본을 읽고 점수를 매기거나 손으로 테스트셋을 만드는 절차를 지표 함수 호출로 바꾼다. BLEU·ROUGE류 문자열 비교로는 잡히지 않는 답변의 충실성·관련성을 LLM 판정으로 측정한다. 관측(observability) 도구가 런타임 트레이스를 수집·시각화하는 것과 달리, 여기서는 데이터셋을 고정해 두고 같은 조건에서 반복 측정하는 오프라인 평가에 초점을 둔다.

어떻게 쓰나

설치는 `pip install ragas`다. 첫 실행은 `ragas quickstart`로 `rag_eval` 템플릿 프로젝트를 복제하는 것이 가장 빠르다. LLM 기반 메트릭을 쓰려면 `OPENAI_API_KEY` 같은 제공자 키를 환경변수로 두어야 한다. LangChain과 주요 관측 도구에 연결해 기존 파이프라인의 출력을 그대로 평가 대상으로 넣는다.

전제와 한계

Python 패키지이므로 평가 대상도 Python에서 실행되는 애플리케이션이어야 한다. LLM 판정 메트릭은 외부 API 호출과 그에 따르는 비용·지연을 전제로 한다. quickstart 템플릿은 현재 `rag_eval` 하나이며 `agent_evals`, `benchmark_llm`, `prompt_evals`, `workflow_eval`은 예정 상태다. 익명 사용 데이터 수집이 기본 활성이고 `RAGAS_DO_NOT_TRACK=true`로 끈다.

관련 논문 2

유사 도구