EdgeQuake: Rust로 구현한, LightRAG 알고리즘 기반의 초고속 GraphRAG 프레임워크

EdgeQuake 소개

최근 대형 언어 모델의 환각 현상을 줄이고 기업 내부 데이터에 기반한 정확한 답변을 얻기 위해 검색 증강 생성 기술이 널리 사용되고 있습니다. 하지만 단순히 문서를 일정한 크기로 나누어 벡터 데이터베이스에 저장하는 전통적인 데이터 처리 방식은 문서 내 개념 간의 관계를 파악하거나 문서 전체를 아우르는 전역적인 문맥을 이해하는 데 뚜렷한 한계를 보였습니다. 이러한 근본적인 구조적 문제를 해결하기 위해 등장한 지식 그래프 기반의 검색 증강 생성 프레임워크가 바로 EdgeQuake 프로젝트입니다. 이 기술은 대형 언어 모델을 활용하여 문서 내의 주체와 객체를 추출하고 이들 간의 상호작용을 지식 그래프로 구성함으로써, 단순한 의미 유사도 검색을 넘어 다단계 추론과 복잡한 관계망 분석을 가능하게 하는 혁신적인 아키텍처를 제안합니다.

EdgeQuake 프레임워크는 학계에서 뛰어난 성능을 입증한 LightRAG 알고리즘의 핵심 원리를 차용하면서도, 전체 시스템을 메모리 안전성과 동시성 처리에 압도적인 강점을 가진 Rust 언어로 새롭게 설계하고 구현했습니다. 기존의 파이썬 기반 지식 그래프 프레임워크들이 겪던 심각한 성능 병목 현상과 과도한 메모리 사용 문제를 제로 카피 메모리 관리 기법과 고도의 병렬 처리 파이프라인을 통해 원천적으로 해결했습니다. 그 결과 방대한 분량의 엔터프라이즈 데이터를 실시간에 가깝게 처리하면서도 하드웨어 자원 소모를 극단적으로 낮추는 데 성공하여, 개발자가 복잡한 인프라 설정 없이도 즉시 상용 서비스에 투입할 수 있는 완성도 높은 기반 기술을 제공합니다.

또한 EdgeQuake 프레임워크는 최신 인공지능 트렌드에 발맞추어 시각-언어 모델을 활용한 차세대 문서 분석 파이프라인과 다중 에이전트 연동 표준 프로토콜을 기본적으로 지원합니다. 개발자는 제공되는 다양한 언어별 소프트웨어 개발 키트와 서버 전송 이벤트 기반의 스트리밍 응용 프로그램 인터페이스를 통해 기존 인프라에 지식 그래프 능력을 손쉽게 통합할 수 있습니다. 텍스트 위주의 단순한 데이터베이스 검색을 넘어서, 시각적 정보와 복잡한 관계망 데이터를 종합적으로 분석하여 진정한 의미의 인공지능 비서를 구축하려는 소프트웨어 엔지니어들에게 최적의 해답을 제시하는 종합 플랫폼으로 자리매김하고 있습니다.

EdgeQuake vs. 일반적인 RAG 프레임워크 비교

기존의 전통적인 벡터 기반 검색 시스템은 문서를 단순한 텍스트 덩어리로 쪼개어 고차원 공간에 매핑하므로 개별 청크의 문맥적 의미는 보존하지만, 청크 사이의 구조적 관계는 데이터베이스 삽입 과정에서 완전히 소실되는 치명적인 단점을 안고 있었습니다. 예를 들어 특정 인물의 협력자가 속한 조직을 묻는 등 여러 단계의 논리적 도약이 필요한 다중 홉 질의를 수행할 때, 기존 시스템은 단일 벡터 유사도 검색에만 의존하기 때문에 파편화된 정보만을 반환하거나 아예 연관성을 찾지 못해 답변을 생성하지 못하는 경우가 잦았습니다. 더불어 문서 전체를 관통하는 주요 주제나 패턴을 묻는 전역적인 질문에 대해서도 근시안적인 유사도 매칭에 그쳐 포괄적인 통찰력을 제공하는 데 실패했습니다.

Metric EdgeQuake Traditional RAG Improvement
Entity Extraction ~2-3x more Baseline 3x
Query Latency (hybrid) < 200ms ~1000ms 5x faster
Document Processing 25s (10k tokens) ~60s 2.4x faster
Concurrent Users 1000+ ~100 10x
Memory Usage (per doc) 2MB ~8MB 4x better

