DocAILab/XRAG
XRAG: eXamining the Core - Benchmarking Foundational Component Modules in Advanced Retrieval-Augmented Generation
📚 XRAG란?
XRAG(eXamining the Core – Benchmarking Foundational Component Modules in Advanced Retrieval‑Augmented Generation) 는 연구자와 개발자가 검색 증강 생성(RAG) 시스템의 구성 요소를 평가할 수 있는 오픈소스 Python 프레임워크입니다. RAG 파이프라인을 블랙박스로 취급하는 대신, XRAG는 이를 모듈식 부품(리트리버, 임베딩, 텍스트 분할기, 오케스트레이터 등)으로 분해하고 체계적인 벤치마크를 실행하여 각 선택이 전체 성능에 어떻게 영향을 미치는지 확인할 수 있습니다.
✨ 핵심 기능(README에 설명된 대로)
| 카테고리 | 하이라이트 |
|---|---|
| 평가 엔진 | • 여러 평가 차원: 전통적인 메트릭(F1, EM, MRR, Hit@K, MAP, NDCG) 및 LLM 기반 메트릭(충실도, 관련성, 정확성). • 맥락 정밀도/재현율, 환각, 편향과 같은 심층 평가 메트릭. • 내장 평가기: LlamaIndex, DeepEval, 사용자 정의 메트릭용 후크. |
| 모듈식 아키텍처 | • 리트리버, 임베딩, LLM용 플러그 가능한 컴포넌트. • 빠른 실험을 위한 --override 플래그. |
🛠️ 설치(빠른 요약)
- Python 3.11+ 환경 생성(conda 권장).
conda create -n xrag python=3.11 conda activate xrag - PyPI에서 패키지 설치(패키지 이름은
examinationrag).pip install examinationrag
🚀 빠른 시작 안내
config.toml편집 – API 키를 설정하고 모델을 선택합니다.
🎯 XRAG를 사용해야 하는 사람은?
| 대상 | 일반적인 사용 사례 |
|---|---|
| 학술 연구자 | 표준 벤치마크(HotpotQA, DropQA, NaturalQA)에서 서로 다른 리트리버, 임베딩, 오케스트레이터가 RAG 성능에 미치는 영향을 체계적으로 비교. |
| 제품 엔지니어 | 새로운 검색 컴포넌트(예: 트리 기반 인덱스)가 출시 전에 지연 시간과 정확도 목표를 충족하는지 검증. |
| LLM 중심 스타트업 | 내부 QA 데이터 세트를 자동 생성하고 RAG 기반 어시스턴트의 빠른 프로토타이핑을 위해 /query API를 노출. |
| 학생/취미 개발자 | Web UI에서 컴포넌트를 전환하고 메트릭 변화를 실시간으로 관찰하여 RAG 파이프라인 학습. |
📖 문서 및 커뮤니티
- 논문 – ICDE 2026에서 채택(arXiv 2412.15529). README에는 더 깊은 방법론적 세부 사항을 위한 PDF 링크가 있습니다.
- GitHub – 이슈, 풀 리퀘스트, 스타 카운터가 표시되며, 저장소는 기여(코드, 데이터, 아이디어)를 장려합니다.
- 감사 – LlamaIndex, Hugging Face Transformers를 기반으로 구축되었으며 RAGLAB, FlashRAG, FastRAG, AutoRAG, LocalRAG와 같은 프로젝트에서 영감을 받았습니다.
- 인용 – 학술적 크레딧을 위해 복사 가능한 BibTeX 항목이 제공됩니다.
🛎️ TL;DR
XRAG는 검색 증강 생성을 위한 모듈식 벤치마킹 스위트입니다. 리트리버, 임베딩, LLM 백엔드, 오케스트레이터를 자유롭게 조합하고, 클래식 IR 메트릭과 새로운 LLM 기반 품질 점수로 결과를 평가합니다. pip install examinationrag로 설치하고, 간단한 TOML 파일로 구성하고, 명령줄 또는 대화형 Web UI에서 실험을 실행할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트