Skip to content

Commit cdd53ee

Browse files
committed
Remove manual initialize_pipeline_status() calls across codebase
- Auto-init pipeline status in storages - Remove redundant import statements - Simplify initialization pattern - Update docs and examples
1 parent e22ac52 commit cdd53ee

21 files changed

+28
-109
lines changed

README-zh.md

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,10 @@ python examples/lightrag_openai_demo.py
222222

223223
> ⚠️ **如果您希望将LightRAG集成到您的项目中,建议您使用LightRAG Server提供的REST API**。LightRAG Core通常用于嵌入式应用,或供希望进行研究与评估的学者使用。
224224
225+
### ⚠️ 重要:初始化要求
226+
227+
LightRAG 在使用前需要显式初始化。 创建 LightRAG 实例后,您必须调用 await rag.initialize_storages(),否则将出现错误。
228+
225229
### 一个简单程序
226230

227231
以下Python代码片段演示了如何初始化LightRAG、插入文本并进行查询:
@@ -231,7 +235,6 @@ import os
231235
import asyncio
232236
from lightrag import LightRAG, QueryParam
233237
from lightrag.llm.openai import gpt_4o_mini_complete, gpt_4o_complete, openai_embed
234-
from lightrag.kg.shared_storage import initialize_pipeline_status
235238
from lightrag.utils import setup_logger
236239

237240
setup_logger("lightrag", level="INFO")
@@ -246,9 +249,7 @@ async def initialize_rag():
246249
embedding_func=openai_embed,
247250
llm_model_func=gpt_4o_mini_complete,
248251
)
249-
await rag.initialize_storages()
250-
await initialize_pipeline_status()
251-
return rag
252+
await rag.initialize_storages() return rag
252253

253254
async def main():
254255
try:
@@ -442,8 +443,6 @@ async def initialize_rag():
442443
)
443444

444445
await rag.initialize_storages()
445-
await initialize_pipeline_status()
446-
447446
return rag
448447
```
449448

@@ -572,7 +571,6 @@ from lightrag import LightRAG
572571
from lightrag.llm.llama_index_impl import llama_index_complete_if_cache, llama_index_embed
573572
from llama_index.embeddings.openai import OpenAIEmbedding
574573
from llama_index.llms.openai import OpenAI
575-
from lightrag.kg.shared_storage import initialize_pipeline_status
576574
from lightrag.utils import setup_logger
577575

578576
# 为LightRAG设置日志处理程序
@@ -589,8 +587,6 @@ async def initialize_rag():
589587
)
590588

591589
await rag.initialize_storages()
592-
await initialize_pipeline_status()
593-
594590
return rag
595591

596592
def main():
@@ -840,8 +836,6 @@ async def initialize_rag():
840836
# 初始化数据库连接
841837
await rag.initialize_storages()
842838
# 初始化文档处理的管道状态
843-
await initialize_pipeline_status()
844-
845839
return rag
846840
```
847841

README.md

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -224,10 +224,7 @@ For a streaming response implementation example, please see `examples/lightrag_o
224224
225225
### ⚠️ Important: Initialization Requirements
226226

227-
**LightRAG requires explicit initialization before use.** You must call both `await rag.initialize_storages()` and `await initialize_pipeline_status()` after creating a LightRAG instance, otherwise you will encounter errors like:
228-
229-
- `AttributeError: __aenter__` - if storages are not initialized
230-
- `KeyError: 'history_messages'` - if pipeline status is not initialized
227+
**LightRAG requires explicit initialization before use.** You must call `await rag.initialize_storages()` after creating a LightRAG instance, otherwise you will encounter errors.
231228

232229
### A Simple Program
233230

@@ -238,7 +235,6 @@ import os
238235
import asyncio
239236
from lightrag import LightRAG, QueryParam
240237
from lightrag.llm.openai import gpt_4o_mini_complete, gpt_4o_complete, openai_embed
241-
from lightrag.kg.shared_storage import initialize_pipeline_status
242238
from lightrag.utils import setup_logger
243239

244240
setup_logger("lightrag", level="INFO")
@@ -254,9 +250,7 @@ async def initialize_rag():
254250
llm_model_func=gpt_4o_mini_complete,
255251
)
256252
# IMPORTANT: Both initialization calls are required!
257-
await rag.initialize_storages() # Initialize storage backends
258-
await initialize_pipeline_status() # Initialize processing pipeline
259-
return rag
253+
await rag.initialize_storages() # Initialize storage backends return rag
260254

261255
async def main():
262256
try:
@@ -445,8 +439,6 @@ async def initialize_rag():
445439
)
446440

447441
await rag.initialize_storages()
448-
await initialize_pipeline_status()
449-
450442
return rag
451443
```
452444

