HKUDS/LightRAG

[EMNLP2025] "LightRAG: Simple and Fast Retrieval-Augmented Generation"

GitHub에서 열기 ↗ genaigptgpt-4graphragknowledge-graphlarge-language-modelsllmragretrieval-augmented-generation
37,530
GitHub 스타
5,290
포크
Python
언어
MIT
라이선스
2026.07.09
최근 푸시
2026.06.03
별표한 날

AI 분석

설치 난이도: 보통
큐레이터 노트
RAG 기반 애플리케이션을 빠르게 프로토타이핑하거나 프로덕션에 배포하려는 팀에게 적합합니다. 특히 지식 그래프와 멀티모달 처리가 필요한 경우 유용합니다.

강점

  • 간단한 API와 빠른 성능으로 RAG 시스템을 쉽게 구축할 수 있음
  • 다양한 LLM, 임베딩, 스토리지 백엔드를 지원하여 유연성이 높음
  • 지식 그래프, 리랭킹, 멀티모달 등 고급 기능을 제공

약점

  • 설치 과정이 다소 복잡하며 uv, bun 등 추가 도구가 필요함
  • 문서화가 주로 README에 집중되어 있어 상세 가이드가 부족할 수 있음

주의사항

  • API 서버를 네트워크에 노출할 때는 반드시 인증을 설정해야 함
  • 오프라인 배포 시 사전 준비가 필요함

시작 가이드

  • README의 설치 및 빠른 시작 가이드를 따라 로컬 환경에서 LightRAG를 실행해 본다
  • 제공된 예제 코드를 변형하여 자신의 데이터로 테스트한다
  • 필요한 경우 Docker Compose를 사용하여 배포를 간소화한다

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

🚀 LightRAG: 간단하고 빠른 검색 증강 생성

<div align="center"> <img src="./README.assets/b2aaf634151b4706892693ffb43d9093.png" width="800" alt="LightRAG 다이어그램"> </div>


🎉 소식

  • [2026.05]🎯[새 기능]: RagAnything을 LightRAG에 병합🎉. MinerU/Docling 서비스를 통한 멀티모달 콘텐츠 파싱 및 추출.
  • [2026.05]🎯[새 기능]: 네 가지 선택 가능한 텍스트 청킹 전략 도입: Fix, Recursive, Vector, Paragraph.
  • [2026.05]🎯[새 기능]: 역할별 LLM 구성 지원, 4개의 고유 역할: EXTRACT, QUERY, KEYWORDS, VLM, 각각 독립적인 LLM 설정.
  • [2026.03]🎯[새 기능]: OpenSearch를 통합 스토리지 백엔드로 통합, LightRAG의 네 가지 스토리지 모두에 대한 포괄적인 지원 제공.
  • [2026.03]🎯[새 기능]: 설정 마법사 도입. Docker를 통한 임베딩, 리랭킹, 스토리지 백엔드의 로컬 배포 지원.
  • [2025.11]🎯[새 기능]: 평가를 위한 RAGAS추적을 위한 Langfuse 통합. 쿼리 결과와 함께 검색된 컨텍스트를 반환하도록 API 업데이트되어 컨텍스트 정밀도 메트릭을 지원.
  • [2025.10]🎯[확장성 향상]: 대규모 데이터셋을 효율적으로 처리하기 위해 처리 병목 현상 제거.
  • [2025.09]🎯[새 기능] Qwen3-30B-A3B와 같은 오픈소스 LLM에 대한 지식 그래프 추출 정확도 향상.
  • [2025.08]🎯[새 기능] 리랭커 지원, 혼합 쿼리 성능 크게 향상 (기본 쿼리 모드로 설정).
  • [2025.08]🎯[새 기능] 문서 삭제 기능 추가, 자동 KG 재생성으로 최적의 쿼리 성능 보장.
  • [2025.06]🎯[새 릴리스] 팀에서 RAG-Anything 출시 — 텍스트, 이미지, 표, 수식을 원활하게 처리하는 올인원 멀티모달 RAG 시스템.
  • [2025.06]🎯[새 기능] LightRAG는 이제 RAG-Anything 통합을 통해 포괄적인 멀티모달 데이터 처리를 지원하여 PDF, 이미지, Office 문서, 표, 수식을 포함한 다양한 형식에서 원활한 문서 파싱 및 RAG 기능을 제공. 자세한 내용은 새로운 멀티모달 섹션을 참조.
  • [2025.03]🎯[새 기능] LightRAG는 이제 인용 기능을 지원하여 적절한 출처 표기 및 문서 추적성 향상.
  • [2025.02]🎯[새 기능] 이제 MongoDB를 통합 데이터 관리를 위한 올인원 스토리지 솔루션으로 사용 가능.
  • [2025.02]🎯[새 릴리스] 팀에서 VideoRAG 출시 — 매우 긴 컨텍스트 비디오를 이해하기 위한 RAG 시스템.
  • [2025.01]🎯[새 릴리스] 팀에서 MiniRAG 출시 — 소형 모델로 RAG를 더 간단하게.
  • [2025.01]🎯이제 PostgreSQL을 데이터 관리를 위한 올인원 스토리지 솔루션으로 사용 가능.
  • [2024.11]🎯[새 리소스] LightRAG에 대한 포괄적인 가이드가 LearnOpenCV에서 제공됩니다. — 심층 튜토리얼과 모범 사례를 살펴보세요. 블로그 작성자에게 감사드립니다!
  • [2024.11]🎯[새 기능] LightRAG WebUI 도입 — 직관적인 웹 기반 대시보드를 통해 LightRAG 지식을 삽입, 쿼리 및 시각화할 수 있는 인터페이스.
  • [2024.11]🎯[새 기능] 이제 Neo4J를 스토리지로 사용 가능 — 그래프 데이터베이스 지원.
  • [2024.10]🎯[새 기능] LightRAG 소개 비디오 링크 추가 — LightRAG 기능 개요. 작성자에게 감사드립니다!
  • [2024.10]🎯[새 채널] Discord 채널을 만들었습니다!💬 커뮤니티에 참여하여 공유, 토론 및 협업하세요! 🎉🎉