반면 지식 그래프를 도입한 EdgeQuake 프레임워크는 내부 파이프라인을 통해 텍스트 내부의 엔티티와 그 관계를 능동적으로 추출하고 연결하는 거대한 지식 망을 구축하여 이러한 한계를 극복합니다. 질의가 들어오면 시스템은 벡터 공간의 유사도 검색과 지식 그래프의 노드 탐색을 동시에 수행하는 하이브리드 방식을 채택하여, 문서 전반을 관통하는 주요 주제는 물론 복잡하게 얽힌 상호작용까지 완벽하게 추론해 냅니다. 프로젝트가 공개한 실제 벤치마크 결과에 따르면, 이러한 구조적 혁신을 통해 전통적인 방식 대비 엔티티 추출량은 세 배 이상 증가했고 문서 처리 속도는 두 배 이상 빨라졌으며, 질의 응답에 걸리는 지연 시간은 오 분의 일 수준인 이백 밀리초 미만으로 단축되는 압도적인 효율성을 증명했습니다.

EdgeQuake 주요 특징: 강력한 동시성 처리와 최적화된 시스템 아키텍처

┌────────────────────────────────────────────────────────────────────────────┐
│                              EdgeQuake System                              │
└────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│  Frontend (React 19 + TypeScript)                                           │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐     │
│  │  Document    │  │    Query     │  │    Graph     │  │   Settings   │     │
│  │   Upload     │  │  Interface   │  │ Visualization│  │   Config     │     │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘     │
│         │                 │                 │                 │             │
│         └─────────────────┴─────────────────┴─────────────────┘             │
│                                    │                                        │
│                                    ▼                                        │
│  ┌────────────────────────────────────────────────────────────────────┐     │
│  │                         REST API (Axum)                            │     │
│  │  /api/v1/documents  •  /api/v1/query  •  /api/v1/graph             │     │
│  │  OpenAPI 3.0 Spec  •  SSE Streaming  •  Health Checks              │     │
│  └────────────────────────────────────────────────────────────────────┘     │
└─────────────────────────────────────────────────────────────────────────────┘
                                    │
                                    ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│  Backend (Rust - 11 Crates)                                                 │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │  edgequake-core          │  Orchestration & Pipeline                 │   │
│  │  edgequake-llm           │  OpenAI, Ollama, LM Studio, Mock          │   │
│  │  edgequake-storage       │  PostgreSQL AGE, Memory adapters          │   │
│  │  edgequake-api           │  REST API server                          │   │
│  │  edgequake-pipeline      │  Document ingestion pipeline              │   │
│  │  edgequake-query         │  Query engine (6 modes)                   │   │
│  │  edgequake-pdf           │  PDF extraction (text/vision/hybrid)      │   │
│  │  edgequake-auth          │  Authentication & authorization           │   │
│  │  edgequake-audit         │  Compliance & audit logging               │   │
│  │  edgequake-tasks         │  Background job processing                │   │
│  │  edgequake-rate-limiter  │  Rate limiting middleware                 │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                    │                                        │
│                    ┌───────────────┴───────────────┐                        │
│                    ▼                               ▼                        │
│  ┌─────────────────────────────┐   ┌──────────────────────────────────┐     │
│  │   LLM Providers             │   │   Storage Backends               │     │
│  │  • OpenAI (gpt-4.1-nano)    │   │  • PostgreSQL 15+ (AGE + vector) │     │
│  │  • Ollama (gemma3:12b)      │   │  • In-Memory (dev/testing)       │     │
│  │  • LM Studio (local models) │   │  • Graph: Property graph model   │     │
│  │  • Mock (testing, free)     │   │  • Vector: pgvector embeddings   │     │
│  │  Auto-detection via env     │   │                                  │     │
│  └─────────────────────────────┘   └──────────────────────────────────┘     │
└─────────────────────────────────────────────────────────────────────────────┘

                    Data Flow: Document → Chunks → Entities → Graph
                    Query Flow: Question → Graph Traversal → LLM → Answer