@@ -577,7 +569,6 @@ from lightrag import LightRAG
577569
from lightrag.llm.llama_index_impl import llama_index_complete_if_cache, llama_index_embed
578570
from llama_index.embeddings.openai import OpenAIEmbedding
579571
from llama_index.llms.openai import OpenAI
580-
from lightrag.kg.shared_storage import initialize_pipeline_status
581572
from lightrag.utils import setup_logger
582573

583574
# Setup log handler for LightRAG
@@ -594,8 +585,6 @@ async def initialize_rag():
594585
)
595586

596587
await rag.initialize_storages()
597-
await initialize_pipeline_status()
598-
599588
return rag
600589

601590
def main():
@@ -847,8 +836,6 @@ async def initialize_rag():
847836
# Initialize database connections
848837
await rag.initialize_storages()
849838
# Initialize pipeline status for document processing
850-
await initialize_pipeline_status()
851-
852839
return rag
853840
```
854841

@@ -933,8 +920,6 @@ async def initialize_rag():
933920
# Initialize database connections
934921
await rag.initialize_storages()
935922
# Initialize pipeline status for document processing
936-
await initialize_pipeline_status()
937-
938923
return rag
939924
```
940925

@@ -1542,16 +1527,13 @@ If you encounter these errors when using LightRAG:
15421527

15431528
2. **`KeyError: 'history_messages'`**
15441529
- **Cause**: Pipeline status not initialized
1545-
- **Solution**: Call `await initialize_pipeline_status()` after initializing storages
1546-
1530+
- **Solution**: Call `
15471531
3. **Both errors in sequence**
15481532
- **Cause**: Neither initialization method was called
15491533
- **Solution**: Always follow this pattern:
15501534
```python
15511535
rag = LightRAG(...)
1552-
await rag.initialize_storages()
1553-
await initialize_pipeline_status()
1554-
```
1536+
await rag.initialize_storages() ```
15551537

15561538
### Model Switching Issues
15571539

examples/lightrag_azure_openai_demo.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
from dotenv import load_dotenv
77
import logging
88
from openai import AzureOpenAI
9-
from lightrag.kg.shared_storage import initialize_pipeline_status
109

1110
logging.basicConfig(level=logging.INFO)
1211

@@ -93,9 +92,7 @@ async def initialize_rag():
9392
),
9493
)
9594

96-
await rag.initialize_storages()
97-
await initialize_pipeline_status()
98-
95+
await rag.initialize_storages() # Auto-initializes pipeline_status
9996
return rag
10097

10198

examples/lightrag_ollama_demo.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
from lightrag import LightRAG, QueryParam
77
from lightrag.llm.ollama import ollama_model_complete, ollama_embed
88
from lightrag.utils import EmbeddingFunc, logger, set_verbose_debug
9-
from lightrag.kg.shared_storage import initialize_pipeline_status
109

1110
from dotenv import load_dotenv
1211

@@ -104,9 +103,7 @@ async def initialize_rag():
104103
),
105104
)
106105

107-
await rag.initialize_storages()
108-
await initialize_pipeline_status()
109-
106+
await rag.initialize_storages() # Auto-initializes pipeline_status
110107
return rag
111108

112109

