UltraRAG

LLM FrameworksIDEPython

★ 5,691주당 +8조회 4

무엇인가

UltraRAG는 RAG 파이프라인을 만드는 Python 프레임워크다. 칭화대 THUNLP, 동북대 NEUIR, OpenBMB, AI9stars가 공동으로 개발했다. 검색기와 생성기 같은 RAG 구성 요소를 모델 컨텍스트 프로토콜(MCP) 서버로 표준화하고 그 위에 워크플로를 얹는 구조를 취한다. 연구용 실험과 산업 프로토타이핑을 대상으로 한다.

어떻게 동작하나

핵심 구성 요소는 각각 독립된 MCP Server로 분리된다. Retriever, Generation 등이 개별 서버로 동작하고 MCP Client가 이들을 호출해 파이프라인을 조립한다. 제어 흐름은 YAML 설정 파일에 적는다. 순차 실행, 루프, 조건 분기를 YAML만으로 선언하며 반복적인 RAG 추론 로직을 수십 줄로 표현한다. 새 기능은 함수 단위 Tool로 등록해 기존 워크플로에 붙인다. UltraRAG UI는 Pipeline Builder에서 캔버스 구성과 코드 편집을 양방향 실시간 동기화하고, 파이프라인 파라미터와 프롬프트를 온라인에서 조정한다. AI 어시스턴트가 구조 설계와 파라미터 튜닝, 프롬프트 생성을 돕고, 지식베이스 관리 컴포넌트가 문서 Q&A용 지식베이스 구축을 맡는다.

무엇과 다른가

일반적인 RAG 프레임워크는 파이프라인의 분기와 루프를 Python 코드로 직접 작성하고 데모용 UI는 별도로 만든다. UltraRAG는 컴포넌트를 MCP 서버로 떼어내고 제어 흐름을 YAML로 선언하는 쪽을 택했다. 3.0에서는 추론 로직을 블랙박스로 두지 않고 각 단계를 드러낸다. 표준화된 평가 워크플로와 주요 연구 벤치마크를 내장해 지표 관리와 베이스라인 비교를 같은 틀에서 처리한다.

어떻게 쓰나

설치는 소스 코드 설치와 Docker 컨테이너 배포 두 가지다. 소스 설치는 uv 사용을 권장하며 uv sync로 가상 환경 생성과 의존성 동기화를 한 번에 처리한다. 핵심 기능만 필요하면 기본 의존성으로, 검색·생성·코퍼스 처리·평가까지 쓰려면 전체 의존성으로 설치한다. 모듈별로 --extra를 지정해 필요한 것만 넣을 수도 있고, 이미 활성화된 환경에는 uv pip로 설치한다. 파이프라인은 YAML로 작성하고 완성된 로직은 명령 하나로 대화형 웹 UI가 된다.

전제와 한계

Python 기반이며 uv 패키지 관리자를 권장한다. 모든 MCP 서버가 같은 .venv와 uv.lock을 공유하는 구성이 권장 팀 설정이다. Linux GPU 의존성은 CUDA 12.9에 고정되고 vLLM cu129 휠을 포함한다. 1.0과 2.0 코드는 v1, v2 브랜치로 보존되어 있다.

관련 논문 4

유사 도구