문서 넣으면 30초 안에 RAG 채팅
도메인 문서를 디렉터리에 넣고 명령어 하나로 로컬 RAG + 웹 채팅이 켜집니다. 모든 처리는 Ollama 기반 로컬 실행 — 사내 문서가 밖으로 나가지 않습니다.
5분 안에 첫 채팅
저장소를 clone하고 부트스트랩 스크립트를 실행합니다. uv·의존성·Ollama·기본 Teacher 모델까지 한 번에 준비됩니다.
git clone https://github.com/DevDnA/rag-factory.git
cd rag-factory && ./setup.sh
템플릿에서 새 프로젝트 디렉터리를 만듭니다. project.yaml(설정)과 documents/(문서 투입처)가 생성됩니다.
./rf init my-project
cp /path/to/your/*.pdf my-project/documents/
문서 파싱·인덱싱이 끝나면 브라우저로 채팅이 열립니다. 두 번째 실행부터는 인덱스를 재사용해 즉시 시작.
cd my-project
../rf rag
브라우저 → http://localhost:8000
project.yaml의 parsing.formats에서 활성 확장자를 조정합니다.
왜 필요한가
범용 LLM은 우리 조직의 문서를 모릅니다. ChatGPT에 사내 규정을 물어보면 그럴듯한 거짓말을 합니다.
rag-factory는 도메인 문서를 넣으면 그 문서만으로 답변하는 RAG 채팅 서비스를 만듭니다. 모든 처리가 로컬에서 실행되어 사내 문서가 밖으로 나가지 않으며, 문서에 없는 내용은 추측하지 않고 "해당 정보 없음"이라 답합니다.
핵심 기능
하이브리드 검색 + 리랭킹
벡터 검색 + BM25 키워드를 RRF로 결합하고, 한국어 cross-encoder(dragonkue/bge-reranker-v2-m3-ko)로 재정렬합니다.
HyDE + Multi-Query
LLM 가상 답변으로 임베딩 강화(HyDE) + 질의 N개 변형 병렬 검색. 도메인 약어 많은 corpus에서 짧은 질의의 recall을 끌어올립니다.
Corpus-Aware 라우팅
인덱싱 시 LLM이 corpus의 도메인 명칭·약어를 자동 추출. 라우팅·합성에 컨텍스트로 주입되어 어떤 도메인 문서든 즉시 적응.
Agent RAG (smart_mode)
rag.agent.smart_mode: true 한 줄로 IntentClassifier(8 카테고리), Clarifier, Personas, Planner/Verifier 다단계 검색을 일괄 활성화.
OpenAI 호환 API
/v1/chat/completions, /v1/models 제공 — OpenWebUI·LangChain·LlamaIndex 등과 바로 연동.
opencode-ai 스타일 추론 UI
tool-call 카드 + 상태 아이콘(⏵/✓/✗)으로 RAG 에이전트의 다단계 검색 과정을 시각화. monospace 헤더, indented observation.
rf tune)은 소규모 도메인 데이터(< 100 QA)에서 거의 100% 과적합합니다.
평소엔 rf rag만 쓰셔도 도메인 답변의 대부분이 해결됩니다. 그래도 시도하실 분은 CLI 레퍼런스의 advanced 섹션을 참조하세요.
이어서 볼 문서
시스템 요구사항
- Python 3.11+
- Ollama — ollama.com (Teacher LLM 백엔드)
- GPU — NVIDIA CUDA (8GB+) 또는 Apple Silicon (MPS) 권장. CPU 폴백 가능(느림).
- 메모리 — 24GB 통합 메모리 기준
qwen3.5:9b단일 모델 안정. 16GB 이하는 모든 모델 슬롯qwen3.5:4b로 다운그레이드.