AutoRAG

AI Agent FrameworksCLITypeScript

★ 5,068주당 +18조회 4

무엇인가

AutoRAG 2.0은 문서 컬렉션을 대상으로 하는 검색 특화 에이전트다. 이 저장소가 배포하는 것은 Python 기반 RAG AutoML 도구였던 원래 AutoRAG의 재설계판이며, 원래 도구는 legacy/ 디렉터리에 남아 유지보수 모드로 관리된다. 하나의 모델이 검색·판독·판단·큐레이션 루프 전체를 소유하고, 다른 모델 역할을 조정하는 코디네이터로 동작하지 않는다.

어떻게 동작하나

동작은 Pi 에이전트 루프를 사서 역할로 구성한 것 위에 세워진다. 검색 계층은 RetrievalMethodRegistry에 등록된 플러그형 검색 방식으로 이뤄지고, BM25·벡터·하이브리드가 MinSync의 하나의 CDC 청크 수명주기를 공유한다. MinSync는 파싱된 마크다운 미러를 .autorag 아래에 색인하고, 로컬 임베딩은 Ollama를 통한 EmbeddingGemma가 담당한다. 에이전트는 내장 bash 도구로 설정된 소스 디렉터리를 직접 열어 근거를 확인하고, ResultMerger가 점수를 정규화하고 중복을 제거한 뒤 하나의 결과 집합으로 큐레이션한다. 응답은 구조화된 SearchDocumentsResponse로 반환된다.

무엇과 다른가

일반 검색 도구는 파일 경로와 일치 줄 목록을 돌려주고 판단은 사용자에게 남긴다. AutoRAG는 데이터를 중앙 색인으로 이관하지 않고 katok, discrawl, qmd, msgvault, rclone 같은 CLI 소유 저장소를 제자리에서 연합한다. 결과에는 kakao: 같은 소스 고유 식별자가 붙고 범위 검사 접근이 적용되며, 제3자 서버가 코퍼스 사본을 보관하지 않는다. 문서 종류마다 유효한 검색 전략이 다르므로 어휘 검색·의미 검색·혼합 검색을 같은 인터페이스로 노출한다.

어떻게 쓰나

설정은 autorag init의 --embedder-* 플래그로 원격 임베딩 엔드포인트를 지정하는 방식으로 시작한다. MinSync는 첫 사용 시 검증된 릴리스를 ~/.autorag/bin에 자동 설치하며, 직접 바이너리를 관리할 때만 autoInstall을 false로 둔다. 로컬 색인 자체를 끄려면 minSync를 false로, 어휘 검색만 끄려면 bm25를 false로 설정한다. 로컬 임베더의 컨텍스트 창이 작으면 minSync.maxChunkSize 또는 --minsync-max-chunk-size로 청크 크기를 낮춘다. 자동 설치 경로와 로컬 EmbeddingGemma 점검 절차는 docs/minsync-setup.md에 정리돼 있다.

전제와 한계

모델과 제공자는 사용자의 인증된 런타임에서 오며 AutoRAG는 자체 제공자 기본값을 두지 않는다. 기본 PDF 파서는 여러 쪽 PDF에 품질 검사를 걸고, 3쪽 이상에서 800자 미만이거나 쪽당 40자 미만이면 OpenDataLoader의 docling-fast 하이브리드 백엔드를 hybridMode: auto, 30초 타임아웃으로 재시도한다. 단일 쪽 PDF와 이미지에는 하이브리드를 먼저 쓰지 않고, 하이브리드 사이드카가 없거나 실패하면 로컬 마크다운을 유지한 채 pdf-extract-thin과 pdf-hybrid-unavailable 진단을 낸다. 원래 Python AutoRAG는 버그 수정·의존성 갱신·PyPI 릴리스만 이어가는 유지보수 모드이고 새 기능 개발은 2.0에 집중된다.

관련 논문 5

유사 도구