ApeRAG 소개
ApeRAG는 단순히 연구용이나 데모 수준을 넘어, 기업 환경에서 곧바로 활용 가능한 RAG(Retrieval-Augmented Generation) 플랫폼을 목표로 개발된 오픈소스 프로젝트입니다. 기존 RAG 시스템이 주로 벡터 검색(Vector Search)에 의존하는 것과 달리, ApeRAG는 그래프 기반 검색(Graph RAG), 벡터 검색, 풀텍스트 검색(Full-text Search) 을 결합하여 보다 풍부하고 정교한 문서 검색 및 지식 탐색 기능을 제공합니다. 특히, Knowledge Graph 생성 및 관리, Context Engineering, 자율적인 AI 에이전트 배포 기능까지 내장되어 있어, 대규모 데이터셋이나 엔터프라이즈 환경에서 강력한 지식 검색 및 질의응답 시스템을 구축할 수 있습니다.
ApeRAG 프로젝트는 단순히 RAG를 구현하는 수준을 넘어, 지식 그래프(Knowledge Graph) 생성, 컨텍스트 엔지니어링(Context Engineering), 그리고 자율적으로 탐색하고 추론하는 AI 에이전트 배포까지 지원합니다. 따라서 대규모 문서 집합이나 기업 내부 데이터베이스를 기반으로, 보다 정교한 검색·질의응답 시스템을 구축하고자 하는 기업 및 개발자들에게 매우 유용합니다.
여기에 AI 에이전트와 멀티모달 문서 처리, 엔터프라이즈급 관리 기능을 통합하여, 복잡한 AI 기반 지식 관리 시스템을 직접 구축하고 운영할 수 있는 환경을 제공합니다. 즉, 텍스트뿐만 아니라 이미지·표·수식 등 멀티모달 문서 처리까지 지원하여 복잡한 문서 구조를 처리하는데 최적화되어 있습니다.
ApeRAG 홈페이지)에서도 강조하고 있듯, ApeRAG는 “Production-Ready RAG Platform with Graph, Vector & Full-Text Search”라는 목표를 전면에 내세우며, 실제 운영 환경에서 확장성과 안정성을 제공하는 플랫폼으로 자리매김하고 있습니다. 특히, Kubernetes 및 Docker 기반 배포 옵션을 지원하여 클라우드 환경에서도 손쉽게 확장 가능한 구조를 제공합니다.
ApeRAG의 주요 기능
-
고급 색인(Index) 지원: ApeRAG는 단일 검색 방식에 국한되지 않고, 벡터, 풀텍스트, 그래프, 요약(Summary), 비전(Vision) 총 5가지 색인을 지원합니다. 이를 통해 문서를 다차원적으로 이해하고 검색할 수 있습니다.
-
지능형 AI 에이전트: MCP(Model Context Protocol)를 지원하는 내장 AI 에이전트를 제공하여, 컬렉션 자동 식별, 지능적 검색, 웹 검색까지 포함한 종합적 질의응답을 지원합니다.
-
그래프 RAG 및 엔티티 정규화: 기존의 LightRAG를 확장하여 엔티티 병합(Entity Merging) 을 지원, 지식 그래프를 더욱 깔끔하게 유지하며 관계 이해도를 높입니다.
-
멀티모달 문서 처리: 텍스트뿐 아니라 이미지, 차트 등 시각 자료를 함께 분석할 수 있으며, MinerU 기반 문서 파싱 서비스와 GPU 가속 기능을 통해 복잡한 과학 문서, 표, 수식을 정확히 처리할 수 있습니다.
-
하이브리드 검색 엔진: 벡터 검색, 풀텍스트 검색, 그래프 검색, 요약 기반 검색, 비전 기반 검색을 혼합하여 더 풍부하고 정확한 결과를 제공합니다.
-
엔터프라이즈급 배포 및 관리: Helm Chart 및 KubeBlocks 기반의 Kubernetes 배포를 지원하여, PostgreSQL, Redis, Qdrant, Elasticsearch, Neo4j 등 다양한 데이터베이스와 연동 가능합니다. 또한 감사 로그, 모델 관리, 문서 관리 UI, 그래프 시각화 등 관리 기능도 내장되어 있습니다.
-
개발자 친화적 환경: 백엔드는 FastAPI, 프런트엔드는 React, 비동기 작업은 Celery를 기반으로 구성되어 있으며, 테스트 및 에이전트 개발을 위한 풍부한 가이드도 포함되어 있습니다.
ApeRAG 아키텍처
ApeRAG의 아키텍처는 백엔드(FastAPI) – 프론트엔드(React) – 데이터베이스 계층으로 구성되어 있으며, 대규모 환경에서는 Kubernetes 위에서 확장 가능한 구조를 갖습니다.
프론트엔드(Frontend)
- React 기반 웹 UI
- 사용자 친화적인 문서 관리, 그래프 시각화, AI 에이전트 실행 인터페이스 제공
- API와 직접 통신하여 질의응답, 문서 업로드, 검색 결과 확인 가능
백엔드(Backend)
- FastAPI 기반 REST API 서버
- Celery 기반 비동기 작업 처리
- MCP(Model Context Protocol) 지원으로 외부 AI 어시스턴트 및 에이전트와 연동 가능
- 문서 파싱, 색인(Indexing), 검색, 지식 그래프 생성 및 질의응답 수행
데이터베이스 계층
ApeRAG는 하이브리드 검색을 위해 다양한 데이터베이스를 통합적으로 활용합니다:
- PostgreSQL: 메타데이터 저장
- Redis: 캐싱 및 세션 관리
- Qdrant: 벡터 검색(Embedding 기반)
- Elasticsearch : 풀텍스트 검색
- Neo4j(옵션): 지식 그래프 저장 및 그래프 쿼리
이 구조 덕분에 단일 방식의 검색에 의존하지 않고, 벡터 + 그래프 + 텍스트를 혼합한 강력한 검색 결과를 제공합니다.
ApeRAG 설치 방법
ApeRAG는 개발 환경과 운영 환경에 따라 Docker Compose와 Kubernetes(Helm Chart) 두 가지 방식으로 설치할 수 있습니다.
Docker Compose를 이용한 로컬 설치
가장 간단하게 ApeRAG를 실행하는 방법은 Docker Compose를 활용하는 것입니다.
git clone https://github.com/apecloud/ApeRAG.git
cd ApeRAG
cp envs/env.template .env
docker-compose up -d --pull always
실행 후, 다음 주소에서 서비스에 접근할 수 있습니다:
- Web UI: http://localhost:3000/web/
- API 문서: http://localhost:8000/docs
추가적으로 고급 문서 파싱 기능을 활성화하려면 MinerU 기반의 doc-ray 서비스를 실행할 수 있습니다:
# CPU 기반 문서 파싱
make compose-up WITH_DOCRAY=1
# GPU 가속 문서 파싱
make compose-up WITH_DOCRAY=1 WITH_GPU=1
Kubernetes 기반 설치(프로덕션 환경 권장)
운영 환경에서는 Kubernetes 배포가 권장됩니다. ApeRAG는 Helm Chart와 KubeBlocks를 이용하여 데이터베이스 및 애플리케이션을 손쉽게 배포할 수 있습니다. Helm Chart를 이용하면 데이터베이스(PostgreSQL, Redis, Qdrant, Elasticsearch)와 ApeRAG 애플리케이션을 손쉽게 배포할 수 있으며, 필요 시 Ingress 설정을 통해 외부 접근도 가능합니다.
-
데이터베이스 설치(PostgreSQL, Redis, Qdrant, Elasticsearch)
cd deploy/databases/ bash ./01-prepare.sh # KubeBlocks 설치 bash ./02-install-database.sh # DB 배포
-
ApeRAG 애플리케이션 배포
helm install aperag ./deploy/aperag --namespace default --create-namespace
-
서비스 접근
kubectl port-forward svc/aperag-frontend 3000:3000 -n default kubectl port-forward svc/aperag-api 8000:8000 -n default
이후 브라우저에서 다음 주소를 이용합니다:
- Web UI: http://localhost:3000
- API 문서: http://localhost:8000/docs
Kubernetes 기반 배포는 고가용성(HA)과 확장성(Scalability)을 동시에 보장하며, 실제 기업 환경에 적합한 관리 기능을 제공합니다.
라이선스
ApeRAG 프로젝트는 Apache License 2.0으로 공개 및 배포되고 있습니다. 상업적 사용에도 제약이 없으나, 소스 코드 변경 시 라이선스 조건을 준수해야 합니다.
ApeRAG 공식 홈페이지
ApeRAG 프로젝트 GitHub 저장소
ApeRAG 프로젝트 공식 문서
더 읽어보기
-
Cloudflare-RAG, Cloudflare의 AI Workers 및 D1 등의 서비스를 활용한 RAG 애플리케이션
-
CAG(Cache-Augmented Generation): LLM의 Long Context를 활용한 RAG 대체 기법에 대한 연구
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~