<details> <summary style="font-size: 1.4em; font-weight: bold; cursor: pointer; display: list-item;"> 알고리즘 순서도 </summary>

!LightRAG 인덱싱 순서도 그림 1: LightRAG 인덱싱 순서도 - 이미지 설명 : 출처 !LightRAG 검색 및 쿼리 순서도 그림 2: LightRAG 검색 및 쿼리 순서도 - 이미지 설명 : 출처

</details>

설치

💡 uv를 사용한 패키지 관리: 이 프로젝트는 빠르고 안정적인 Python 패키지 관리를 위해 uv를 사용합니다. 먼저 uv를 설치하세요: curl -LsSf https://astral.sh/uv/install.sh | sh (Unix/macOS) 또는 powershell -c "irm https://astral.sh/uv/install.ps1 | iex" (Windows)

참고: 원한다면 pip를 사용할 수도 있지만, uv가 더 나은 성능과 더 안정적인 의존성 관리를 제공하므로 권장됩니다.

>

📦 오프라인 배포: 오프라인 또는 폐쇄망 환경의 경우 오프라인 배포 가이드에서 모든 의존성과 캐시 파일을 사전 설치하는 방법을 확인하세요.

LightRAG 서버 설치

  • PyPI에서 설치
### uv를 사용하여 LightRAG 서버를 도구로 설치 (권장)
uv tool install "lightrag-hku[api]"

### 또는 pip 사용
# python -m venv.venv
# source.venv/bin/activate  # Windows:.venv\Scripts\activate
# pip install "lightrag-hku[api]"

### 프론트엔드 빌드
cd lightrag_webui
bun install --frozen-lockfile
bun run build
cd..

# 환경 파일 설정
# GitHub 저장소 루트에서 env.example 파일을 다운로드하거나
# 로컬 소스 체크아웃에서 복사하여 가져옵니다.
cp env.example.env  # LLM 및 임베딩 설정으로.env 업데이트
# 서버 실행. 기본적으로 모든 인터페이스(0.0.0.0)에 바인딩됩니다.
# 보안: 네트워크에 노출하기 전에.env에서 인증을 구성하거나
# (LIGHTRAG_API_KEY, 또는 TOKEN_SECRET과 함께 AUTH_ACCOUNTS), 로컬 전용 액세스를 위해 127.0.0.1에 바인딩하세요.
# 인증 없이 모든 엔드포인트가 공개됩니다.
# 참고: Ollama 호환 /api/* 경로는 클라이언트 호환성을 위해 기본적으로 열려 있습니다.
# 이 경로에도 인증을 적용하려면 WHITELIST_PATHS=/health를 설정하세요.
lightrag-server
  • 소스에서 설치
