Merge branch 'main' into add-Memgraph-graph-db
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- README-zh.md +4 -0
- README.md +4 -0
- env.example +6 -7
- lightrag/api/README-zh.md +43 -39
- lightrag/api/README.md +44 -38
- lightrag/api/__init__.py +1 -1
- lightrag/api/config.py +3 -0
- lightrag/api/lightrag_server.py +3 -1
- lightrag/api/utils_api.py +18 -6
- lightrag/api/webui/assets/{_basePickBy-BSdLglB8.js → _basePickBy-BVZSZRdU.js} +0 -0
- lightrag/api/webui/assets/{_baseUniq-UvGlUd6J.js → _baseUniq-CoKY6BVy.js} +0 -0
- lightrag/api/webui/assets/{architectureDiagram-IEHRJDOE-BniHOq-e.js → architectureDiagram-IEHRJDOE-vef8RqWB.js} +0 -0
- lightrag/api/webui/assets/{blockDiagram-JOT3LUYC-DIN2mi-0.js → blockDiagram-JOT3LUYC-CbrB0eRz.js} +0 -0
- lightrag/api/webui/assets/{c4Diagram-VJAJSXHY-BJN20C_B.js → c4Diagram-VJAJSXHY-1eEG1RbS.js} +0 -0
- lightrag/api/webui/assets/{chunk-4BMEZGHF-B1TxGISA.js → chunk-4BMEZGHF-BqribV_z.js} +0 -0
- lightrag/api/webui/assets/{chunk-A2AXSNBT-9BBpDWtu.js → chunk-A2AXSNBT-79sAOFxS.js} +0 -0
- lightrag/api/webui/assets/{chunk-AEK57VVT-CXtM_4Od.js → chunk-AEK57VVT-C_8ebDHI.js} +0 -0
- lightrag/api/webui/assets/{chunk-D6G4REZN-CxUcE0YF.js → chunk-D6G4REZN-DYSFhgH1.js} +0 -0
- lightrag/api/webui/assets/{chunk-RZ5BOZE2-Du3GUvfy.js → chunk-RZ5BOZE2-PbmQbmec.js} +0 -0
- lightrag/api/webui/assets/{chunk-XZIHB7SX-HOIwmCiB.js → chunk-XZIHB7SX-UCc0agNy.js} +0 -0
- lightrag/api/webui/assets/{classDiagram-GIVACNV2-f9sRw-GR.js → classDiagram-GIVACNV2-CtQONuGk.js} +0 -0
- lightrag/api/webui/assets/{classDiagram-v2-COTLJTTW-f9sRw-GR.js → classDiagram-v2-COTLJTTW-CtQONuGk.js} +0 -0
- lightrag/api/webui/assets/{clone-JfI4KmSh.js → clone-UTZGcTvC.js} +0 -0
- lightrag/api/webui/assets/{dagre-OKDRZEBW-BfLyJCXh.js → dagre-OKDRZEBW-B2QKcgt1.js} +0 -0
- lightrag/api/webui/assets/{diagram-SSKATNLV-BPBm_HA_.js → diagram-SSKATNLV-C9gAoCDH.js} +0 -0
- lightrag/api/webui/assets/{diagram-VNBRO52H-B3H-hAHN.js → diagram-VNBRO52H-YHo3tP1S.js} +0 -0
- lightrag/api/webui/assets/{erDiagram-Q7BY3M3F-B0M4Dgpb.js → erDiagram-Q7BY3M3F-BZdHFlc9.js} +0 -0
- lightrag/api/webui/assets/{feature-documents-DYAipKCP.js → feature-documents-CSExwz2a.js} +0 -0
- lightrag/api/webui/assets/{feature-graph-yCDRht5b.js → feature-graph-D-mwOi0p.js} +0 -0
- lightrag/api/webui/assets/{feature-retrieval-DRE_iZah.js → feature-retrieval-BhEQ7fz5.js} +0 -0
- lightrag/api/webui/assets/{flowDiagram-4HSFHLVR-0O9i7rCc.js → flowDiagram-4HSFHLVR-Cyoqee_Z.js} +0 -0
- lightrag/api/webui/assets/{ganttDiagram-APWFNJXF-r6T2Qk9A.js → ganttDiagram-APWFNJXF-8xxuNmi-.js} +0 -0
- lightrag/api/webui/assets/{gitGraphDiagram-7IBYFJ6S-Bu88rIEh.js → gitGraphDiagram-7IBYFJ6S-C00chpNw.js} +0 -0
- lightrag/api/webui/assets/{graph-BA-Xpc80.js → graph-gg_UPtwE.js} +0 -0
- lightrag/api/webui/assets/{index-BlAjHenV.js → index-CZQXgxUO.js} +0 -0
- lightrag/api/webui/assets/{infoDiagram-PH2N3AL5-Ccvh5jh9.js → infoDiagram-PH2N3AL5-DKUJQA1J.js} +0 -0
- lightrag/api/webui/assets/{journeyDiagram-U35MCT3I-Bjko5wAq.js → journeyDiagram-U35MCT3I-C9ZzbUpH.js} +0 -0
- lightrag/api/webui/assets/{kanban-definition-NDS4AKOZ-CI4n-C9D.js → kanban-definition-NDS4AKOZ-BMGhZtt7.js} +0 -0
- lightrag/api/webui/assets/{layout-DVOtj2IM.js → layout-DgVd6nly.js} +0 -0
- lightrag/api/webui/assets/{mermaid-vendor-DnUYjsdS.js → mermaid-vendor-BVBgFwCv.js} +0 -0
- lightrag/api/webui/assets/{mindmap-definition-ALO5MXBD-C4YiM3o9.js → mindmap-definition-ALO5MXBD-Dy7fqjSb.js} +0 -0
- lightrag/api/webui/assets/{pieDiagram-IB7DONF6-Riizpkaf.js → pieDiagram-IB7DONF6-DDY8pHxZ.js} +0 -0
- lightrag/api/webui/assets/{quadrantDiagram-7GDLP6J5-CzGAtLV_.js → quadrantDiagram-7GDLP6J5-9aLJ3TJw.js} +0 -0
- lightrag/api/webui/assets/{radar-MK3ICKWK-CpuAiCbQ.js → radar-MK3ICKWK-B0N6XiM2.js} +0 -0
- lightrag/api/webui/assets/{requirementDiagram-KVF5MWMF-CgGQX3wU.js → requirementDiagram-KVF5MWMF-DqX-DNvM.js} +0 -0
- lightrag/api/webui/assets/{sankeyDiagram-QLVOVGJD-DqnzGw22.js → sankeyDiagram-QLVOVGJD-BrbjIPio.js} +0 -0
- lightrag/api/webui/assets/{sequenceDiagram-X6HHIX6F-YUSWxee1.js → sequenceDiagram-X6HHIX6F-wqcg8nnG.js} +0 -0
- lightrag/api/webui/assets/{stateDiagram-DGXRK772-DZnU_4RL.js → stateDiagram-DGXRK772-CGL2vL66.js} +0 -0
- lightrag/api/webui/assets/{stateDiagram-v2-YXO3MK2T-ZS0tnvcs.js → stateDiagram-v2-YXO3MK2T-DIpE_gWh.js} +0 -0
- lightrag/api/webui/assets/{timeline-definition-BDJGKUSR-Cl68_gMM.js → timeline-definition-BDJGKUSR-CwuNSBuu.js} +0 -0
README-zh.md
CHANGED
@@ -90,6 +90,8 @@ LightRAG服务器旨在提供Web UI和API支持。Web UI便于文档索引、知
|
|
90 |
|
91 |
```bash
|
92 |
pip install "lightrag-hku[api]"
|
|
|
|
|
93 |
```
|
94 |
|
95 |
* 从源代码安装
|
@@ -100,6 +102,8 @@ cd LightRAG
|
|
100 |
# 如有必要,创建Python虚拟环境
|
101 |
# 以可编辑模式安装并支持API
|
102 |
pip install -e ".[api]"
|
|
|
|
|
103 |
```
|
104 |
|
105 |
* 使用 Docker Compose 启动 LightRAG 服务器
|
|
|
90 |
|
91 |
```bash
|
92 |
pip install "lightrag-hku[api]"
|
93 |
+
cp env.example .env
|
94 |
+
lightrag-server
|
95 |
```
|
96 |
|
97 |
* 从源代码安装
|
|
|
102 |
# 如有必要,创建Python虚拟环境
|
103 |
# 以可编辑模式安装并支持API
|
104 |
pip install -e ".[api]"
|
105 |
+
cp env.example .env
|
106 |
+
lightrag-server
|
107 |
```
|
108 |
|
109 |
* 使用 Docker Compose 启动 LightRAG 服务器
|
README.md
CHANGED
@@ -89,6 +89,8 @@ The LightRAG Server is designed to provide Web UI and API support. The Web UI fa
|
|
89 |
|
90 |
```bash
|
91 |
pip install "lightrag-hku[api]"
|
|
|
|
|
92 |
```
|
93 |
|
94 |
* Installation from Source
|
@@ -99,6 +101,8 @@ cd LightRAG
|
|
99 |
# create a Python virtual enviroment if neccesary
|
100 |
# Install in editable mode with API support
|
101 |
pip install -e ".[api]"
|
|
|
|
|
102 |
```
|
103 |
|
104 |
* Launching the LightRAG Server with Docker Compose
|
|
|
89 |
|
90 |
```bash
|
91 |
pip install "lightrag-hku[api]"
|
92 |
+
cp env.example .env
|
93 |
+
lightrag-server
|
94 |
```
|
95 |
|
96 |
* Installation from Source
|
|
|
101 |
# create a Python virtual enviroment if neccesary
|
102 |
# Install in editable mode with API support
|
103 |
pip install -e ".[api]"
|
104 |
+
cp env.example .env
|
105 |
+
lightrag-server
|
106 |
```
|
107 |
|
108 |
* Launching the LightRAG Server with Docker Compose
|
env.example
CHANGED
@@ -1,6 +1,5 @@
|
|
1 |
### This is sample file of .env
|
2 |
|
3 |
-
|
4 |
### Server Configuration
|
5 |
HOST=0.0.0.0
|
6 |
PORT=9621
|
@@ -51,7 +50,7 @@ OLLAMA_EMULATING_MODEL_TAG=latest
|
|
51 |
# MAX_TOKEN_RELATION_DESC=4000
|
52 |
# MAX_TOKEN_ENTITY_DESC=4000
|
53 |
|
54 |
-
### Entity and
|
55 |
### Language: English, Chinese, French, German ...
|
56 |
SUMMARY_LANGUAGE=English
|
57 |
### Number of duplicated entities/edges to trigger LLM re-summary on merge ( at least 3 is recommented)
|
@@ -111,7 +110,7 @@ EMBEDDING_BINDING_HOST=http://localhost:11434
|
|
111 |
###########################
|
112 |
### Data storage selection
|
113 |
###########################
|
114 |
-
### In-memory database with
|
115 |
# LIGHTRAG_KV_STORAGE=JsonKVStorage
|
116 |
# LIGHTRAG_DOC_STATUS_STORAGE=JsonDocStatusStorage
|
117 |
# LIGHTRAG_GRAPH_STORAGE=NetworkXStorage
|
@@ -122,18 +121,18 @@ EMBEDDING_BINDING_HOST=http://localhost:11434
|
|
122 |
# LIGHTRAG_DOC_STATUS_STORAGE=PGDocStatusStorage
|
123 |
# LIGHTRAG_GRAPH_STORAGE=PGGraphStorage
|
124 |
# LIGHTRAG_VECTOR_STORAGE=PGVectorStorage
|
125 |
-
### MongoDB (
|
126 |
# LIGHTRAG_KV_STORAGE=MongoKVStorage
|
127 |
# LIGHTRAG_DOC_STATUS_STORAGE=MongoDocStatusStorage
|
128 |
# LIGHTRAG_GRAPH_STORAGE=MongoGraphStorage
|
129 |
# LIGHTRAG_VECTOR_STORAGE=MongoVectorDBStorage
|
130 |
-
### Redis Storage (
|
131 |
# LIGHTRAG_KV_STORAGE=RedisKVStorage
|
132 |
# LIGHTRAG_DOC_STATUS_STORAGE=RedisDocStatusStorage
|
133 |
-
### Vector Storage (
|
134 |
# LIGHTRAG_VECTOR_STORAGE=MilvusVectorDBStorage
|
135 |
# LIGHTRAG_VECTOR_STORAGE=QdrantVectorDBStorage
|
136 |
-
### Graph Storage (
|
137 |
# LIGHTRAG_GRAPH_STORAGE=Neo4JStorage
|
138 |
|
139 |
####################################################################
|
|
|
1 |
### This is sample file of .env
|
2 |
|
|
|
3 |
### Server Configuration
|
4 |
HOST=0.0.0.0
|
5 |
PORT=9621
|
|
|
50 |
# MAX_TOKEN_RELATION_DESC=4000
|
51 |
# MAX_TOKEN_ENTITY_DESC=4000
|
52 |
|
53 |
+
### Entity and relation summarization configuration
|
54 |
### Language: English, Chinese, French, German ...
|
55 |
SUMMARY_LANGUAGE=English
|
56 |
### Number of duplicated entities/edges to trigger LLM re-summary on merge ( at least 3 is recommented)
|
|
|
110 |
###########################
|
111 |
### Data storage selection
|
112 |
###########################
|
113 |
+
### In-memory database with local file persistence(Recommended for small scale deployment)
|
114 |
# LIGHTRAG_KV_STORAGE=JsonKVStorage
|
115 |
# LIGHTRAG_DOC_STATUS_STORAGE=JsonDocStatusStorage
|
116 |
# LIGHTRAG_GRAPH_STORAGE=NetworkXStorage
|
|
|
121 |
# LIGHTRAG_DOC_STATUS_STORAGE=PGDocStatusStorage
|
122 |
# LIGHTRAG_GRAPH_STORAGE=PGGraphStorage
|
123 |
# LIGHTRAG_VECTOR_STORAGE=PGVectorStorage
|
124 |
+
### MongoDB (Vector storage only available on Atlas Cloud)
|
125 |
# LIGHTRAG_KV_STORAGE=MongoKVStorage
|
126 |
# LIGHTRAG_DOC_STATUS_STORAGE=MongoDocStatusStorage
|
127 |
# LIGHTRAG_GRAPH_STORAGE=MongoGraphStorage
|
128 |
# LIGHTRAG_VECTOR_STORAGE=MongoVectorDBStorage
|
129 |
+
### Redis Storage (Recommended for production deployment)
|
130 |
# LIGHTRAG_KV_STORAGE=RedisKVStorage
|
131 |
# LIGHTRAG_DOC_STATUS_STORAGE=RedisDocStatusStorage
|
132 |
+
### Vector Storage (Recommended for production deployment)
|
133 |
# LIGHTRAG_VECTOR_STORAGE=MilvusVectorDBStorage
|
134 |
# LIGHTRAG_VECTOR_STORAGE=QdrantVectorDBStorage
|
135 |
+
### Graph Storage (Recommended for production deployment)
|
136 |
# LIGHTRAG_GRAPH_STORAGE=Neo4JStorage
|
137 |
|
138 |
####################################################################
|
lightrag/api/README-zh.md
CHANGED
@@ -43,7 +43,7 @@ LightRAG 需要同时集成 LLM(大型语言模型)和嵌入模型以有效
|
|
43 |
|
44 |
建议使用环境变量来配置 LightRAG 服务器。项目根目录中有一个名为 `env.example` 的示例环境变量文件。请将此文件复制到启动目录并重命名为 `.env`。之后,您可以在 `.env` 文件中修改与 LLM 和嵌入模型相关的参数。需要注意的是,LightRAG 服务器每次启动时都会将 `.env` 中的环境变量加载到系统环境变量中。**LightRAG 服务器会优先使用系统环境变量中的设置**。
|
45 |
|
46 |
-
>
|
47 |
|
48 |
以下是 LLM 和嵌入模型的一些常见设置示例:
|
49 |
|
@@ -94,49 +94,23 @@ lightrag-server
|
|
94 |
```
|
95 |
lightrag-gunicorn --workers 4
|
96 |
```
|
97 |
-
|
98 |
|
99 |
-
|
100 |
|
101 |
- `--host`:服务器监听地址(默认:0.0.0.0)
|
102 |
- `--port`:服务器监听端口(默认:9621)
|
103 |
- `--timeout`:LLM 请求超时时间(默认:150 秒)
|
104 |
- `--log-level`:日志级别(默认:INFO)
|
105 |
-
-
|
106 |
-
|
107 |
-
|
108 |
-
> - **修改.env文件后,您需要重新打开终端以使新设置生效**。 这是因为每次启动时,LightRAG Server会将.env文件中的环境变量加载至系统环境变量,且系统环境变量的设置具有更高优先级。
|
109 |
|
110 |
### 使用 Docker 启动 LightRAG 服务器
|
111 |
|
112 |
-
* 克隆代码仓库:
|
113 |
-
```shell
|
114 |
-
git clone https://github.com/HKUDS/LightRAG.git
|
115 |
-
cd LightRAG
|
116 |
-
```
|
117 |
-
|
118 |
* 配置 .env 文件:
|
119 |
通过复制示例文件 [`env.example`](env.example) 创建个性化的 .env 文件,并根据实际需求设置 LLM 及 Embedding 参数。
|
120 |
-
|
121 |
-
* 通过以下命令启动 LightRAG 服务器:
|
122 |
-
```shell
|
123 |
-
docker compose up
|
124 |
-
# 如拉取了新版本,请添加 --build 重新构建
|
125 |
-
docker compose up --build
|
126 |
-
```
|
127 |
-
### 无需克隆代码而使用 Docker 部署 LightRAG 服务器
|
128 |
-
|
129 |
-
* 为 LightRAG 服务器创建工作文件夹:
|
130 |
-
|
131 |
-
```shell
|
132 |
-
mkdir lightrag
|
133 |
-
cd lightrag
|
134 |
-
```
|
135 |
-
|
136 |
-
* 准备 .env 文件:
|
137 |
-
通过复制 env.example 文件创建个性化的.env 文件。根据您的需求配置 LLM 和嵌入参数。
|
138 |
-
|
139 |
-
* 创建一个名为 docker-compose.yml 的 docker compose 文件:
|
140 |
|
141 |
```yaml
|
142 |
services:
|
@@ -157,26 +131,56 @@ services:
|
|
157 |
- "host.docker.internal:host-gateway"
|
158 |
```
|
159 |
|
160 |
-
*
|
161 |
-
通过复制示例文件 [`env.example`](env.example) 创建个性化的 .env 文件。根据您的需求配置 LLM 和嵌入参数。
|
162 |
|
163 |
-
* 使用以下命令启动 LightRAG 服务器:
|
164 |
```shell
|
165 |
docker compose up
|
|
|
166 |
```
|
167 |
-
|
168 |
-
> 在此获取LightRAG docker镜像历史版本: [LightRAG Docker Images]( https://github.com/HKUDS/LightRAG/pkgs/container/lightrag)
|
169 |
|
170 |
### 启动时自动扫描
|
171 |
|
172 |
-
当使用 `--auto-scan-at-startup`
|
173 |
|
174 |
1. 扫描输入目录中的新文件
|
175 |
2. 为尚未在数据库中的新文档建立索引
|
176 |
3. 使所有内容立即可用于 RAG 查询
|
177 |
|
|
|
|
|
178 |
> `--input-dir` 参数指定要扫描的输入目录。您可以从 webui 触发输入目录扫描。
|
179 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
### Gunicorn + Uvicorn 的多工作进程
|
181 |
|
182 |
LightRAG 服务器可以在 `Gunicorn + Uvicorn` 预加载模式下运行。Gunicorn 的多工作进程(多进程)功能可以防止文档索引任务阻塞 RAG 查询。使用 CPU 密集型文档提取工具(如 docling)在纯 Uvicorn 模式下可能会导致整个系统被阻塞。
|
|
|
43 |
|
44 |
建议使用环境变量来配置 LightRAG 服务器。项目根目录中有一个名为 `env.example` 的示例环境变量文件。请将此文件复制到启动目录并重命名为 `.env`。之后,您可以在 `.env` 文件中修改与 LLM 和嵌入模型相关的参数。需要注意的是,LightRAG 服务器每次启动时都会将 `.env` 中的环境变量加载到系统环境变量中。**LightRAG 服务器会优先使用系统环境变量中的设置**。
|
45 |
|
46 |
+
> 由于安装了 Python 扩展的 VS Code 可能会在集成终端中自动加载 .env 文件,请在每次修改 .env 文件后打开新的终端会话。
|
47 |
|
48 |
以下是 LLM 和嵌入模型的一些常见设置示例:
|
49 |
|
|
|
94 |
```
|
95 |
lightrag-gunicorn --workers 4
|
96 |
```
|
97 |
+
启动LightRAG的时候,当前工作目录必须含有`.env`配置文件。**要求将.env文件置于启动目录中是经过特意设计的**。 这样做的目的是支持用户同时启动多个LightRAG实例,并为不同实例配置不同的.env文件。**修改.env文件后,您需要重新打开终端以使新设置生效**。 这是因为每次启动时,LightRAG Server会将.env文件中的环境变量加载至系统环境变量,且系统环境变量的设置具有更高优先级。
|
98 |
|
99 |
+
启动时可以通过命令行参数覆盖`.env`文件中的配置。常用的命令行参数包括:
|
100 |
|
101 |
- `--host`:服务器监听地址(默认:0.0.0.0)
|
102 |
- `--port`:服务器监听端口(默认:9621)
|
103 |
- `--timeout`:LLM 请求超时时间(默认:150 秒)
|
104 |
- `--log-level`:日志级别(默认:INFO)
|
105 |
+
- `--working-dir`:数据库持久化目录(默认:./rag_storage)
|
106 |
+
- `--input-dir`:上传文件存放目录(默认:./inputs)
|
107 |
+
- `--workspace`: 工作空间名称,用于逻辑上隔离多个LightRAG实例之间的数据(默认:空)
|
|
|
108 |
|
109 |
### 使用 Docker 启动 LightRAG 服务器
|
110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
* 配置 .env 文件:
|
112 |
通过复制示例文件 [`env.example`](env.example) 创建个性化的 .env 文件,并根据实际需求设置 LLM 及 Embedding 参数。
|
113 |
+
* 创建一个名为 docker-compose.yml 的文件:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
|
115 |
```yaml
|
116 |
services:
|
|
|
131 |
- "host.docker.internal:host-gateway"
|
132 |
```
|
133 |
|
134 |
+
* 通过以下命令启动 LightRAG 服务器:
|
|
|
135 |
|
|
|
136 |
```shell
|
137 |
docker compose up
|
138 |
+
# 如果希望启动后让程序退到后台运行,需要在命令的最后添加 -d 参数
|
139 |
```
|
140 |
+
> 可以通过以下链接获取官方的docker compose文件:[docker-compose.yml]( https://raw.githubusercontent.com/HKUDS/LightRAG/refs/heads/main/docker-compose.yml) 。如需获取LightRAG的历史版本镜像,可以访问以下链接: [LightRAG Docker Images]( https://github.com/HKUDS/LightRAG/pkgs/container/lightrag)
|
|
|
141 |
|
142 |
### 启动时自动扫描
|
143 |
|
144 |
+
当使用 `--auto-scan-at-startup` 参数启动LightRAG Server时,系统将自动:
|
145 |
|
146 |
1. 扫描输入目录中的新文件
|
147 |
2. 为尚未在数据库中的新文档建立索引
|
148 |
3. 使所有内容立即可用于 RAG 查询
|
149 |
|
150 |
+
这种工作模式给启动一个临时的RAG任务提供给了方便。
|
151 |
+
|
152 |
> `--input-dir` 参数指定要扫描的输入目录。您可以从 webui 触发输入目录扫描。
|
153 |
|
154 |
+
### 启动多个LightRAG实例
|
155 |
+
|
156 |
+
有两种方式可以启动多个LightRAG实例。第一种方式是为每个实例配置一个完全独立的工作环境。此时需要为每个实例创建一个独立的工作目录,然后在这个工作目录上放置一个当前实例专用的`.env`配置文件。不同实例的配置文件中的服务器监听端口不能重复,然后在工作目录上执行 lightrag-server 启动服务即可。
|
157 |
+
|
158 |
+
第二种方式是所有实例共享一套相同的`.env`配置文件,然后通过命令行参数来为每个实例指定不同的服务器监听端口和工作空间。你可以在同一个工作目录中通过不同的命令行参数启动多个LightRAG实例。例如:
|
159 |
+
|
160 |
+
```
|
161 |
+
# 启动实例1
|
162 |
+
lightrag-server --port 9621 --workspace space1
|
163 |
+
|
164 |
+
# 启动实例2
|
165 |
+
lightrag-server --port 9622 --workspace space2
|
166 |
+
```
|
167 |
+
|
168 |
+
工作空间的作用是实现不同实例之间的数据隔离。因此不同实例之间的`workspace`参数必须不同,否则会导致数据混乱,数据将会被破坏。
|
169 |
+
|
170 |
+
### LightRAG实例间的数据隔离
|
171 |
+
|
172 |
+
每个实例配置一个独立的工作目录和专用`.env`配置文件通常能够保证内存数据库中的本地持久化文件保存在各自的工作目录,实现数据的相互隔离。LightRAG默认存储全部都是内存数据库,通过这种方式进行数据隔离是没有问题的。但是如果使用的是外部数据库,如果不同实例访问的是同一个数据库实例,就需要通过配置工作空间来实现数据隔离,否则不同实例的数据将会出现冲突并被破坏。
|
173 |
+
|
174 |
+
命令行的 workspace 参数和`.env`文件中的环境变量`WORKSPACE` 都可以用于指定当前实例的工作空间名字,命令行参数的优先级别更高。下面是不同类型的存储实现工作空间的方式:
|
175 |
+
|
176 |
+
- **对于本地基于文件的数据库,数据隔离通过工作空间子目录实现:** JsonKVStorage, JsonDocStatusStorage, NetworkXStorage, NanoVectorDBStorage, FaissVectorDBStorage。
|
177 |
+
- **对于将数据存储在集合(collection)中的数据库,通过在集合名称前添加工作空间前缀来实现:** RedisKVStorage, RedisDocStatusStorage, MilvusVectorDBStorage, QdrantVectorDBStorage, MongoKVStorage, MongoDocStatusStorage, MongoVectorDBStorage, MongoGraphStorage, PGGraphStorage。
|
178 |
+
- **对于关系型数据库,数据隔离通过向表中添加 `workspace` 字段进行数据的逻辑隔离:** PGKVStorage, PGVectorStorage, PGDocStatusStorage。
|
179 |
+
|
180 |
+
* **对于Neo4j图数据库,通过label来实现数据的逻辑隔离**:Neo4JStorage
|
181 |
+
|
182 |
+
为了保持对遗留数据的兼容,在未配置工作空间时PostgreSQL的默认工作空间为`default`,Neo4j的默认工作空间为`base`。对于所有的外部存储,系统都提供了专用的工作空间环境变量,用于覆盖公共的 `WORKSPACE`环境变量配置。这些适用于指定存储类型的工作空间环境变量为:`REDIS_WORKSPACE`, `MILVUS_WORKSPACE`, `QDRANT_WORKSPACE`, `MONGODB_WORKSPACE`, `POSTGRES_WORKSPACE`, `NEO4J_WORKSPACE`。
|
183 |
+
|
184 |
### Gunicorn + Uvicorn 的多工作进程
|
185 |
|
186 |
LightRAG 服务器可以在 `Gunicorn + Uvicorn` 预加载模式下运行。Gunicorn 的多工作进程(多进程)功能可以防止文档索引任务阻塞 RAG 查询。使用 CPU 密集型文档提取工具(如 docling)在纯 Uvicorn 模式下可能会导致整个系统被阻塞。
|
lightrag/api/README.md
CHANGED
@@ -94,50 +94,25 @@ lightrag-server
|
|
94 |
```
|
95 |
lightrag-gunicorn --workers 4
|
96 |
```
|
97 |
-
The `.env` file **must be placed in the startup directory**.
|
98 |
|
99 |
-
|
100 |
|
101 |
-
|
102 |
|
103 |
- `--host`: Server listening address (default: 0.0.0.0)
|
104 |
- `--port`: Server listening port (default: 9621)
|
105 |
- `--timeout`: LLM request timeout (default: 150 seconds)
|
106 |
-
- `--log-level`:
|
107 |
-
- `--
|
108 |
-
|
109 |
-
|
110 |
-
> - **After changing the .env file, you need to open a new terminal to make the new settings take effect.** This because the LightRAG Server will load the environment variables from .env into the system environment variables each time it starts, and LightRAG Server will prioritize the settings in the system environment variables.
|
111 |
|
112 |
### Launching LightRAG Server with Docker
|
113 |
|
114 |
-
* Clone the repository:
|
115 |
-
```shell
|
116 |
-
git clone https://github.com/HKUDS/LightRAG.git
|
117 |
-
cd LightRAG
|
118 |
-
```
|
119 |
-
|
120 |
* Prepare the .env file:
|
121 |
-
Create a personalized .env file
|
122 |
-
|
123 |
-
* Start the LightRAG Server using the following commands:
|
124 |
-
```shell
|
125 |
-
docker compose up
|
126 |
-
# Use --build if you have pulled a new version
|
127 |
-
docker compose up --build
|
128 |
-
```
|
129 |
-
|
130 |
-
### Deploying LightRAG Server with docker without cloneing the repository
|
131 |
-
|
132 |
-
* Create a working folder for LightRAG Server:
|
133 |
-
|
134 |
-
```shell
|
135 |
-
mkdir lightrag
|
136 |
-
cd lightrag
|
137 |
-
```
|
138 |
-
|
139 |
-
* Create a docker compose file named docker-compose.yml:
|
140 |
|
|
|
141 |
|
142 |
```yaml
|
143 |
services:
|
@@ -157,26 +132,57 @@ services:
|
|
157 |
extra_hosts:
|
158 |
- "host.docker.internal:host-gateway"
|
159 |
```
|
160 |
-
* Prepare the .env file:
|
161 |
-
Create a personalized .env file from sample file `env.example`. Configure the LLM and embedding parameters according to your requirements.
|
162 |
|
163 |
-
* Start the LightRAG Server
|
|
|
164 |
```shell
|
165 |
docker compose up
|
|
|
166 |
```
|
167 |
|
168 |
-
>
|
169 |
|
170 |
### Auto scan on startup
|
171 |
|
172 |
-
When starting
|
173 |
|
174 |
1. Scan for new files in the input directory
|
175 |
2. Index new documents that aren't already in the database
|
176 |
3. Make all content immediately available for RAG queries
|
177 |
|
|
|
|
|
178 |
> The `--input-dir` parameter specifies the input directory to scan. You can trigger the input directory scan from the Web UI.
|
179 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
### Multiple workers for Gunicorn + Uvicorn
|
181 |
|
182 |
The LightRAG Server can operate in the `Gunicorn + Uvicorn` preload mode. Gunicorn's multiple worker (multiprocess) capability prevents document indexing tasks from blocking RAG queries. Using CPU-exhaustive document extraction tools, such as docling, can lead to the entire system being blocked in pure Uvicorn mode.
|
|
|
94 |
```
|
95 |
lightrag-gunicorn --workers 4
|
96 |
```
|
|
|
97 |
|
98 |
+
When starting LightRAG, the current working directory must contain the `.env` configuration file. **It is intentionally designed that the `.env` file must be placed in the startup directory**. The purpose of this is to allow users to launch multiple LightRAG instances simultaneously and configure different `.env` files for different instances. **After modifying the `.env` file, you need to reopen the terminal for the new settings to take effect.** This is because each time LightRAG Server starts, it loads the environment variables from the `.env` file into the system environment variables, and system environment variables have higher precedence.
|
99 |
|
100 |
+
During startup, configurations in the `.env` file can be overridden by command-line parameters. Common command-line parameters include:
|
101 |
|
102 |
- `--host`: Server listening address (default: 0.0.0.0)
|
103 |
- `--port`: Server listening port (default: 9621)
|
104 |
- `--timeout`: LLM request timeout (default: 150 seconds)
|
105 |
+
- `--log-level`: Log level (default: INFO)
|
106 |
+
- `--working-dir`: Database persistence directory (default: ./rag_storage)
|
107 |
+
- `--input-dir`: Directory for uploaded files (default: ./inputs)
|
108 |
+
- `--workspace`: Workspace name, used to logically isolate data between multiple LightRAG instances (default: empty)
|
|
|
109 |
|
110 |
### Launching LightRAG Server with Docker
|
111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
* Prepare the .env file:
|
113 |
+
Create a personalized .env file by copying the sample file [`env.example`](env.example). Configure the LLM and embedding parameters according to your requirements.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
|
115 |
+
* Create a file named `docker-compose.yml`:
|
116 |
|
117 |
```yaml
|
118 |
services:
|
|
|
132 |
extra_hosts:
|
133 |
- "host.docker.internal:host-gateway"
|
134 |
```
|
|
|
|
|
135 |
|
136 |
+
* Start the LightRAG Server with the following command:
|
137 |
+
|
138 |
```shell
|
139 |
docker compose up
|
140 |
+
# If you want the program to run in the background after startup, add the -d parameter at the end of the command.
|
141 |
```
|
142 |
|
143 |
+
> You can get the official docker compose file from here: [docker-compose.yml](https://raw.githubusercontent.com/HKUDS/LightRAG/refs/heads/main/docker-compose.yml). For historical versions of LightRAG docker images, visit this link: [LightRAG Docker Images](https://github.com/HKUDS/LightRAG/pkgs/container/lightrag)
|
144 |
|
145 |
### Auto scan on startup
|
146 |
|
147 |
+
When starting the LightRAG Server with the `--auto-scan-at-startup` parameter, the system will automatically:
|
148 |
|
149 |
1. Scan for new files in the input directory
|
150 |
2. Index new documents that aren't already in the database
|
151 |
3. Make all content immediately available for RAG queries
|
152 |
|
153 |
+
This offers an efficient method for deploying ad-hoc RAG processes.
|
154 |
+
|
155 |
> The `--input-dir` parameter specifies the input directory to scan. You can trigger the input directory scan from the Web UI.
|
156 |
|
157 |
+
### Starting Multiple LightRAG Instances
|
158 |
+
|
159 |
+
There are two ways to start multiple LightRAG instances. The first way is to configure a completely independent working environment for each instance. This requires creating a separate working directory for each instance and placing a dedicated `.env` configuration file in that directory. The server listening ports in the configuration files of different instances cannot be the same. Then, you can start the service by running `lightrag-server` in the working directory.
|
160 |
+
|
161 |
+
The second way is for all instances to share the same set of `.env` configuration files, and then use command-line arguments to specify different server listening ports and workspaces for each instance. You can start multiple LightRAG instances in the same working directory with different command-line arguments. For example:
|
162 |
+
|
163 |
+
```
|
164 |
+
# Start instance 1
|
165 |
+
lightrag-server --port 9621 --workspace space1
|
166 |
+
|
167 |
+
# Start instance 2
|
168 |
+
lightrag-server --port 9622 --workspace space2
|
169 |
+
```
|
170 |
+
|
171 |
+
The purpose of a workspace is to achieve data isolation between different instances. Therefore, the `workspace` parameter must be different for different instances; otherwise, it will lead to data confusion and corruption.
|
172 |
+
|
173 |
+
### Data Isolation Between LightRAG Instances
|
174 |
+
|
175 |
+
Configuring an independent working directory and a dedicated `.env` configuration file for each instance can generally ensure that locally persisted files in the in-memory database are saved in their respective working directories, achieving data isolation. By default, LightRAG uses all in-memory databases, and this method of data isolation is sufficient. However, if you are using an external database, and different instances access the same database instance, you need to use workspaces to achieve data isolation; otherwise, the data of different instances will conflict and be destroyed.
|
176 |
+
|
177 |
+
The command-line `workspace` argument and the `WORKSPACE` environment variable in the `.env` file can both be used to specify the workspace name for the current instance, with the command-line argument having higher priority. Here is how workspaces are implemented for different types of storage:
|
178 |
+
|
179 |
+
- **For local file-based databases, data isolation is achieved through workspace subdirectories:** `JsonKVStorage`, `JsonDocStatusStorage`, `NetworkXStorage`, `NanoVectorDBStorage`, `FaissVectorDBStorage`.
|
180 |
+
- **For databases that store data in collections, it's done by adding a workspace prefix to the collection name:** `RedisKVStorage`, `RedisDocStatusStorage`, `MilvusVectorDBStorage`, `QdrantVectorDBStorage`, `MongoKVStorage`, `MongoDocStatusStorage`, `MongoVectorDBStorage`, `MongoGraphStorage`, `PGGraphStorage`.
|
181 |
+
- **For relational databases, data isolation is achieved by adding a `workspace` field to the tables for logical data separation:** `PGKVStorage`, `PGVectorStorage`, `PGDocStatusStorage`.
|
182 |
+
- **For the Neo4j graph database, logical data isolation is achieved through labels:** `Neo4JStorage`
|
183 |
+
|
184 |
+
To maintain compatibility with legacy data, the default workspace for PostgreSQL is `default` and for Neo4j is `base` when no workspace is configured. For all external storages, the system provides dedicated workspace environment variables to override the common `WORKSPACE` environment variable configuration. These storage-specific workspace environment variables are: `REDIS_WORKSPACE`, `MILVUS_WORKSPACE`, `QDRANT_WORKSPACE`, `MONGODB_WORKSPACE`, `POSTGRES_WORKSPACE`, `NEO4J_WORKSPACE`.
|
185 |
+
|
186 |
### Multiple workers for Gunicorn + Uvicorn
|
187 |
|
188 |
The LightRAG Server can operate in the `Gunicorn + Uvicorn` preload mode. Gunicorn's multiple worker (multiprocess) capability prevents document indexing tasks from blocking RAG queries. Using CPU-exhaustive document extraction tools, such as docling, can lead to the entire system being blocked in pure Uvicorn mode.
|
lightrag/api/__init__.py
CHANGED
@@ -1 +1 @@
|
|
1 |
-
__api_version__ = "
|
|
|
1 |
+
__api_version__ = "0180"
|
lightrag/api/config.py
CHANGED
@@ -244,6 +244,9 @@ def parse_args() -> argparse.Namespace:
|
|
244 |
# Get MAX_PARALLEL_INSERT from environment
|
245 |
args.max_parallel_insert = get_env_value("MAX_PARALLEL_INSERT", 2, int)
|
246 |
|
|
|
|
|
|
|
247 |
# Handle openai-ollama special case
|
248 |
if args.llm_binding == "openai-ollama":
|
249 |
args.llm_binding = "openai"
|
|
|
244 |
# Get MAX_PARALLEL_INSERT from environment
|
245 |
args.max_parallel_insert = get_env_value("MAX_PARALLEL_INSERT", 2, int)
|
246 |
|
247 |
+
# Get MAX_GRAPH_NODES from environment
|
248 |
+
args.max_graph_nodes = get_env_value("MAX_GRAPH_NODES", 1000, int)
|
249 |
+
|
250 |
# Handle openai-ollama special case
|
251 |
if args.llm_binding == "openai-ollama":
|
252 |
args.llm_binding = "openai"
|
lightrag/api/lightrag_server.py
CHANGED
@@ -326,6 +326,7 @@ def create_app(args):
|
|
326 |
enable_llm_cache=args.enable_llm_cache,
|
327 |
auto_manage_storages_states=False,
|
328 |
max_parallel_insert=args.max_parallel_insert,
|
|
|
329 |
addon_params={"language": args.summary_language},
|
330 |
)
|
331 |
else: # azure_openai
|
@@ -353,6 +354,7 @@ def create_app(args):
|
|
353 |
enable_llm_cache=args.enable_llm_cache,
|
354 |
auto_manage_storages_states=False,
|
355 |
max_parallel_insert=args.max_parallel_insert,
|
|
|
356 |
addon_params={"language": args.summary_language},
|
357 |
)
|
358 |
|
@@ -475,7 +477,7 @@ def create_app(args):
|
|
475 |
"enable_llm_cache_for_extract": args.enable_llm_cache_for_extract,
|
476 |
"enable_llm_cache": args.enable_llm_cache,
|
477 |
"workspace": args.workspace,
|
478 |
-
"max_graph_nodes":
|
479 |
},
|
480 |
"auth_mode": auth_mode,
|
481 |
"pipeline_busy": pipeline_status.get("busy", False),
|
|
|
326 |
enable_llm_cache=args.enable_llm_cache,
|
327 |
auto_manage_storages_states=False,
|
328 |
max_parallel_insert=args.max_parallel_insert,
|
329 |
+
max_graph_nodes=args.max_graph_nodes,
|
330 |
addon_params={"language": args.summary_language},
|
331 |
)
|
332 |
else: # azure_openai
|
|
|
354 |
enable_llm_cache=args.enable_llm_cache,
|
355 |
auto_manage_storages_states=False,
|
356 |
max_parallel_insert=args.max_parallel_insert,
|
357 |
+
max_graph_nodes=args.max_graph_nodes,
|
358 |
addon_params={"language": args.summary_language},
|
359 |
)
|
360 |
|
|
|
477 |
"enable_llm_cache_for_extract": args.enable_llm_cache_for_extract,
|
478 |
"enable_llm_cache": args.enable_llm_cache,
|
479 |
"workspace": args.workspace,
|
480 |
+
"max_graph_nodes": args.max_graph_nodes,
|
481 |
},
|
482 |
"auth_mode": auth_mode,
|
483 |
"pipeline_busy": pipeline_status.get("busy", False),
|
lightrag/api/utils_api.py
CHANGED
@@ -175,12 +175,24 @@ def display_splash_screen(args: argparse.Namespace) -> None:
|
|
175 |
args: Parsed command line arguments
|
176 |
"""
|
177 |
# Banner
|
178 |
-
|
179 |
-
╔══════════════════════════════════════════════════════════════╗
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
|
185 |
# Server Configuration
|
186 |
ASCIIColors.magenta("\n📡 Server Configuration:")
|
|
|
175 |
args: Parsed command line arguments
|
176 |
"""
|
177 |
# Banner
|
178 |
+
# Banner
|
179 |
+
top_border = "╔══════════════════════════════════════════════════════════════╗"
|
180 |
+
bottom_border = "╚══════════════════════════════════════════════════════════════╝"
|
181 |
+
width = len(top_border) - 4 # width inside the borders
|
182 |
+
|
183 |
+
line1_text = f"LightRAG Server v{core_version}/{api_version}"
|
184 |
+
line2_text = "Fast, Lightweight RAG Server Implementation"
|
185 |
+
|
186 |
+
line1 = f"║ {line1_text.center(width)} ║"
|
187 |
+
line2 = f"║ {line2_text.center(width)} ║"
|
188 |
+
|
189 |
+
banner = f"""
|
190 |
+
{top_border}
|
191 |
+
{line1}
|
192 |
+
{line2}
|
193 |
+
{bottom_border}
|
194 |
+
"""
|
195 |
+
ASCIIColors.cyan(banner)
|
196 |
|
197 |
# Server Configuration
|
198 |
ASCIIColors.magenta("\n📡 Server Configuration:")
|
lightrag/api/webui/assets/{_basePickBy-BSdLglB8.js → _basePickBy-BVZSZRdU.js}
RENAMED
Binary files a/lightrag/api/webui/assets/_basePickBy-BSdLglB8.js and b/lightrag/api/webui/assets/_basePickBy-BVZSZRdU.js differ
|
|
lightrag/api/webui/assets/{_baseUniq-UvGlUd6J.js → _baseUniq-CoKY6BVy.js}
RENAMED
Binary files a/lightrag/api/webui/assets/_baseUniq-UvGlUd6J.js and b/lightrag/api/webui/assets/_baseUniq-CoKY6BVy.js differ
|
|
lightrag/api/webui/assets/{architectureDiagram-IEHRJDOE-BniHOq-e.js → architectureDiagram-IEHRJDOE-vef8RqWB.js}
RENAMED
Binary files a/lightrag/api/webui/assets/architectureDiagram-IEHRJDOE-BniHOq-e.js and b/lightrag/api/webui/assets/architectureDiagram-IEHRJDOE-vef8RqWB.js differ
|
|
lightrag/api/webui/assets/{blockDiagram-JOT3LUYC-DIN2mi-0.js → blockDiagram-JOT3LUYC-CbrB0eRz.js}
RENAMED
Binary files a/lightrag/api/webui/assets/blockDiagram-JOT3LUYC-DIN2mi-0.js and b/lightrag/api/webui/assets/blockDiagram-JOT3LUYC-CbrB0eRz.js differ
|
|
lightrag/api/webui/assets/{c4Diagram-VJAJSXHY-BJN20C_B.js → c4Diagram-VJAJSXHY-1eEG1RbS.js}
RENAMED
Binary files a/lightrag/api/webui/assets/c4Diagram-VJAJSXHY-BJN20C_B.js and b/lightrag/api/webui/assets/c4Diagram-VJAJSXHY-1eEG1RbS.js differ
|
|
lightrag/api/webui/assets/{chunk-4BMEZGHF-B1TxGISA.js → chunk-4BMEZGHF-BqribV_z.js}
RENAMED
Binary files a/lightrag/api/webui/assets/chunk-4BMEZGHF-B1TxGISA.js and b/lightrag/api/webui/assets/chunk-4BMEZGHF-BqribV_z.js differ
|
|
lightrag/api/webui/assets/{chunk-A2AXSNBT-9BBpDWtu.js → chunk-A2AXSNBT-79sAOFxS.js}
RENAMED
Binary files a/lightrag/api/webui/assets/chunk-A2AXSNBT-9BBpDWtu.js and b/lightrag/api/webui/assets/chunk-A2AXSNBT-79sAOFxS.js differ
|
|
lightrag/api/webui/assets/{chunk-AEK57VVT-CXtM_4Od.js → chunk-AEK57VVT-C_8ebDHI.js}
RENAMED
Binary files a/lightrag/api/webui/assets/chunk-AEK57VVT-CXtM_4Od.js and b/lightrag/api/webui/assets/chunk-AEK57VVT-C_8ebDHI.js differ
|
|
lightrag/api/webui/assets/{chunk-D6G4REZN-CxUcE0YF.js → chunk-D6G4REZN-DYSFhgH1.js}
RENAMED
Binary files a/lightrag/api/webui/assets/chunk-D6G4REZN-CxUcE0YF.js and b/lightrag/api/webui/assets/chunk-D6G4REZN-DYSFhgH1.js differ
|
|
lightrag/api/webui/assets/{chunk-RZ5BOZE2-Du3GUvfy.js → chunk-RZ5BOZE2-PbmQbmec.js}
RENAMED
Binary files a/lightrag/api/webui/assets/chunk-RZ5BOZE2-Du3GUvfy.js and b/lightrag/api/webui/assets/chunk-RZ5BOZE2-PbmQbmec.js differ
|
|
lightrag/api/webui/assets/{chunk-XZIHB7SX-HOIwmCiB.js → chunk-XZIHB7SX-UCc0agNy.js}
RENAMED
Binary files a/lightrag/api/webui/assets/chunk-XZIHB7SX-HOIwmCiB.js and b/lightrag/api/webui/assets/chunk-XZIHB7SX-UCc0agNy.js differ
|
|
lightrag/api/webui/assets/{classDiagram-GIVACNV2-f9sRw-GR.js → classDiagram-GIVACNV2-CtQONuGk.js}
RENAMED
Binary files a/lightrag/api/webui/assets/classDiagram-GIVACNV2-f9sRw-GR.js and b/lightrag/api/webui/assets/classDiagram-GIVACNV2-CtQONuGk.js differ
|
|
lightrag/api/webui/assets/{classDiagram-v2-COTLJTTW-f9sRw-GR.js → classDiagram-v2-COTLJTTW-CtQONuGk.js}
RENAMED
Binary files a/lightrag/api/webui/assets/classDiagram-v2-COTLJTTW-f9sRw-GR.js and b/lightrag/api/webui/assets/classDiagram-v2-COTLJTTW-CtQONuGk.js differ
|
|
lightrag/api/webui/assets/{clone-JfI4KmSh.js → clone-UTZGcTvC.js}
RENAMED
Binary files a/lightrag/api/webui/assets/clone-JfI4KmSh.js and b/lightrag/api/webui/assets/clone-UTZGcTvC.js differ
|
|
lightrag/api/webui/assets/{dagre-OKDRZEBW-BfLyJCXh.js → dagre-OKDRZEBW-B2QKcgt1.js}
RENAMED
Binary files a/lightrag/api/webui/assets/dagre-OKDRZEBW-BfLyJCXh.js and b/lightrag/api/webui/assets/dagre-OKDRZEBW-B2QKcgt1.js differ
|
|
lightrag/api/webui/assets/{diagram-SSKATNLV-BPBm_HA_.js → diagram-SSKATNLV-C9gAoCDH.js}
RENAMED
Binary files a/lightrag/api/webui/assets/diagram-SSKATNLV-BPBm_HA_.js and b/lightrag/api/webui/assets/diagram-SSKATNLV-C9gAoCDH.js differ
|
|
lightrag/api/webui/assets/{diagram-VNBRO52H-B3H-hAHN.js → diagram-VNBRO52H-YHo3tP1S.js}
RENAMED
Binary files a/lightrag/api/webui/assets/diagram-VNBRO52H-B3H-hAHN.js and b/lightrag/api/webui/assets/diagram-VNBRO52H-YHo3tP1S.js differ
|
|
lightrag/api/webui/assets/{erDiagram-Q7BY3M3F-B0M4Dgpb.js → erDiagram-Q7BY3M3F-BZdHFlc9.js}
RENAMED
Binary files a/lightrag/api/webui/assets/erDiagram-Q7BY3M3F-B0M4Dgpb.js and b/lightrag/api/webui/assets/erDiagram-Q7BY3M3F-BZdHFlc9.js differ
|
|
lightrag/api/webui/assets/{feature-documents-DYAipKCP.js → feature-documents-CSExwz2a.js}
RENAMED
Binary files a/lightrag/api/webui/assets/feature-documents-DYAipKCP.js and b/lightrag/api/webui/assets/feature-documents-CSExwz2a.js differ
|
|
lightrag/api/webui/assets/{feature-graph-yCDRht5b.js → feature-graph-D-mwOi0p.js}
RENAMED
Binary files a/lightrag/api/webui/assets/feature-graph-yCDRht5b.js and b/lightrag/api/webui/assets/feature-graph-D-mwOi0p.js differ
|
|
lightrag/api/webui/assets/{feature-retrieval-DRE_iZah.js → feature-retrieval-BhEQ7fz5.js}
RENAMED
Binary files a/lightrag/api/webui/assets/feature-retrieval-DRE_iZah.js and b/lightrag/api/webui/assets/feature-retrieval-BhEQ7fz5.js differ
|
|
lightrag/api/webui/assets/{flowDiagram-4HSFHLVR-0O9i7rCc.js → flowDiagram-4HSFHLVR-Cyoqee_Z.js}
RENAMED
Binary files a/lightrag/api/webui/assets/flowDiagram-4HSFHLVR-0O9i7rCc.js and b/lightrag/api/webui/assets/flowDiagram-4HSFHLVR-Cyoqee_Z.js differ
|
|
lightrag/api/webui/assets/{ganttDiagram-APWFNJXF-r6T2Qk9A.js → ganttDiagram-APWFNJXF-8xxuNmi-.js}
RENAMED
Binary files a/lightrag/api/webui/assets/ganttDiagram-APWFNJXF-r6T2Qk9A.js and b/lightrag/api/webui/assets/ganttDiagram-APWFNJXF-8xxuNmi-.js differ
|
|
lightrag/api/webui/assets/{gitGraphDiagram-7IBYFJ6S-Bu88rIEh.js → gitGraphDiagram-7IBYFJ6S-C00chpNw.js}
RENAMED
Binary files a/lightrag/api/webui/assets/gitGraphDiagram-7IBYFJ6S-Bu88rIEh.js and b/lightrag/api/webui/assets/gitGraphDiagram-7IBYFJ6S-C00chpNw.js differ
|
|
lightrag/api/webui/assets/{graph-BA-Xpc80.js → graph-gg_UPtwE.js}
RENAMED
Binary files a/lightrag/api/webui/assets/graph-BA-Xpc80.js and b/lightrag/api/webui/assets/graph-gg_UPtwE.js differ
|
|
lightrag/api/webui/assets/{index-BlAjHenV.js → index-CZQXgxUO.js}
RENAMED
Binary files a/lightrag/api/webui/assets/index-BlAjHenV.js and b/lightrag/api/webui/assets/index-CZQXgxUO.js differ
|
|
lightrag/api/webui/assets/{infoDiagram-PH2N3AL5-Ccvh5jh9.js → infoDiagram-PH2N3AL5-DKUJQA1J.js}
RENAMED
Binary files a/lightrag/api/webui/assets/infoDiagram-PH2N3AL5-Ccvh5jh9.js and b/lightrag/api/webui/assets/infoDiagram-PH2N3AL5-DKUJQA1J.js differ
|
|
lightrag/api/webui/assets/{journeyDiagram-U35MCT3I-Bjko5wAq.js → journeyDiagram-U35MCT3I-C9ZzbUpH.js}
RENAMED
Binary files a/lightrag/api/webui/assets/journeyDiagram-U35MCT3I-Bjko5wAq.js and b/lightrag/api/webui/assets/journeyDiagram-U35MCT3I-C9ZzbUpH.js differ
|
|
lightrag/api/webui/assets/{kanban-definition-NDS4AKOZ-CI4n-C9D.js → kanban-definition-NDS4AKOZ-BMGhZtt7.js}
RENAMED
Binary files a/lightrag/api/webui/assets/kanban-definition-NDS4AKOZ-CI4n-C9D.js and b/lightrag/api/webui/assets/kanban-definition-NDS4AKOZ-BMGhZtt7.js differ
|
|
lightrag/api/webui/assets/{layout-DVOtj2IM.js → layout-DgVd6nly.js}
RENAMED
Binary files a/lightrag/api/webui/assets/layout-DVOtj2IM.js and b/lightrag/api/webui/assets/layout-DgVd6nly.js differ
|
|
lightrag/api/webui/assets/{mermaid-vendor-DnUYjsdS.js → mermaid-vendor-BVBgFwCv.js}
RENAMED
Binary files a/lightrag/api/webui/assets/mermaid-vendor-DnUYjsdS.js and b/lightrag/api/webui/assets/mermaid-vendor-BVBgFwCv.js differ
|
|
lightrag/api/webui/assets/{mindmap-definition-ALO5MXBD-C4YiM3o9.js → mindmap-definition-ALO5MXBD-Dy7fqjSb.js}
RENAMED
Binary files a/lightrag/api/webui/assets/mindmap-definition-ALO5MXBD-C4YiM3o9.js and b/lightrag/api/webui/assets/mindmap-definition-ALO5MXBD-Dy7fqjSb.js differ
|
|
lightrag/api/webui/assets/{pieDiagram-IB7DONF6-Riizpkaf.js → pieDiagram-IB7DONF6-DDY8pHxZ.js}
RENAMED
Binary files a/lightrag/api/webui/assets/pieDiagram-IB7DONF6-Riizpkaf.js and b/lightrag/api/webui/assets/pieDiagram-IB7DONF6-DDY8pHxZ.js differ
|
|
lightrag/api/webui/assets/{quadrantDiagram-7GDLP6J5-CzGAtLV_.js → quadrantDiagram-7GDLP6J5-9aLJ3TJw.js}
RENAMED
Binary files a/lightrag/api/webui/assets/quadrantDiagram-7GDLP6J5-CzGAtLV_.js and b/lightrag/api/webui/assets/quadrantDiagram-7GDLP6J5-9aLJ3TJw.js differ
|
|
lightrag/api/webui/assets/{radar-MK3ICKWK-CpuAiCbQ.js → radar-MK3ICKWK-B0N6XiM2.js}
RENAMED
Binary files a/lightrag/api/webui/assets/radar-MK3ICKWK-CpuAiCbQ.js and b/lightrag/api/webui/assets/radar-MK3ICKWK-B0N6XiM2.js differ
|
|
lightrag/api/webui/assets/{requirementDiagram-KVF5MWMF-CgGQX3wU.js → requirementDiagram-KVF5MWMF-DqX-DNvM.js}
RENAMED
Binary files a/lightrag/api/webui/assets/requirementDiagram-KVF5MWMF-CgGQX3wU.js and b/lightrag/api/webui/assets/requirementDiagram-KVF5MWMF-DqX-DNvM.js differ
|
|
lightrag/api/webui/assets/{sankeyDiagram-QLVOVGJD-DqnzGw22.js → sankeyDiagram-QLVOVGJD-BrbjIPio.js}
RENAMED
Binary files a/lightrag/api/webui/assets/sankeyDiagram-QLVOVGJD-DqnzGw22.js and b/lightrag/api/webui/assets/sankeyDiagram-QLVOVGJD-BrbjIPio.js differ
|
|
lightrag/api/webui/assets/{sequenceDiagram-X6HHIX6F-YUSWxee1.js → sequenceDiagram-X6HHIX6F-wqcg8nnG.js}
RENAMED
Binary files a/lightrag/api/webui/assets/sequenceDiagram-X6HHIX6F-YUSWxee1.js and b/lightrag/api/webui/assets/sequenceDiagram-X6HHIX6F-wqcg8nnG.js differ
|
|
lightrag/api/webui/assets/{stateDiagram-DGXRK772-DZnU_4RL.js → stateDiagram-DGXRK772-CGL2vL66.js}
RENAMED
Binary files a/lightrag/api/webui/assets/stateDiagram-DGXRK772-DZnU_4RL.js and b/lightrag/api/webui/assets/stateDiagram-DGXRK772-CGL2vL66.js differ
|
|
lightrag/api/webui/assets/{stateDiagram-v2-YXO3MK2T-ZS0tnvcs.js → stateDiagram-v2-YXO3MK2T-DIpE_gWh.js}
RENAMED
Binary files a/lightrag/api/webui/assets/stateDiagram-v2-YXO3MK2T-ZS0tnvcs.js and b/lightrag/api/webui/assets/stateDiagram-v2-YXO3MK2T-DIpE_gWh.js differ
|
|
lightrag/api/webui/assets/{timeline-definition-BDJGKUSR-Cl68_gMM.js → timeline-definition-BDJGKUSR-CwuNSBuu.js}
RENAMED
Binary files a/lightrag/api/webui/assets/timeline-definition-BDJGKUSR-Cl68_gMM.js and b/lightrag/api/webui/assets/timeline-definition-BDJGKUSR-CwuNSBuu.js differ
|
|