RAG-FiT
무엇인가
RAG-FiT는 검색 증강 생성(RAG) 작업에서 LLM이 검색된 외부 정보를 실제로 활용하도록 모델을 파인튜닝하는 Python 프레임워크다. 검색 결과를 결합한 학습 데이터를 만들고, 그 데이터로 모델을 학습시키고, 학습 전후 성능을 RAG 전용 지표로 비교하는 흐름을 한 저장소에서 다룬다. 이전 이름은 RAG Foundry다.
어떻게 동작하나
구성은 네 모듈이다. 데이터셋 생성(processing.py), 학습(training.py), 추론(inference.py), 평가(evaluation.py)가 최상위 스크립트로 놓이며, 모든 호출은 `python SCRIPT options...` 형식이다. 처리 모듈은 데이터셋 로딩, 컬럼 정규화, fewshot 집계, 외부 도구를 통한 정보 검색, API 연동, 템플릿 기반 프롬프트 생성을 수행하고 RAG 상호작용을 모델 독립적인 입력-출력 포맷과 메타데이터로 저장한다. 학습은 PEFT와 TRL로 completion에 대해 이루어지고 모델을 HF Hub에 푸시할 수 있다. 평가는 EM, F1, ROUGE, BERTScore, Deepeval, RAGAS, HF evaluate, 분류 지표를 예제 단위(local) 또는 데이터셋 전체 단위(global)로 실행하며, 입력과 출력 텍스트뿐 아니라 검색 결과·추론·인용·귀속 필드도 사용한다.
무엇과 다른가
RAG 실험을 노트북이나 일회성 스크립트로 돌리는 방식과 달리, 파이프라인 정의가 Hydra 설정 파일에 들어간다. configs 폴더의 모듈별 기본 설정을 CLI에서 덮어쓰고, `_target_` 키워드로 어떤 Python 클래스를 인스턴스화할지 지정하는 configuration-as-code 방식을 쓴다. 데이터가 모델 독립 포맷으로 저장되므로 같은 데이터셋으로 여러 모델을 같은 조건에서 비교할 수 있다. 논문 실험을 ASQA 데이터셋으로 재현하는 설정이 Paper 폴더에 있다.
어떻게 쓰나
저장소를 클론해 설치하고 선택 패키지를 추가로 설치한 뒤, PubmedQA 튜토리얼로 end-to-end 예제를 따라갈 수 있다. 각 모듈은 최상위 스크립트를 직접 실행하는 방식이고, 설정 파일 전체나 개별 키워드를 CLI에서 바꾼다. Hydra를 쓰기 때문에 계층적 설정과 SLURM·Ray 같은 원격 다중 작업 실행이 가능하다.
전제와 한계
Python으로 작성됐고 Hydra 설정 체계에 의존한다. 학습 경로는 PEFT와 TRL에, 검색과 API 연동은 사용자가 구성한 외부 도구에 달려 있다. 라이선스는 Apache 2.0이며 Intel 공식 제품이 아니다. README에 최소 Python 버전이나 지원 모델 범위는 명시되지 않는다.
관련 논문 5
유사 도구
- quivrRAG 파이프라인을 YAML 워크플로로 정의해 LLM 앱에 붙이는 Python 라이브러리다. LLM·벡터스토어·파서를 교체할 수 있다.
- llama_index사설 데이터를 수집·구조화해 LLM이 검색·질의할 수 있게 하는 Python 프레임워크다. 코어와 300여 개 통합 패키지를 조합해 RAG·에이전트 앱을 만든다.
- MaxKBRAG 파이프라인과 워크플로 엔진, MCP 도구 호출을 묶어 기업용 에이전트를 만드는 Python/Django 오픈소스 플랫폼이다.
- UltraRAGRAG 구성 요소를 MCP 서버로 분리하고 YAML로 분기·루프를 선언해 파이프라인을 조립하는 저코드 프레임워크다. 캔버스와 코드를 동기화하는 IDE를 포함한다.
- langchainLLM 애플리케이션과 에이전트를 조립하는 Python 프레임워크다. 모델·임베딩·벡터 스토어·툴을 표준 인터페이스로 감싸 제공자 교체를 코드 수정 없이 처리한다.
- LightRAG문서를 지식 그래프와 벡터 인덱스로 함께 색인해 질의에 답하는 검색 증강 생성 프레임워크다. Python 서버와 WebUI를 함께 제공한다.