ragas
무엇인가
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
유사 도구
- langchainLLM 애플리케이션과 에이전트를 조립하는 Python 프레임워크다. 모델·임베딩·벡터 스토어·툴을 표준 인터페이스로 감싸 제공자 교체를 코드 수정 없이 처리한다.
- quivrRAG 파이프라인을 YAML 워크플로로 정의해 LLM 앱에 붙이는 Python 라이브러리다. LLM·벡터스토어·파서를 교체할 수 있다.
- graphrag비정형 텍스트에서 LLM으로 개체와 관계를 추출해 지식 그래프 인덱스를 만들고, 그 그래프를 컨텍스트로 질의응답에 쓰는 Python CLI 파이프라인이다.
- onyxLLM 애플리케이션 계층으로, RAG·웹 검색·코드 실행·에이전트를 갖춘 셀프호스팅 AI 채팅 플랫폼이다. 50개 이상 커넥터로 사내 데이터를 색인한다.
- VLMEvalKit220개 이상의 대형 비전-언어 모델을 80개 이상의 벤치마크에서 한 명령으로 평가하는 Python 툴킷이다. 생성 기반 채점과 LLM 답 추출을 함께 사용한다.
- Hyper-Extract비정형 텍스트를 LLM으로 구조화해 그래프·하이퍼그래프·시공간 그래프로 추출하는 Python CLI다. 추출·검색·시각화를 한 명령으로 처리한다.