examples/lightrag_openai_compatible_demo.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
from lightrag.llm.openai import openai_complete_if_cache
88
from lightrag.llm.ollama import ollama_embed
99
from lightrag.utils import EmbeddingFunc, logger, set_verbose_debug
10-
from lightrag.kg.shared_storage import initialize_pipeline_status
1110

1211
from dotenv import load_dotenv
1312

@@ -120,9 +119,7 @@ async def initialize_rag():
120119
),
121120
)
122121

123-
await rag.initialize_storages()
124-
await initialize_pipeline_status()
125-
122+
await rag.initialize_storages() # Auto-initializes pipeline_status
126123
return rag
127124

128125

examples/lightrag_openai_demo.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import logging.config
55
from lightrag import LightRAG, QueryParam
66
from lightrag.llm.openai import gpt_4o_mini_complete, openai_embed
7-
from lightrag.kg.shared_storage import initialize_pipeline_status
87
from lightrag.utils import logger, set_verbose_debug
98

109
WORKING_DIR = "./dickens"
@@ -84,8 +83,7 @@ async def initialize_rag():
8483
llm_model_func=gpt_4o_mini_complete,
8584
)
8685

87-
await rag.initialize_storages()
88-
await initialize_pipeline_status()
86+
await rag.initialize_storages() # Auto-initializes pipeline_status
8987

9088
return rag
9189

examples/lightrag_openai_mongodb_graph_demo.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
from lightrag.llm.openai import gpt_4o_mini_complete, openai_embed
55
from lightrag.utils import EmbeddingFunc
66
import numpy as np
7-
from lightrag.kg.shared_storage import initialize_pipeline_status
87

98
#########
109
# Uncomment the below two lines if running in a jupyter notebook to handle the async nature of rag.insert()
@@ -61,9 +60,7 @@ async def initialize_rag():
6160
log_level="DEBUG",
6261
)
6362

64-
await rag.initialize_storages()
65-
await initialize_pipeline_status()
66-
63+
await rag.initialize_storages() # Auto-initializes pipeline_status
6764
return rag
6865

6966

examples/modalprocessors_example.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import asyncio
88
import argparse
99
from lightrag.llm.openai import openai_complete_if_cache, openai_embed
10-
from lightrag.kg.shared_storage import initialize_pipeline_status
1110
from lightrag import LightRAG
1211
from lightrag.utils import EmbeddingFunc
1312
from raganything.modalprocessors import (
@@ -190,9 +189,7 @@ async def initialize_rag(api_key: str, base_url: str = None):
190189
),
191190
)
192191

193-
await rag.initialize_storages()
194-
await initialize_pipeline_status()
195-
192+
await rag.initialize_storages() # Auto-initializes pipeline_status
196193
return rag
197194

198195

examples/rerank_example.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
from lightrag import LightRAG, QueryParam
3030
from lightrag.llm.openai import openai_complete_if_cache, openai_embed
3131
from lightrag.utils import EmbeddingFunc, setup_logger
32-
from lightrag.kg.shared_storage import initialize_pipeline_status
3332

3433
from functools import partial
3534
from lightrag.rerank import cohere_rerank
@@ -94,9 +93,7 @@ async def create_rag_with_rerank():
9493
rerank_model_func=rerank_model_func,
9594
)
9695

97-
await rag.initialize_storages()
98-
await initialize_pipeline_status()
99-
96+
await rag.initialize_storages() # Auto-initializes pipeline_status
10097
return rag
10198

10299

examples/unofficial-sample/lightrag_bedrock_demo.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from lightrag import LightRAG, QueryParam
99
from lightrag.llm.bedrock import bedrock_complete, bedrock_embed
1010
from lightrag.utils import EmbeddingFunc
11-
from lightrag.kg.shared_storage import initialize_pipeline_status
1211

1312
import asyncio
1413
import nest_asyncio
@@ -32,9 +31,7 @@ async def initialize_rag():
3231
),
3332
)
3433

35-
await rag.initialize_storages()
36-
await initialize_pipeline_status()
37-
34+
await rag.initialize_storages() # Auto-initializes pipeline_status
3835
return rag
3936

4037

0 commit comments

Comments
 (0)