LightRAG 소개
대규모 언어 모델(LLM, Large Language Model)을 기업 내부 문서나 전문 지식과 결합하는 방식으로 검색 증강 생성(RAG, Retrieval-Augmented Generation)이 폭넓게 사용되고 있습니다. 그러나 전통적인 RAG 방식은 문서를 청크(chunk)로 나누어 벡터 데이터베이스에 저장하고, 질의와 유사한 청크를 검색해 LLM에 전달하는 구조로, 개별 청크 간의 연결성이나 문서 전체를 관통하는 개념적 관계를 파악하기 어렵다는 한계가 있습니다. 홍콩 대학교 데이터 사이언스(HKUDS) 연구팀은 이 문제를 해결하기 위해 지식 그래프(Knowledge Graph)와 벡터 검색을 결합한 LightRAG를 개발하였으며, 해당 연구는 EMNLP 2025에 발표되었습니다.
LightRAG는 기존 RAG의 청크 검색 방식을 넘어, 문서에서 자동으로 엔티티(entity)와 관계(relation)를 추출하여 지식 그래프를 구성합니다. 이렇게 만들어진 그래프 위에서 질의(query)의 성격에 따라 로컬(local), 글로벌(global), 하이브리드(hybrid) 세 가지 검색 모드를 조합하여 응답의 완결성과 다양성을 높입니다. Microsoft의 GraphRAG와 개념적으로 유사하지만, LightRAG는 구조적 단순성과 처리 속도, 오픈소스 접근성을 강점으로 내세웁니다.
LightRAG는 PyPI에서 lightrag-hku 패키지로 제공되며, 웹 UI와 REST API를 포함한 서버 모드, 그리고 Python 라이브러리로 임베드하는 코어 모드 두 가지 방식으로 사용할 수 있습니다. PostgreSQL, MongoDB, Neo4j, OpenSearch 등 다양한 스토리지 백엔드를 지원하며, Docker를 통한 빠른 배포도 가능합니다. 또한, HKUDS 연구팀이 VideoRAG, MiniRAG, RAG-Anything 등의 연관 프로젝트를 지속적으로 개발하면서 활발한 생태계를 형성하고 있습니다.
LightRAG vs. 기존 RAG 기법 비교
| 특징 | LightRAG | 전통적 벡터 RAG | Microsoft GraphRAG |
|---|---|---|---|
| 지식 표현 | 지식 그래프 + 벡터 | 벡터 청크만 | 지식 그래프 + 커뮤니티 요약 |
| 검색 방식 | 로컬 / 글로벌 / 하이브리드 | 유사도 기반 k-NN | 멀티-홉 그래프 검색 |
| 설치 복잡도 | pip 한 줄 | pip 한 줄 | 설정 복잡 |
| 오픈소스 | |||
| 리랭커 지원 | 라이브러리 별 상이 | 일부 지원 | |
| 멀티모달 | 라이브러리 별 상이 | ||
| 스토리지 선택 | PostgreSQL/Neo4j/MongoDB/OpenSearch | 다양 | CosmosDB 등 |
NaiveRAG, RQ-RAG, HyDE, GraphRAG와의 벤치마크에서 LightRAG는 농업, 컴퓨터 과학, 법률, 혼합 데이터셋 도메인 모두에서 종합 성능 지표(포괄성·다양성·권한 부여)가 60~84% 수준으로 비교 모델들을 크게 앞섰습니다.
LightRAG의 이중 검색(Dual-Level Retrieval) 구조
LightRAG의 가장 중요한 특징은 지식 그래프 기반의 이중 검색 메커니즘입니다. 문서 인덱싱 시 LLM이 텍스트에서 엔티티와 관계를 추출하여 그래프를 구성하고, 이와 동시에 각 청크를 벡터로 저장합니다. 검색 시에는 질의의 성격에 따라 적합한 검색 전략을 선택합니다.
로컬(Local) 모드는 특정 엔티티에 대한 구체적인 정보를 찾을 때 적합합니다. 질의와 관련된 엔티티를 그래프에서 찾고, 해당 엔티티와 직접 연결된 관계와 이웃 엔티티를 중심으로 컨텍스트를 구성합니다. "A 프로젝트의 개발팀은 누구인가?"처럼 특정 노드 주변 정보를 집중적으로 필요로 하는 질의에 효과적입니다.
글로벌(Global) 모드는 문서 전체를 아우르는 광범위한 주제나 개념에 대한 질의에 사용됩니다. 그래프 전체에 걸친 연결 패턴을 탐색하여 고수준의 요약 정보를 제공합니다. "이 문서들의 공통 주제는 무엇인가?"와 같은 질의에 적합합니다.
하이브리드/믹스(Hybrid/Mix) 모드는 두 방식을 모두 결합하여 사용하며, 리랭커(reranker)를 함께 활성화했을 때 가장 높은 품질을 보입니다. 실제 업무 환경에서는 이 모드를 기본으로 사용하는 것이 권장됩니다.
LightRAG 설치 및 사용법
설치
# 웹 UI 포함 서버 모드 설치
pip install "lightrag-hku[api]"
# 또는 코어 라이브러리만 설치
pip install lightrag-hku
# uv 사용 시 (권장)
uv tool install "lightrag-hku[api]"
# Docker로 빠른 시작
git clone https://github.com/HKUDS/LightRAG.git
cd LightRAG
cp env.example .env
docker compose up
Python 3.10 이상이 필요하며, LLM으로는 최소 32B 파라미터 이상의 모델(GPT-4o, Llama 3, Qwen 등)을 권장합니다. 임베딩 모델로는 BAAI/bge-m3 또는 text-embedding-3-large가 권장됩니다.
Python API 기본 사용 예시
import os
from lightrag import LightRAG, QueryParam
from lightrag.llm.openai import openai_llm_func, openai_embed_func
os.environ["OPENAI_API_KEY"] = "your-api-key"
# LightRAG 초기화
rag = LightRAG(
working_dir="./my_rag_db",
llm_model_func=openai_llm_func,
embedding_func=openai_embed_func,
)
# 문서 삽입 (KG 자동 생성)
with open("document.txt") as f:
rag.insert(f.read())
# 여러 모드로 질의
# 로컬 검색 (특정 엔티티 중심)
result_local = rag.query(
"주요 등장인물들의 관계는 어떻게 되나요?",
param=QueryParam(mode="local")
)
# 글로벌 검색 (문서 전반 주제)
result_global = rag.query(
"이 문서들의 핵심 주제는 무엇인가요?",
param=QueryParam(mode="global")
)
# 하이브리드 검색 (가장 높은 품질, 리랭커 활성화 시)
result_hybrid = rag.query(
"주요 개념과 등장인물들이 어떻게 연결되어 있나요?",
param=QueryParam(mode="mix")
)
print(result_hybrid)
스토리지 백엔드 설정
LightRAG는 네 가지 스토리지 역할(KV 저장소, 벡터 DB, 그래프 DB, 문서 저장소)을 각각 다른 백엔드로 구성하거나 하나의 통합 솔루션으로 사용할 수 있습니다. PostgreSQL은 이 네 가지를 모두 지원하는 올인원 솔루션으로 가장 많이 사용되며, Neo4j는 지식 그래프의 시각화가 필요한 경우에 별도 그래프 DB로 조합하여 사용할 수 있습니다.
서버 모드 실행
# 설치 후 서버 시작
lightrag-server
# 또는 환경 설정 대화형 마법사
make env-base # LLM, 임베딩, 리랭커 설정
make env-storage # 스토리지 백엔드 설정
make env-server # 서버 포트 및 보안 설정
서버가 시작되면 http://localhost:9621에서 웹 UI에 접근할 수 있으며, 문서 업로드, KG 시각화, 자연어 질의를 웹 인터페이스에서 직접 수행할 수 있습니다.
라이선스
LightRAG는 MIT 라이선스로 공개되어 있어 개인 및 상업적 목적 모두에 자유롭게 사용, 수정, 배포할 수 있습니다.
LightRAG 논문 (EMNLP 2025)
LightRAG 프로젝트 GitHub 저장소
더 읽어보기
-
PageIndex: 벡터 DB와 청킹 없이 LLM 추론으로 문서를 검색하는 계층형 인덱스 기반 RAG 시스템
-
OpenHarness: Claude Code보다 44배 가벼운 Python 기반 오픈소스 AI 에이전트 하네스 프레임워크 (feat. HKUDS)
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()


