복잡한 문서와 데이터에서 AI가 바로 쓸 수 있는 맥락을 만들어 주는 오픈소스 엔진
수많은 PDF, 표, 이미지 속에 흩어진 정보를 AI가 정확히 이해하고 답할 수 있도록 정리해 주는 도구입니다. RAGFlow는 단순한 검색을 넘어, 에이전트가 스스로 질문을 분석하고 필요한 정보를 찾아 검증하는 과정을 자동화합니다. 덕분에 개발자는 복잡한 데이터 전처리 코드를 직접 짜지 않고도, 신뢰할 수 있는 AI 시스템을 빠르게 구축할 수 있습니다.
1.0 버전과 함께 찾아온 에이전틱 검색
최근 RAGFlow 1.0.0-rc1이 공개되며 프로젝트의 방향성이 명확해졌습니다. 이번 업데이트에서는 '에이전틱 RAG' 기능이 도입되어, 모델이 질문을 분석하고 필요에 따라 질문을 분해한 뒤 지식을 검색하고 증거를 검증하는 다단계 검색을 수행합니다. 또한 문서와 데이터셋 수준에서 위키, 그래프, 트리, 마인드맵 등 구조화된 지식 산출물을 생성하는 '지식 컴파일' 기능도 추가되었습니다. 이러한 변화는 RAGFlow가 단순한 검색 도구를 넘어, LLM이 활용할 수 있는 컨텍스트 인프라로 진화했음을 보여줍니다.
문서 이해와 지식 구조화
RAGFlow의 핵심은 복잡한 형식의 비정형 데이터에서 깊은 문서 이해를 바탕으로 지식을 추출하는 것입니다. Word, PowerPoint, Excel, PDF, 스캔본, 이미지, 웹페이지 등 다양한 데이터 소스를 지원하며, 템플릿 기반의 청킹을 통해 지능적이고 설명 가능한 분할을 수행합니다. 특히 '지식 컴파일' 기능을 사용하면 문서 내용을 위키, 그래프, 트리, PageIndex, 마인드맵, 타임라인, 스킬 등 다양한 형태로 변환하여 재사용할 수 있습니다. 이는 단순한 텍스트 조각이 아니라, 구조화된 지식 산출물을 만들어 내어 AI의 답변 품질을 높이는 데 기여합니다.
검증 가능한 답변과 환각 감소
AI가 생성한 답변이 어디에서 왔는지 추적할 수 있도록 설계되어 있습니다. 텍스트 청킹 과정을 시각화하여 사람이 개입할 수 있게 하고, 주요 참고 문헌과 추적 가능한 인용을 제공함으로써 근거에 기반한 답변을 지원합니다. 이를 통해 환각 현상을 줄이고, 사용자가 AI의 답변을 신뢰할 수 있는 수준으로 끌어올립니다. 또한 Low, Medium, High, Ultra 등 네 가지 사고 모드를 제공하여 질문의 복잡도에 따라 검색과 추론의 깊이를 조절할 수 있습니다.
로컬 배포와 시스템 요구 사항
Docker를 이용한 배포와 소스에서 직접 실행하는 두 가지 방식을 지원합니다. Docker 배포는 빠른 평가와 통합 테스트, 프로덕션 배포에 적합하며, Go 컴파일러가 필요하지 않습니다. 권장 시작 구성은 CPU 4코어, RAM 16GB, 디스크 공간 50GB이며, 실제 요구 사항은 문서 엔진, 데이터 볼륨, 파싱 작업, 동시성 등에 따라 달라집니다. Docker 버전은 24.0.0 이상, Docker Compose는 v2.26.1 이상이어야 합니다. 소스에서 실행하려면 go.mod에 명시된 Go 버전(현재 Go 1.27), Clang 20, LLD 20, CMake 4.0 이상, PCRE2 개발 파일이 필요합니다. macOS는 현재 Docker 배포에서 지원하지 않습니다.
도입 전 확인해야 할 점
RAGFlow는 1.0 릴리스 단계에서 DeepDoc이 레이아웃 분석, OCR, 표 인식에 CPU 추론을 사용한다는 점을 유의해야 합니다. 이는 GPU 가속이 없는 환경에서의 성능을 의미하므로, 대량 문서 처리 시 처리 시간을 고려해야 합니다. 또한 Elasticsearch를 사용할 경우 Docker 호스트의 vm.max_map_count를 262144 이상으로 설정해야 하며, 이 설정은 시스템 재부팅 시 초기화되므로 /etc/sysctl.conf에 영구적으로 추가하는 것이 좋습니다. 모델 제공자 페이지에서 LLM, 임베딩, 리랭커 모델의 이름, 서비스 주소, API 키를 설정해야 하며, 이 과정이 완료되어야 서비스를 사용할 수 있습니다. 오픈소스 프로젝트이므로 커뮤니티 기여와 문서화를 통해 문제를 해결할 수 있는 능력이 있는 팀에 적합합니다.