|
|
2 долоо хоног өмнө | |
|---|---|---|
| .clinerules | 3 долоо хоног өмнө | |
| .github | 3 долоо хоног өмнө | |
| README.assets | 3 долоо хоног өмнө | |
| assets | 3 долоо хоног өмнө | |
| docs | 3 долоо хоног өмнө | |
| examples | 3 долоо хоног өмнө | |
| k8s-deploy | 3 долоо хоног өмнө | |
| lightrag | 3 долоо хоног өмнө | |
| lightrag_webui | 3 долоо хоног өмнө | |
| prompts | 3 долоо хоног өмнө | |
| reproduce | 3 долоо хоног өмнө | |
| scripts | 3 долоо хоног өмнө | |
| tests | 3 долоо хоног өмнө | |
| .dockerignore | 3 долоо хоног өмнө | |
| .gitattributes | 3 долоо хоног өмнө | |
| .gitignore | 3 долоо хоног өмнө | |
| .pre-commit-config.yaml | 3 долоо хоног өмнө | |
| AGENTS.md | 3 долоо хоног өмнө | |
| CLAUDE.md | 3 долоо хоног өмнө | |
| Dockerfile | 3 долоо хоног өмнө | |
| Dockerfile.lite | 3 долоо хоног өмнө | |
| Dockerfile.postgres | 3 долоо хоног өмнө | |
| LICENSE | 3 долоо хоног өмнө | |
| MANIFEST.in | 3 долоо хоног өмнө | |
| Makefile | 3 долоо хоног өмнө | |
| README-zh.md | 3 долоо хоног өмнө | |
| README.md | 2 долоо хоног өмнө | |
| SECURITY.md | 3 долоо хоног өмнө | |
| config.ini.example | 3 долоо хоног өмнө | |
| docker-build-push.sh | 3 долоо хоног өмнө | |
| docker-compose-full.yml | 3 долоо хоног өмнө | |
| docker-compose.podman.yml | 3 долоо хоног өмнө | |
| docker-compose.yml | 3 долоо хоног өмнө | |
| env.docker-compose-full | 3 долоо хоног өмнө | |
| env.example | 3 долоо хоног өмнө | |
| lightrag.service.example | 3 долоо хоног өмнө | |
| pyproject.toml | 3 долоо хоног өмнө | |
| requirements-offline-llm.txt | 3 долоо хоног өмнө | |
| requirements-offline-storage.txt | 3 долоо хоног өмнө | |
| requirements-offline.txt | 3 долоо хоног өмнө | |
| setup.py | 3 долоо хоног өмнө | |
| uv.lock | 3 долоо хоног өмнө |
Fix(固定)、Recursive(递归)、Vector(向量)和 Paragraph(段落语义)。💡 使用 uv 进行包管理: 本项目使用 uv 进行快速可靠的 Python 包管理。首先安装 uv: curl -LsSf https://astral.sh/uv/install.sh | sh (Unix/macOS) 或 powershell -c "irm https://astral.sh/uv/install.ps1 | iex" (Windows)
注意:如果您愿意,也可以使用 pip,但为了获得更好的性能 and 更可靠的依赖管理,建议使用 uv。
📦 离线部署: 对于离线或隔离环境,请参阅离线部署指南,了解预安装所有依赖项和缓存文件的说明。
LightRAG服务器旨在提供Web UI和API支持。Web UI便于文档索引、知识图谱探索和简单的RAG查询界面。LightRAG服务器还提供兼容Ollama的接口,旨在将LightRAG模拟为Ollama聊天模型。这使得AI聊天机器人(如Open WebUI)可以轻松访问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 ..
# 配置 env 文件
# 从 GitHub 仓库的根目录上下载 env.example 文件
# 或从本地检出的源代码中获取 env.example 文件
cp env.example .env # 使用你的LLM和Embedding模型访问参数更新.env文件
# 启动API-WebUI服务
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、存储后端与各类 Provider 集成),并构建前端;不会生成 .env。
# 启动服务前请先运行 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 ..
# 配置 env 文件
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和Embedding模型访问参数更新.env文件
# modify LLM and Embedding settings in .env
docker compose up
在此获取LightRAG docker镜像历史版本: LightRAG Docker Images
由 GitHub Actions 发布到 GHCR 的官方镜像已使用 GitHub OIDC 和 Sigstore Cosign 进行签名。校验方式请参阅 docs/DockerDeployment.md。
除了手动编辑 env.example 之外,您还可以使用交互式向导生成配置好的 .env,并在需要时生成 docker-compose.final.yml:
make env-base # 必跑第一步:配置 LLM、Embedding、Reranker
make env-storage # 可选:配置存储后端和数据库服务
make env-server # 可选:配置服务端口、鉴权和 SSL
make env-base-rewrite # 可选:强制重建向导托管的 compose 服务块
make env-storage-rewrite # 可选:强制重建向导托管的 compose 服务块
make env-security-check # 可选:审计当前 .env 中的安全风险
每个目标的详细说明请参阅 docs/InteractiveSetup.md。
这些 setup 向导只负责更新配置;如需在部署前审计当前 .env 的安全风险,请额外运行
make env-security-check。
默认情况下,重新运行 setup 会保留未变化的向导托管 compose 服务块;只有在需要按模板强制重建这些托管块时,才使用
*-rewrite 目标。
从源代码安装(推荐)
cd LightRAG
# 注意: uv sync 会自动在 .venv/ 目录创建虚拟环境
uv sync
source .venv/bin/activate # 激活虚拟环境 (Linux/macOS)
# Windows 系统: .venv\Scripts\activate
# 或: pip install -e .
从PyPI安装
uv pip install lightrag-hku
# 或: pip install lightrag-hku
LightRAG对大型语言模型(LLM)的能力要求远高于传统RAG,因为它需要LLM执行文档中的实体关系抽取任务。配置合适的Embedding和Reranker模型对提高查询表现也至关重要。
LightRAG 服务器旨在提供 Web UI 和 API 支持,同时提供了全面的知识图谱可视化功能,支持各种重力布局、节点查询、子图过滤等。有关LightRAG服务器的更多信息,请参阅LightRAG服务器。
LightRAG核心功能的示例代码请参见examples目录。您还可参照视频视频完成环境配置。若已持有OpenAI API密钥,可以通过以下命令运行演示代码:
### you should run the demo code with project folder
cd LightRAG
### provide your API-KEY for OpenAI
export OPENAI_API_KEY="sk-...your_opeai_key..."
### download the demo document of "A Christmas Carol" by Charles Dickens
curl https://raw.githubusercontent.com/gusye1234/nano-graphrag/main/tests/mock_data.txt > ./book.txt
### run the demo code
python examples/lightrag_openai_demo.py
如需流式响应示例的实现代码,请参阅 examples/lightrag_openai_compatible_demo.py。运行前,请确保根据需求修改示例代码中的LLM及嵌入模型配置。
注意1:在运行demo程序的时候需要注意,不同的测试程序可能使用的是不同的embedding模型,更换不同的embeding模型的时候需要把清空数据目录(./dickens),否则层序执行会出错。如果你想保留LLM缓存,可以在清除数据目录时保留kv_store_llm_response_cache.json文件。
注意2:官方支持的示例代码仅为 lightrag_openai_demo.py 和 lightrag_openai_compatible_demo.py 两个文件。其他示例文件均为社区贡献内容,尚未经过完整测试与优化。
完整的 Core API 参考 —— 包括初始化参数、QueryParam、各 LLM/Embedding 接入示例(OpenAI、Ollama、Azure、Gemini、HuggingFace、LlamaIndex)、Rerank 注入、插入操作、实体/关系管理、删除与合并 —— 详见 docs/ProgramingWithCore.md(英文)。
⚠️ 如果您希望将LightRAG集成到您的项目中,建议您使用LightRAG Server提供的REST API。LightRAG Core通常用于嵌入式应用,或供希望进行研究与评估的学者使用。
LightRAG 提供 Token 用量追踪、知识图谱数据导出、LLM 缓存管理、Langfuse 可观测性集成和基于 RAGAS 的评估框架。详见 docs/AdvancedFeatures.md(英文)。
LightRAG Server 已内置多模态文档流水线,支持 PDF、Office 文档、图像、表格和公式。解析通过外置 MinerU 或 Docling 服务完成,多模态索引在 LightRAG 流水线内执行。详见 docs/AdvancedFeatures.md(英文)。
LightRAG 在农业、计算机科学、法律和混合等领域均显著优于 NaiveRAG、RQ-RAG、HyDE 和 GraphRAG。完整评估方法论、提示词和复现步骤详见 docs/Reproduce.md(英文)。
| 农业 | 计算机科学 | 法律 | 混合 | |||||
|---|---|---|---|---|---|---|---|---|
| NaiveRAG | LightRAG | NaiveRAG | LightRAG | NaiveRAG | LightRAG | NaiveRAG | LightRAG | |
| 全面性 | 32.4% | 67.6% | 38.4% | 61.6% | 16.4% | 83.6% | 38.8% | 61.2% |
| 多样性 | 23.6% | 76.4% | 38.0% | 62.0% | 13.6% | 86.4% | 32.4% | 67.6% |
| 赋能性 | 32.4% | 67.6% | 38.8% | 61.2% | 16.4% | 83.6% | 42.8% | 57.2% |
| 总体 | 32.4% | 67.6% | 38.8% | 61.2% | 15.2% | 84.8% | 40.0% | 60.0% |
| RQ-RAG | LightRAG | RQ-RAG | LightRAG | RQ-RAG | LightRAG | RQ-RAG | LightRAG | |
| 全面性 | 31.6% | 68.4% | 38.8% | 61.2% | 15.2% | 84.8% | 39.2% | 60.8% |
| 多样性 | 29.2% | 70.8% | 39.2% | 60.8% | 11.6% | 88.4% | 30.8% | 69.2% |
| 赋能性 | 31.6% | 68.4% | 36.4% | 63.6% | 15.2% | 84.8% | 42.4% | 57.6% |
| 总体 | 32.4% | 67.6% | 38.0% | 62.0% | 14.4% | 85.6% | 40.0% | 60.0% |
| HyDE | LightRAG | HyDE | LightRAG | HyDE | LightRAG | HyDE | LightRAG | |
| 全面性 | 26.0% | 74.0% | 41.6% | 58.4% | 26.8% | 73.2% | 40.4% | 59.6% |
| 多样性 | 24.0% | 76.0% | 38.8% | 61.2% | 20.0% | 80.0% | 32.4% | 67.6% |
| 赋能性 | 25.2% | 74.8% | 40.8% | 59.2% | 26.0% | 74.0% | 46.0% | 54.0% |
| 总体 | 24.8% | 75.2% | 41.6% | 58.4% | 26.4% | 73.6% | 42.4% | 57.6% |
| GraphRAG | LightRAG | GraphRAG | LightRAG | GraphRAG | LightRAG | GraphRAG | LightRAG | |
| 全面性 | 45.6% | 54.4% | 48.4% | 51.6% | 48.4% | 51.6% | 50.4% | 49.6% |
| 多样性 | 22.8% | 77.2% | 40.8% | 59.2% | 26.4% | 73.6% | 36.0% | 64.0% |
| 赋能性 | 41.2% | 58.8% | 45.2% | 54.8% | 43.6% | 56.4% | 50.8% | 49.2% |
| 总体 | 45.2% | 54.8% | 48.0% | 52.0% | 47.2% | 52.8% | 50.4% | 49.6% |
生态与扩展
@article{guo2024lightrag,
title={LightRAG: Simple and Fast Retrieval-Augmented Generation},
author={Zirui Guo and Lianghao Xia and Yanhua Yu and Tu Ao and Chao Huang},
year={2024},
eprint={2410.05779},
archivePrefix={arXiv},
primaryClass={cs.IR}
}