EdgeQuake 프레임워크의 아키텍처는 데이터 처리량을 극대화하기 위해 비동기 I/O 런타임인 Tokio 엔진을 최하단 기반으로 삼아 설계되었습니다. 방대한 분량의 지식 베이스를 구축할 때 대량의 문서를 읽고 언어 모델 API를 호출하며 데이터베이스에 접근하는 과정에서 필연적으로 발생하는 병목 현상을 막기 위해, 시스템은 다중 스레드를 적극적으로 활용하여 엔티티 추출과 임베딩 과정을 완벽한 병렬로 수행합니다. 메모리 계층에서는 소유권 기반의 정교한 자원 관리 기법을 적용하여 불필요한 데이터 복사를 방지함으로써, 문서 한 개를 처리하는 데 필요한 메모리 사용량을 기존 대비 사 분의 일 수준인 이 메가바이트 규모로 대폭 절감하여 동시 접속자가 천 명 이상 몰리는 극한의 환경에서도 안정적인 서비스를 보장합니다.

데이터가 보관되는 저장소 계층 또한 성능과 확장성에 철저히 맞춰져 통합되었습니다. 그래프 데이터를 처리하기 위해 별도의 무거운 솔루션을 도입하는 대신, 널리 쓰이는 관계형 데이터베이스인 PostgreSQL 기반 위에 그래프 쿼리를 네이티브하게 지원하는 확장 모듈과 고성능 벡터 검색을 지원하는 확장 모듈을 결합하여 단일 데이터베이스 환경에서 두 가지 상이한 데이터 구조를 완벽하게 제어합니다. 이러한 통합 아키텍처 덕분에 단순하고 빠른 텍스트 벡터 검색부터 그래프 노드를 깊이 있게 순회하는 하이브리드 질의에 이르기까지 총 여섯 가지의 세분화된 쿼리 모드를 제공하며, 데이터 정합성 문제 없이 복잡한 지식 기반 질의를 일관성 있게 처리하는 엔터프라이즈급 백엔드를 완성했습니다.

시각-언어 모델(VLM)을 활용한 차세대 멀티모달 문서 분석

최근 대규모 판올림을 거친 v0.4.0 버전에서는 복잡한 레이아웃이나 스캔된 이미지가 포함된 문서를 처리하는 방식을 근본적으로 혁신한 차세대 멀티모달 파이프라인이 도입되었습니다. 내부적으로 외부 의존성 라이브러리 설치 없이 즉시 동작하도록 오픈소스 문서 렌더링 엔진인 플러그인을 아예 내장하여, 기존 시스템들이 겪던 환경 설정의 번거로움과 플랫폼 호환성 문제를 완전히 제거했습니다. 이를 통해 사용자는 그 어떤 사전 설정 작업 없이도 복잡한 그래픽과 텍스트가 혼재된 파일을 즉시 서버로 전송하여 마크다운 형태로 정제된 지식 데이터를 얻을 수 있습니다.

가장 눈에 띄는 기술적 도약은 최신 시각-언어 모델을 활용한 전용 비전 모드의 도입입니다. 시스템 요청 시 특정 옵션을 활성화하면, 프레임워크는 단순히 문자를 광학적으로 인식하는 것에 그치지 않고 각 페이지를 고해상도 이미지로 변환한 뒤 멀티모달 인공지능 모델에 직접 전달하여 시각적 구조를 통째로 이해시킵니다. 이 과정을 통해 텍스트로만은 파악하기 힘든 복잡한 병합 표 구조나 다단 레이아웃, 심지어 스캔 문서에 포함된 도표의 논리적 흐름까지 인간 수준의 높은 정확도로 해석해 내며, 이후 열 가지 이상의 엄격한 사후 처리 규칙 파이프라인을 거쳐 환각 현상이나 불필요한 띄어쓰기 오류가 완벽하게 교정된 최고 품질의 엔티티 데이터를 지식 그래프로 추출합니다.

모델 컨텍스트 프로토콜 및 대화형 시각화 환경

