facts

AWS Bedrock, Neptune, OpenSearch, S3를 결합한 단일 스택에서 Microsoft GraphRAG와 HKUDS LightRAG를 동시에 사용할 수 있는 `unified-kg-rag-on-aws`가 공개됐다. 기존의 지식 그래프 RAG 구현체들이 색인(Indexing) 단계에서 특정 방법론을 선택하도록 강제했던 것과 달리, 이 스택은 동일한 그래프 색인 결과 위에서 쿼리 시점에 검색 전략을 교체할 수 있는 구조를 가진다.

제공되는 오픈소스 저장소(https://github.com/awslabs/unified-kg-rag-on-aws)를 통해 인프라 구축부터 데이터 주입, 쿼리 실행까지의 파이프라인을 사용할 수 있다. 인프라 구성은 `iac/` 디렉토리 내의 AWS CDK(Cloud Development Kit) 앱으로 자동화되어 있으며, LLM 오케스트레이션은 Bedrock이, 그래프 데이터 관리는 Neptune이, 벡터 검색은 OpenSearch가 담당한다.

how-it-works

색인 시점의 처리 방식에서 두 방법론은 상반된 전략을 취한다. GraphRAG는 색인 단계에서 미리 커뮤니티 요약(Community Summary)을 생성해 저장함으로써 쿼리 시점의 연산 비용을 낮추는 방식이다. 반면 LightRAG는 색인 과정을 가볍게 유지하는 대신, 쿼리 시점에 두 개의 키워드 층을 통해 검색을 수행해 응답을 생성한다. 이번 통합 스택은 이 두 가지 서로 다른 처리 경로를 하나의 그래프 데이터베이스 위에서 구현해 `--search-strategy` 옵션만으로 전환 가능하게 만들었다.

재구현된 모델의 정밀도는 MuSiQue와 2WikiMultihopQA 데이터셋(각 100문항, 3회 반복 측정)을 통해 검증됐다. LightRAG의 세 가지 모드는 원본 프로젝트와 통계적으로 유의미한 차이가 없는 것으로 나타났다. 다만 GraphRAG local 구현체의 경우, 원본보다 token-F1 지표가 0.11 높게 측정됐다. 이는 컨텍스트 구성 방식의 차이에서 기인한다. 원본은 그래프의 엔터티 설명만으로 컨텍스트를 채우지만, 이번 구현체는 원문 문단을 함께 LLM에 전달한다. 그 결과 정답 근거 문단이 상위 5개 내에 포함되는 비율이 원본의 47%에서 80%로 상승했다.

implementation-impact

개발 환경 구축은 `uv` 패키지 매니저를 통해 수행하며, 설정 파일(`config.yaml`)에 Bedrock, Neptune, OpenSearch, S3의 엔드포인트와 권한 설정을 입력해야 한다. 실제 실행 명령어는 다음과 같다.

bash
git clone https://github.com/awslabs/unified-kg-rag-on-aws.git && cd unified-kg-rag-on-aws
uv sync --extra dev
cp config-template.yaml config.yaml
run-ingestion --source-directory ./source

쿼리 실행 시에는 목적에 따라 `--search-strategy`를 `global` 또는 `mix`로 지정해 두 방법론의 결과값을 비교할 수 있다.

bash
run-rag --query "코퍼스 전반의 주요 리스크를 요약해줘" --search-strategy global
run-rag --query "배상 한도와 관련된 엔터티는?" --search-strategy mix

실무자는 코퍼스의 특성을 미리 알 수 없는 경우, 단일 색인 후 `global`(GraphRAG 방식)과 `mix`(LightRAG 방식) 전략을 교차 검증하여 쿼리 비용과 정답률 사이의 최적점을 판단해야 한다.