简介
LightRAG 是一个旨在实现简单、快速检索增强生成(RAG)的框架。它通过从文档中构建知识图谱来增强传统的 RAG,能够更深入、更具上下文感知地理解源材料。相比简单的基于关键词的检索,LightRAG 实现了一种利用广泛上下文和具体细节的双层检索范式。
技术栈要求
要运行 LightRAG,建议配置以下组件:
-
大型语言模型 (LLM)
- 参数:建议使用至少 320 亿参数的模型。
- 上下文长度:至少需要 32KB;建议使用 64KB 以获得最佳性能。
- 能力:索引阶段避免使用主要专注于推理的模型;查询阶段建议使用更强大的模型。
-
Embedding 模型
- 推荐:BAAI/bge-m3 或 text-embedding-3-large。
- 注意:文档索引和查询必须使用相同的 Embedding 模型。如果更换模型,需清除现有向量数据以重新生成维度。
-
重排序器模型 (Reranker)
- 集成 Reranker 可显著提高检索性能,特别是在'mix'查询模式下。
- 推荐:BAAI/bge-reranker-v2-m3 或 Jina 等商业产品。
- 机制:通过 Cross-Encoder 输出语义相关性评分(0-1),对文档降序排列,过滤冗余信息。
环境部署
我们使用 Python 3.10.5 配合 PyCharm 进行开发,操作系统为 Windows 11。
1. 安装 Bun
首先配置 Python 环境,打开源代码目录,在终端执行 PowerShell 命令安装 Bun:
powershell -c "irm bun.sh/install.ps1|iex"
2. 安装服务并启动
依次安装依赖并构建前端代码:
pip install "lightrag-hku[api]"
pip install lightrag-hku
cd lightrag_webui
bun install --frozen-lockfile
bun run build
cd ..
# 复制环境变量模板
cp env.example .env
# 修改.env 文件配置 LLM 和 Embedding 参数后启动
lightrag-server
.env 配置示例
在 .env 文件中设置模型访问参数,例如使用阿里云通义千问和文本嵌入模型:
### LLM Configuration
LLM_BINDING=openai
LLM_MODEL=qwen3-max
LLM_BINDING_HOST=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_BINDING_API_KEY=sk-XXXXXXXXXXXXXXX
### Embedding Configuration
EMBEDDING_BINDING=openai
EMBEDDING_MODEL=text-embedding-v1
EMBEDDING_DIM=
=https://dashscope.aliyuncs.com/compatible-mode/v1
=sk-XXXXXXXXXXXXXXX