git clone https://github.com/HKUDS/LightRAG.git
cd LightRAG

# 개발 환경 부트스트랩 (권장)
make dev
source.venv/bin/activate  # 가상 환경 활성화 (Linux/macOS)
# Windows:.venv\Scripts\activate

# make dev는 테스트 도구 체인과 전체 오프라인 스택
# (API, 스토리지 백엔드, 공급자 통합)을 설치한 다음 프론트엔드를 빌드합니다.
# 서버를 시작하기 전에 make env-base를 실행하거나 env.example을.env로 복사하세요.

# uv를 사용한 동등한 수동 단계
# 참고: uv sync는 자동으로.venv/에 가상 환경을 생성합니다.
uv sync --extra test --extra offline
source.venv/bin/activate  # 가상 환경 활성화 (Linux/macOS)
# Windows:.venv\Scripts\activate

### 또는 pip와 가상 환경 사용
# python -m venv.venv
# source.venv/bin/activate  # Windows:.venv\Scripts\activate
# pip install -e ".[test,offline]"

# 프론트엔드 빌드
cd lightrag_webui
bun install --frozen-lockfile
bun run build
cd..

# 환경 파일 설정
make env-base  # 또는: cp env.example.env로 복사하고 수동으로 업데이트
# API-WebUI 서버 실행
lightrag-server
  • Docker Compose로 LightRAG 서버 실행
git clone https://github.com/HKUDS/LightRAG.git
cd LightRAG
cp env.example.env  # LLM 및 임베딩 설정으로.env 업데이트
#.env에서 LLM 및 임베딩 설정 수정
docker compose up

이전 버전의 LightRAG 도커 이미지는 여기에서 찾을 수 있습니다: LightRAG Docker Images

>

GitHub Actions에서 게시한 공식 GHCR 이미지는 GitHub OIDC를 사용하여 Sigstore Cosign으로 서명됩니다. 확인 명령은 docs/DockerDeployment.md를 참조하세요.

설정 도구로.env 파일 생성

env.example를 수동으로 편집하는 대신 대화형 설정 마법사를 사용하여 구성된 .env와 필요한 경우 docker-compose.final.yml을 생성하세요:

make setup
  • LLM 공급자 선택 (OpenAI, Ollama, Anthropic, Google, Groq, Azure OpenAI 등)
  • 임베딩 모델 공급자 선택
  • 스토리지 백엔드 선택 (로컬, Neo4J, PostgreSQL, MongoDB, OpenSearch, Milvus, Zilliz)
  • 선택적으로 리랭커 공급자 구성
  • 선택적으로 키워드 추출 공급자 구성

이 마법사는 다음을 안내합니다:

마법사가 완료되면 다음을 실행하여 서비스를 시작할 수 있습니다:

docker compose -f docker-compose.final.yml up -d

LightRAG Python 라이브러리 설치

pip install lightrag-hku

또는 소스에서:

pip install -e.

빠른 시작

API 서버 사용

API 서버가 실행 중이면 HTTP 요청을 통해 상호 작용할 수 있습니다. 다음은 Python 예제입니다:

import requests
import json

# 텍스트 문서 삽입
response = requests.post(
    "http://localhost:9621/documents/text",
    json={"text": "LightRAG은 검색 증강 생성을 위한 간단하고 빠른 프레임워크입니다."}
)
print(response.json())

# 쿼리 실행
response = requests.post(
    "http://localhost:9621/query",
    json={"query": "LightRAG이란 무엇인가요?", "mode": "hybrid"}
)
print(response.json())

Python 라이브러리 사용

import asyncio
from lightrag import LightRAG
from lightrag.llm import gpt_4o_mini_complete, gpt_4o_complete
from lightrag.embedding import OpenAIEmbedding

# 작업 디렉토리 생성
WORKING_DIR = "./lightrag_data"

