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(검색 증강 생성) 시스템을 위한 오픈소스 벤치마킹 프레임워크입니다. 연구자와 개발자가 리트리버, 임베딩, LLM, 청커, 오케스트레이터 등 개별 RAG 구성 요소가 전반적인 성능에 어떻게 영향을 미치는지 측정할 수 있게 해줍니다.
✨ 핵심 기능 (README에 설명된 대로)
| 기능 | 설명 |
|---|---|
| 포괄적 평가 | 여러 평가 차원(LLM 기반, 심층 평가, 고전적 IR 지표)을 실행하고 F1, EM, MRR, Hit@K, MAP, NDCG와 같은 지표와 LLM 기반 충실도, 관련성, 정확성, 환각, 편향 등을 보고합니다. |
| 모듈식 아키텍처 | 리트리버, 임베딩, LLM을 위한 플러그 앤 플레이 구성 요소; 벡터, BM25, 하이브리드, 트리 기반, 키워드, 요약 기반 검색을 지원합니다. |
| 다중 LLM 백엔드 | OpenAI API, Ollama를 통한 로컬 모델, Hugging‑Face 모델(예: Qwen, LLaMA)과 호환됩니다. |
| 오케스트레이터 / 에이전틱 RAG | 순차, 조건부, 반복, 병렬, 하이브리드의 다섯 가지 오케스트레이터 유형으로 self‑RAG, adaptive‑RAG, FLARE 등 더 복잡한 에이전트형 RAG 파이프라인을 구축할 수 있습니다. |
| 웹 UI | xrag-cli webui는 데이터셋 업로드, 인덱스 구축, 파이프라인 구성, 실시간 쿼리 테스트, 시각적 평가 보고서를 위한 대화형 대시보드를 실행합니다. |
| CLI 및 API | 벤치마크 실행, QA 쌍 생성, REST API 서버 시작(xrag-cli api)을 위한 명령줄 도구(xrag-cli)입니다. |
| TOML 기반 구성 | 모든 설정(API 키, 모델 선택, 청크 크기, 데이터셋 등)은 config.toml 파일에 있으며, --override로 즉시 재정의할 수 있습니다. |
| 확장 가능한 평가 모델 | LlamaIndex, DeepEval의 내장 평가기와 사용자 정의 지표; Semantic Perplexity, Entropy, Auto‑J, Prometheus와 같은 새로운 지표가 로드맵에 포함됩니다. |
🚀 시작하기 (빠른 시작 흐름)
- 설치 – Python 3.11+, conda 환경 생성 후
pip install examinationrag(및 몇 가지 고정된 종속성) 실행. - 구성 –
config.toml편집(API 키, 모델, 데이터셋, 청크 크기 등). - 실행 –
xrag-cli run으로 전체 벤치마크 실행; 파일을 편집하지 않고--override key=value를 추가하여 매개변수 조정. - 탐색 –
xrag-cli webui로 UI를 실행하여 데이터셋 업로드, 인덱스 구축, RAG 파이프라인 정의, 실시간 결과 확인. - 서비스 –
xrag-cli api로 백엔드 서비스를 시작하고 간단한POST /queryHTTP 호출로 쿼리.
🛠️ 일반적인 사용 사례
| 시나리오 | XRAG가 어떻게 도움이 되는지 |
|---|---|
| 연구 논문 – 검색 전략 비교 | 리트리버 모듈(BM25 vs. 벡터)을 교체하고 MRR, 환각과 같은 지표에 미치는 영향을 즉시 확인. |
| LLM 평가 – 생성된 답변의 충실도 측정 | 내장 LLM 기반 지표를 사용하거나 사용자 정의 평가기를 연결하여 답변 정확성 점수화. |
| 에이전틱 RAG 파이프라인 프로토타입 | "adaptive‑RAG" 오케스트레이터로 워크플로우를 구축하고 웹 UI에서 테스트한 후 구성을 내보내기. |
| 데이터셋 생성 | xrag-cli generate는 문서 폴더에서 다운스트림 훈련용 합성 QA 쌍을 생성합니다. |
| 서비스 배포 | xrag-cli api를 실행하여 다른 앱이 검색 증강 응답을 위해 호출할 수 있는 REST 엔드포인트를 노출. |
📦 설치 및 런타임 요구 사항
- Python ≥ 3.11
- 선택 사항: conda 환경 권장
- 종속성에는
jury,requests==2.27.1,urllib3==1.25.11,jiwer<4.0.0(충돌 방지를 위해 고정) 포함 - 클라우드 LLM API(OpenAI)와 Ollama 또는 Hugging Face를 통한 로컬 모델을 모두 지원합니다.
📚 더 알아보기
- 논문 – XRAG: Examining the Core (ICDE 2026) – arXiv 2412.15529, DOI 10.1109/ICDE65706.2026.00201
- GitHub – https://github.com/DocAILab/XRAG (스타, 이슈, 로드맵)
- 웹 UI 데모 –
xrag-cli webui로 로컬 실행 - 인용 – README에 복사 가능한 BibTeX 제공.
🙋♀️ 누가 사용할까요?
- LLM 증강 시스템의 검색, 프롬프팅 또는 평가를 연구하는 학술 연구자.
- 체계적인 구성 요소 벤치마킹이 필요한 프로덕션 RAG 파이프라인을 구축하는 ML 엔지니어.
- 다양한 리트리버, 임베딩, 오케스트레이터를 실험할 수 있는 실습 프레임워크를 찾는 학생.
위의 모든 정보는 저장소의 README에서 직접 가져온 것이며 외부 가정은 추가되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트