R2R 시스템 아키텍처 — 모듈 구성
R2R 시스템 아키텍처 — 모듈 구성
R2R은 확장성과 유연성을 위해 설계된 모듈형 서비스 지향 아키텍처예요. 여러 계층이 함께 동작해 고급 RAG 기능을 제공해요.
시스템 개요
API 계층
RESTful API가 들어오는 요청을 처리해요.
핵심 서비스 (Core Services)
- Auth Service: 사용자 인증·권한 부여 관리.
- Retrieval Service: 검색과 RAG 연산 처리.
- Ingestion Service: 문서 처리·저장.
- Graph Builder Service: 지식 그래프 생성·관리.
- App Management Service: 애플리케이션 수준 연산 처리.
오케스트레이션
메시지 큐로 RabbitMQ를 사용해 복잡한 워크플로와 장기 실행 작업을 관리하고, 백그라운드 작업 처리를 보장해요.
저장 계층
- Postgres + pgvector: 벡터 저장, 전체 텍스트 검색, 관계형 데이터.
- 파일 저장: S3 또는 Postgres로 문서·미디어 파일 관리.
프로바이더 (교체 가능한 구성 요소)
- Embedding Provider: 텍스트→벡터 변환.
- LLM Provider: 언어 모델 상호작용 관리.
- Auth Provider: 커스터마이즈 가능한 인증 방법.
- Ingestion Provider: 문서 파싱·처리.
데이터 흐름
- 사용자가 애플리케이션이나 API로 쿼리 전송
- Auth Service가 자격 증명 검증
- Orchestrator가 서비스들(RabbitMQ)을 조정
- 핵심 서비스(Retrieval·Ingestion·Graph Builder)가 요청 처리
- 서비스가 프로바이더(Embedding·LLM 등) 활용
- Postgres 또는 파일 저장에서 데이터를 읽거나 저장
- API로 결과 반환
이런 모듈형 구조 덕분에 단순한 RAG 앱부터 하이브리드 검색·GraphRAG 같은 프로덕션급 시스템까지 폭넓게 지원해요.
더 알아보기 (Learn more)
출처: R2R 공식 문서