개발자와 관리자 모두에게 친화적인 생태계를 구축하기 위해 단순한 백엔드 인터페이스를 넘어 폭넓은 상호 운용성과 풍부한 시각적 도구를 기본적으로 제공합니다. 외부의 인공지능 에이전트나 자동화 도구들이 구축된 지식 그래프에 직접 접근하고 질의할 수 있도록 최근 업계 표준으로 강력하게 자리 잡고 있는 모델 컨텍스트 프로토콜을 프레임워크 수준에서 완벽하게 지원합니다. 덕분에 코드 편집기 내장 인공지능 비서나 기업 내부의 자율형 에이전트들이 복잡한 API 연동 코드를 작성할 필요 없이, 시스템의 그래프 탐색 능력과 문서 색인 기능을 마치 자신들의 기본 기능인 것처럼 프로그래밍 방식으로 즉각 호출하고 활용할 수 있습니다.

데이터를 다루는 운영 환경의 편의성 측면에서는 최신 웹 프레임워크 기반의 반응형 프론트엔드가 함께 제공되어 복잡한 시스템 내부 구조를 투명하게 시각화합니다. 서버 전송 이벤트를 활용한 양방향 스트리밍 기술을 적용하여 인공지능이 응답을 생성하는 과정을 토큰 단위로 실시간으로 화면에 렌더링하며, 사용자가 문서를 드래그 앤 드롭으로 업로드하는 즉시 처리 진행률을 추적할 수 있도록 돕습니다. 특히 직관적인 줌 인과 팬 기능을 지원하는 대화형 네트워크 그래프 인터페이스를 탑재하여, 데이터베이스 안에 추상적으로 존재하는 노드와 엣지의 군집 형상을 관리자가 시각적으로 직접 탐험하고 특정 개념들이 어떻게 맞물려 있는지 검증할 수 있는 강력한 통찰력을 제공합니다.

핵심 활용법 및 데모: 로컬 환경 구축과 API 연동

시스템을 개발 환경이나 실무 서버에 적용하고 구동하는 과정은 프로젝트가 제공하는 통합 빌드 스크립트와 컨테이너 환경을 통해 매우 직관적이고 간결하게 이루어집니다. 저장소의 소스 코드를 로컬 환경으로 내려받은 후 준비된 단일 명령어를 실행하는 것만으로 데이터베이스 엔진과 백엔드 API 서버, 그리고 실시간 시각화 프론트엔드가 포함된 전체 기술 스택이 자동으로 구성되며 연동됩니다.

# GitHub 저장소를 복제하고 프로젝트 디렉토리로 이동합니다.
git clone https://github.com/raphaelmansuy/edgequake.git
cd edgequake

# 필요한 의존성 패키지를 설치하고 전체 인프라 스택을 개발 모드로 실행합니다.
make install
make dev

전체 시스템이 정상적으로 구동된 후에는 시스템에 분석할 문서를 주입하여 지식 그래프를 확장할 수 있습니다. 운영체제의 터미널이나 서버 응용 프로그램에서 표준화된 HTTP 요청을 전송하여 대상 문서를 업로드하면, 내부 파이프라인이 즉각적으로 가동되어 텍스트 청크 분할 및 엔티티 간 상호작용망 구축 작업이 백그라운드에서 안전하게 진행됩니다.

# 대상 파일(PDF, TXT, MD 등)을 지정하여 백엔드 서버에 업로드 요청을 전송합니다.
curl -X POST http://localhost:8080/api/v1/documents/upload \
  -F "file=@your-document.pdf"

지식 베이스 구축이 완료된 후에는 시스템의 진정한 가치인 복합 추론 질의를 수행할 수 있습니다. 데이터 요청 본문에 질의문과 함께 처리 모드를 지정하여 API를 호출하면, 시스템은 단순 벡터 유사도 검색의 한계를 넘어 지식 그래프의 논리적 연결망을 동시에 순회하며, 여러 문서에 산재된 사실들을 종합적으로 분석한 심층적인 답변을 실시간 스트리밍으로 반환합니다.

# 지식 그래프 인프라를 활용하여 문서의 주요 개념을 묻는 하이브리드 질의를 실행합니다.
curl -X POST http://localhost:8080/api/v1/query \
  -H "Content-Type: application/json" \
  -d '{ "query": "이 문서에서 다루는 주요 개념과 핵심 논리 흐름은 어떻게 되나요?", "mode": "hybrid" }'

라이선스

EdgeQuake 프로젝트는 Apache 2.0 라이선스 에 따라 누구나 자유롭게 사용, 수정, 배포할 수 있도록 공개되어 관리되고 있습니다.

:github: EdgeQuake 프로젝트 GitHub 저장소




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: