OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  LightRAG — 结合图形结构的极速检索增强生成

LightRAG — 结合图形结构的极速检索增强生成

 
  canyon ·  2026-01-16 08:41:49 · 12 次点击  · 0 条评论  
LightRAG Logo
# 🚀 LightRAG:简单快速的检索增强生成
HKUDS%2FLightRAG | Trendshift

LightRAG Diagram


🎉 最新动态

  • [2025.11]🎯[新功能]:集成 RAGAS 用于评估Langfuse 用于追踪。更新 API 以在返回查询结果的同时返回检索到的上下文,以支持上下文精度指标。
  • [2025.10]🎯[可扩展性增强]:消除处理瓶颈,支持高效处理大规模数据集
  • [2025.09]🎯[新功能] 提升 开源大语言模型(如 Qwen3-30B-A3B)的知识图谱提取准确性。
  • [2025.08]🎯[新功能] 现已支持 重排序器,显著提升混合查询的性能(设为默认查询模式)。
  • [2025.08]🎯[新功能] 新增 文档删除 功能,并自动重新生成知识图谱以确保最佳查询性能。
  • [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 —— 一个允许您通过直观的基于 Web 的仪表板插入、查询和可视化 LightRAG 知识的界面。
  • [2024.11]🎯[新功能] 您现在可以 使用 Neo4J 进行存储 —— 启用图数据库支持。
  • [2024.10]🎯[新功能] 我们添加了 LightRAG 介绍视频 的链接。—— 一个 LightRAG 功能的演示。感谢作者的杰出贡献!
  • [2024.10]🎯[新频道] 我们创建了 Discord 频道!💬 欢迎加入我们的社区进行分享、讨论和协作!🎉🎉
  • [2024.10]🎯[新功能] LightRAG 现在支持 Ollama 模型
算法流程图 ![LightRAG 索引流程图](https://learnopencv.com/wp-content/uploads/2024/11/LightRAG-VectorDB-Json-KV-Store-Indexing-Flowchart-scaled.jpg) *图 1:LightRAG 索引流程图 - 图片说明:[来源](https://learnopencv.com/lightrag/)* ![LightRAG 检索与查询流程图](https://learnopencv.com/wp-content/uploads/2024/11/LightRAG-Querying-Flowchart-Dual-Level-Retrieval-Generation-Knowledge-Graphs-scaled.jpg) *图 2:LightRAG 检索与查询流程图 - 图片说明:[来源](https://learnopencv.com/lightrag/)*

安装

💡 使用 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,但推荐使用 uv 以获得更好的性能和更可靠的依赖管理。

📦 离线部署:对于离线或隔离环境,请参阅 离线部署指南 了解预安装所有依赖项和缓存文件的说明。

安装 LightRAG 服务器

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 ..

# 设置环境文件
# 通过从 GitHub 仓库根目录下载或从本地源码检出复制来获取 env.example 文件。
cp env.example .env  # 使用您的 LLM 和嵌入配置更新 .env 文件
# 启动服务器
lightrag-server
  • 从源码安装
git clone https://github.com/HKUDS/LightRAG.git
cd LightRAG

# 使用 uv(推荐)
# 注意:uv sync 会自动在 .venv/ 中创建虚拟环境
uv sync --extra api
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 ".[api]"

# 构建前端产物
cd lightrag_webui
bun install --frozen-lockfile
bun run build
cd ..

# 设置环境文件
cp env.example .env  # 使用您的 LLM 和嵌入配置更新 .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 和 Embedding 设置
docker compose up

LightRAG 的历史版本 Docker 镜像可以在这里找到:LightRAG Docker 镜像

安装 LightRAG 核心

  • 从源码安装(推荐)
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 和技术栈的要求

LightRAG 对大语言模型(LLM)能力的要求显著高于传统 RAG,因为它需要 LLM 从文档中执行实体-关系提取任务。配置合适的 Embedding 和 Reranker 模型对于提高查询性能也至关重要。

  • LLM 选择
  • 建议使用至少 320 亿参数的 LLM。
  • 上下文长度应至少为 32K,推荐 64K。
  • 在文档索引阶段不建议选择推理模型。
  • 在查询阶段,建议选择比索引阶段使用的模型能力更强的模型,以获得更好的查询结果。
  • Embedding 模型
  • 高性能的 Embedding 模型对 RAG 至关重要。
  • 我们推荐使用主流的多语言 Embedding 模型,例如:BAAI/bge-m3text-embedding-3-large
  • 重要提示:必须在文档索引之前确定 Embedding 模型,并且在文档查询阶段必须使用相同的模型。对于某些存储解决方案(例如 PostgreSQL),向量维度必须在初始创建表时定义。因此,当更改嵌入模型时,需要删除现有的向量相关表,并允许 LightRAG 使用新维度重新创建它们。
  • Reranker 模型配置
  • 配置 Reranker 模型可以显著提升 LightRAG 的检索性能。
  • 启用 Reranker 模型时,建议将“混合模式”设置为默认查询模式。
  • 我们推荐使用主流的 Reranker 模型,例如:BAAI/bge-reranker-v2-m3 或 Jina 等服务提供的模型。

LightRAG 服务器快速开始

LightRAG 核心快速开始

要开始使用 LightRAG 核心,请参考 examples 文件夹中提供的示例代码。此外,还提供了一个 视频演示 来指导您完成本地设置过程。如果您已经拥有 OpenAI API 密钥,可以立即运行演示:

### 您应该在项目文件夹中运行演示代码
cd LightRAG
### 提供您的 OpenAI API-KEY
export OPENAI_API_KEY="sk-...your_opeai_key..."
### 下载查尔斯·狄更斯的《圣诞颂歌》演示文档
curl https://raw.githubusercontent.com/gusye1234/nano-graphrag/main/tests/mock_data.txt > ./book.txt
### 运行演示代码
python examples/lightrag_openai_demo.py

有关流式响应实现的示例,请参阅 examples/lightrag_openai_compatible_demo.py。在执行之前,请确保相应地修改示例代码中的 LLM 和嵌入配置。

注意 1:运行演示程序时,请注意不同的测试脚本可能使用不同的嵌入模型。如果切换到不同的嵌入模型,必须清除数据目录(./dickens);否则,程序可能会遇到错误。如果您希望保留 LLM 缓存,可以在清除数据目录的同时保留 kv_store_llm_response_cache.json 文件。

注意 2:只有 lightrag_openai_demo.pylightrag_openai_compatible_demo.py 是官方支持的示例代码。其他示例文件是社区贡献,尚未经过全面测试和优化。

使用 LightRAG 核心编程

⚠️ 如果您希望将 LightRAG 集成到您的项目中,我们建议使用 LightRAG 服务器提供的 REST API。LightRAG 核心通常用于嵌入式应用程序或希望进行研究和评估的研究人员。

⚠️ 重要:初始化要求

LightRAG 在使用前需要显式初始化。 创建 LightRAG 实例后,必须调用 `await rag.initialize_storages

12 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私政策 ·  服务条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 32 ms
Developed with Cursor