From 67007ed9a6acb351679da9c913e2a37673e114c9 Mon Sep 17 00:00:00 2001 From: yangdx Date: Mon, 17 Nov 2025 15:42:54 +0800 Subject: [PATCH] Improve LightRAG initialization checker tool with better usage docs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • Add workspace param to get_namespace_data • Update docstring with proper usage example • Simplify demo to show correct workflow • Remove confusing before/after comparison • Clarify tool should run after init (cherry picked from commit 393f8803116cb3a7d2647c7b6f58ef33524f2689) --- lightrag/tools/check_initialization.py | 29 +++++++++++++------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/lightrag/tools/check_initialization.py b/lightrag/tools/check_initialization.py index 6bcb17e3..ee650824 100644 --- a/lightrag/tools/check_initialization.py +++ b/lightrag/tools/check_initialization.py @@ -3,10 +3,17 @@ Diagnostic tool to check LightRAG initialization status. This tool helps developers verify that their LightRAG instance is properly -initialized before use, preventing common initialization errors. +initialized and ready to use. It should be called AFTER initialize_storages() +to validate that all components are correctly set up. Usage: - python -m lightrag.tools.check_initialization + # Basic usage in your code: + rag = LightRAG(...) + await rag.initialize_storages() + await check_lightrag_setup(rag, verbose=True) + + # Run demo from command line: + python -m lightrag.tools.check_initialization --demo """ import asyncio @@ -82,11 +89,11 @@ async def check_lightrag_setup(rag_instance: LightRAG, verbose: bool = False) -> try: from lightrag.kg.shared_storage import get_namespace_data - get_namespace_data("pipeline_status") + get_namespace_data("pipeline_status", workspace=rag_instance.workspace) print("✅ Pipeline status: INITIALIZED") except KeyError: issues.append( - "Pipeline status not initialized - call initialize_pipeline_status()" + "Pipeline status not initialized - call rag.initialize_storages() first" ) except Exception as e: issues.append(f"Error checking pipeline status: {str(e)}") @@ -101,8 +108,6 @@ async def check_lightrag_setup(rag_instance: LightRAG, verbose: bool = False) -> print("\n📝 To fix, run this initialization sequence:\n") print(" await rag.initialize_storages()") - print(" from lightrag.kg.shared_storage import initialize_pipeline_status") - print(" await initialize_pipeline_status()") print( "\n📚 Documentation: https://github.com/HKUDS/LightRAG#important-initialization-requirements" ) @@ -127,7 +132,6 @@ async def check_lightrag_setup(rag_instance: LightRAG, verbose: bool = False) -> async def demo(): """Demonstrate the diagnostic tool with a test instance.""" from lightrag.llm.openai import openai_embed, gpt_4o_mini_complete - from lightrag.kg.shared_storage import initialize_pipeline_status print("=" * 50) print("LightRAG Initialization Diagnostic Tool") @@ -140,15 +144,10 @@ async def demo(): llm_model_func=gpt_4o_mini_complete, ) - print("\n🔴 BEFORE initialization:\n") - await check_lightrag_setup(rag, verbose=True) + print("\n🔄 Initializing storages...\n") + await rag.initialize_storages() # Auto-initializes pipeline_status - print("\n" + "=" * 50) - print("\n🔄 Initializing...\n") - await rag.initialize_storages() - await initialize_pipeline_status() - - print("\n🟢 AFTER initialization:\n") + print("\n🔍 Checking initialization status:\n") await check_lightrag_setup(rag, verbose=True) # Cleanup