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와 같은 새로운 지표가 로드맵에 포함됩니다.

🚀 시작하기 (빠른 시작 흐름)

  1. 설치 – Python 3.11+, conda 환경 생성 후 pip install examinationrag(및 몇 가지 고정된 종속성) 실행.
  2. 구성 – config.toml 편집(API 키, 모델, 데이터셋, 청크 크기 등).
  3. 실행 – xrag-cli run으로 전체 벤치마크 실행; 파일을 편집하지 않고 --override key=value를 추가하여 매개변수 조정.
  4. 탐색 – xrag-cli webui로 UI를 실행하여 데이터셋 업로드, 인덱스 구축, RAG 파이프라인 정의, 실시간 결과 확인.
  5. 서비스 – xrag-cli api로 백엔드 서비스를 시작하고 간단한 POST /query HTTP 호출로 쿼리.

🛠️ 일반적인 사용 사례

시나리오 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에서 직접 가져온 것이며 외부 가정은 추가되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트