# LightRAG 인스턴스 생성
rag = LightRAG(
    working_dir=WORKING_DIR,
    llm_model_func=gpt_4o_mini_complete,  # LLM 함수
    embedding_func=OpenAIEmbedding(),
)

# 텍스트 삽입
rag.insert("LightRAG은 검색 증강 생성을 위한 간단하고 빠른 프레임워크입니다.")

# 쿼리 실행
print(rag.query("LightRAG이란 무엇인가요?", param={"mode": "hybrid"}))

기능

  • 간단한 API: 최소한의 코드로 RAG 시스템 구축
  • 빠른 성능: 최적화된 검색 및 생성 파이프라인
  • 지식 그래프 통합: 엔티티 및 관계 추출을 통한 구조화된 지식 표현
  • 멀티모달 지원: 텍스트, 이미지, 표, 수식 처리 (RAG-Anything 통합)
  • 다양한 스토리지 백엔드: 로컬 파일, Neo4J, PostgreSQL, MongoDB, OpenSearch, Milvus, Zilliz 지원
  • 리랭킹: 혼합 쿼리 성능 향상을 위한 리랭커 지원
  • 문서 삭제: 문서 삭제 시 자동 지식 그래프 재생성
  • 인용: 출처 표기 및 문서 추적성 지원
  • WebUI: 직관적인 웹 인터페이스
  • 역할별 LLM 구성: EXTRACT, QUERY, KEYWORDS, VLM 역할에 대해 독립적인 LLM 설정
  • 텍스트 청킹 전략: Fix, Recursive, Vector, Paragraph 중 선택 가능
  • 오프라인 배포: 폐쇄망 환경 지원
  • Docker 지원: Docker Compose를 통한 간편한 배포

구성

LLM 공급자

  • OpenAI (GPT-4, GPT-4o, GPT-4o-mini 등)
  • Ollama (로컬 LLM)
  • Anthropic (Claude)
  • Google (Gemini)
  • Groq
  • Azure OpenAI
  • 기타 OpenAI 호환 API

LightRAG는 다양한 LLM 공급자를 지원합니다:

임베딩 모델

  • OpenAI 임베딩
  • Ollama 임베딩
  • 기타 사용자 정의 임베딩

스토리지 백엔드

  • 로컬 파일: 기본 스토리지, 추가 설정 불필요
  • Neo4J: 그래프 데이터베이스
  • PostgreSQL: 관계형 데이터베이스
  • MongoDB: 문서 데이터베이스
  • OpenSearch: 검색 엔진
  • Milvus/Zilliz: 벡터 데이터베이스

고급 사용법

역할별 LLM 구성

from lightrag import LightRAG
from lightrag.llm import gpt_4o_mini_complete, gpt_4o_complete

rag = LightRAG(
    working_dir="./lightrag_data",
    llm_model_func=gpt_4o_mini_complete,  # 기본 LLM
    extraction_llm_model_func=gpt_4o_complete,  # 추출용 LLM
    query_llm_model_func=gpt_4o_mini_complete,  # 쿼리용 LLM
    keyword_llm_model_func=gpt_4o_mini_complete,  # 키워드 추출용 LLM
)

텍스트 청킹 전략

from lightrag import LightRAG
from lightrag.base import DocProcessing

rag = LightRAG(
    working_dir="./lightrag_data",
    chunk_func=DocProcessing(
        strategy="recursive",  # "fix", "recursive", "vector", "paragraph"
        chunk_size=1024,
        overlap=200,
    ),
)

리랭커 사용

from lightrag import LightRAG
from lightrag.reranker import CrossEncoderReranker

rag = LightRAG(
    working_dir="./lightrag_data",
    reranker=CrossEncoderReranker(model_name="BAAI/bge-reranker-v2-m3"),
)

API 참조

엔드포인트

  • POST /documents/text: 텍스트 문서 삽입
  • POST /documents/file: 파일 업로드
  • POST /query: 쿼리 실행
  • DELETE /documents: 문서 삭제
  • GET /health: 상태 확인

쿼리 모드

  • naive: 기본 검색
  • local: 로컬 검색
  • global: 글로벌 검색
  • hybrid: 혼합 검색 (기본값)

라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다.

원본 저장소: HKUDS/LightRAG

라이선스: MIT

게재 제외를 원하시면 삭제 요청을 보내주세요.