Marker-Inc-Korea/AutoRAG
Your Personal Librarian Agent. Ask anything on your computer, organize files, remember important info and files.
AutoRAG Agent – 파일을 위한 로컬 "사서"
정의 – AutoRAG Agent는 TypeScript/Node 라이브러리(@autorag/librarian으로 게시)로, 컴퓨터를 검색 가능한 지식 베이스로 전환합니다. 로컬에서 소형 LLM 기반 "사서"를 실행하고, 기기의 파일(PDF, Word, HWP, 이미지, 코드 등) 내용을 읽고, 경량 인덱스를 생성하며, 원본 문서를 가리키는 인용과 함께 자연어 질문에 답변합니다.
중요성 – 기존 RAG(검색 증강 생성) 파이프라인은 데이터를 원격 벡터 저장소에 업로드하고, 임베딩을 관리하고, 별도의 검색 서비스를 유지해야 합니다. AutoRAG는 이를 모두 생략합니다. 데이터를 제자리에서 통합하고, BM25 및 벡터 인덱스를 즉시 구축하며, 모든 것을 기기에서 비공개로 유지합니다. 그 결과 데스크톱 UI, 터미널 UI, CLI 스크립트 또는 자체 TypeScript 코드에 포함하여 사용할 수 있는 빠르고, 원격 측정이 없으며, "그냥 작동하는" RAG 경험을 제공합니다.
주요 기능
- 데스크톱 앱(Electron + React) – 폴더 탐색, 질문, 번호가 매겨진 인용이 포함된 답변 보기, 다양한 파일 형식(PDF, Office, HWP, 이미지, 비디오, 오디오) 미리보기.
- 다중 소스 검색 – Slack, Discord, Telegram, WhatsApp, Gmail, GitHub, Obsidian 및 모든 로컬 폴더.
- 하이브리드 검색 – 빠른 BM25 어휘 순위, 밀집 벡터 검색(번들된
qwen3-embedding-0.6b모델 사용) 및 리랭커(기본적으로 OpenRouter의voyageai/rerank-3-lite)를 결합합니다. - 로컬 임베딩 모델 –
qwen3-embedding-0.6b모델을 기기에서 실행합니다. 기본 인덱싱에 외부 API 키가 필요하지 않습니다. - 프라이버시 바이 디자인 – 모든 문서 파싱 및 임베딩은 로컬에서 수행됩니다. API 키는 OS 암호화 자격 증명 저장소에 저장됩니다.
- 플러그형 "데이터 소스 스킬" – 각 외부 서비스는 검색 가능한 청크를 반환하는 소형 플러그인을 통해 액세스되므로, 동일한 사서가 파일과 채팅 기록에 걸친 질문에 답변할 수 있습니다.
- 증분 CDC 인덱싱 – 내장 MinSync 구성 요소가 폴더를 모니터링하고 앱이 닫혀 있어도 BM25/벡터 청크를 지속적으로 업데이트합니다.
- 파일 이름 검색 – Windows에서는 휴대용 Everything 엔진을 번들합니다. macOS/Linux에서는
fsearch-cli를 사용하여 1초 미만의 이름 조회가 가능합니다. - CLI 및 TUI –
autorag는 초기화, 인덱싱, 상태 확인 및 검색 실행(autorag search …) 명령을 제공합니다. 대화형 TUI(autorag tui)를 사용하면 검색을 실시간으로 조정, 수정 또는 중지할 수 있습니다. - 프로그래밍 API – 모든 Node/TS 프로젝트에서
@autorag/librarian을 가져와 코드에서 동일한 검색 함수를 호출합니다.
작동 방식
- 초기화 –
autorag init는 하나 이상의 "검색 경로"를 가리키는 구성을 만들고 OCR/파싱 언어를 선택합니다. - 파싱 및 인덱싱 – 문서는
kordoc라이브러리로 파싱됩니다(Java 불필요). 선택적 OCR은 한국어/영어용 내장 PP-OCRv5 모델 또는 다른 언어용 Tesseract를 사용합니다. 파싱된 텍스트는 청크로 분할되고, BM25 용어가 저장되며, 로컬 임베딩 모델을 통해 밀집 벡터가 생성됩니다. - 검색 – 질문하면 에이전트는 2단계 프로세스를 실행합니다. (a) 활성화된 모든 방법에 걸친 빠른 어휘/의미 검색, (b) 에이전트가
cat,grep등으로 상위 순위 파일을 열어 증거를 확인하는 검증 단계. - 큐레이션 – LLM이 평이한 답변을 생성합니다. 프레임워크는 인라인 인용 마커(
[eN])를 파일 경로, 페이지 번호 또는 줄 범위를 포함하는 번호가 매겨진 참조로 대체합니다. 인용된 증거는 향후 쿼리를 위해~/.autorag/memory.json에 저장됩니다. - 에이전트 호스트 – AutoRAG는 Pi 에이전트 프레임워크 위에서 실행되며, 모델 자격 증명, 세션 지속성 및 대화형 터미널 UI를 처리합니다. AutoRAG는 검색 및 큐레이션 로직만 제공합니다.
설치
# 전역 CLI 설치(Node ≥24 또는 Bun ≥1.2)
bun install -g @autorag/librarian # 또는 npm install -g @autorag/librarian
패키지는 첫 실행 시 필요한 바이너리(Windows의 Everything, MinSync 등)를 가져옵니다.
일반적인 워크플로우
# 1️⃣ 검색 가능한 폴더 설정
autorag init --search-paths ~/Documents/research
# 2️⃣ 인덱스 구축(PDF, markdown, Office 파일 등 파싱)
autorag refresh
# 3️⃣ CLI 또는 TUI에서 질문
autorag search "Q3 클라우드 계약의 주요 변경 사항은 무엇인가요?"
# 또는
autorag tui # 그런 다음 대화형으로 쿼리 입력
답변은 다음과 같은 인용과 함께 반환됩니다.
[1] 엔터프라이즈 컴퓨팅 할인 — AWS 연간 할인 등급이 28%로 인상됨(contracts/cloud-2026.pdf:p.4)
[2] 지역 데이터 거주성 — 데이터를 서울에 고정하는 규정 준수 조항(slack/legal-ops#318)
사용 대상 – 노트북에서 개인용 "만능 검색 엔진"이 필요한 지식 근로자, 로컬 문서 이해가 필요한 AI 증강 도구를 구축하는 개발자, 또는 벡터 데이터베이스를 관리하지 않고 개인정보를 보호하는 RAG 계층을 원하는 팀.
링크
- 라이브러리:
@autorag/librarian(npm) - 데스크톱 UI 저장소: NomaDamas/AutoRAG-app
- 레거시 Python AutoRAG(여전히 유지 관리됨)는
legacy/폴더에 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트