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: 문서 파싱·처리.

데이터 흐름

  1. 사용자가 애플리케이션이나 API로 쿼리 전송
  2. Auth Service가 자격 증명 검증
  3. Orchestrator가 서비스들(RabbitMQ)을 조정
  4. 핵심 서비스(Retrieval·Ingestion·Graph Builder)가 요청 처리
  5. 서비스가 프로바이더(Embedding·LLM 등) 활용
  6. Postgres 또는 파일 저장에서 데이터를 읽거나 저장
  7. API로 결과 반환

이런 모듈형 구조 덕분에 단순한 RAG 앱부터 하이브리드 검색·GraphRAG 같은 프로덕션급 시스템까지 폭넓게 지원해요.

더 알아보기 (Learn more)

출처: R2R 공식 문서