import asyncio import json import os import time from lightrag import LightRAG def insert_text(rag, file_path): with open(file_path) as f: unique_contexts = json.load(f) retries = 0 max_retries = 3 while retries < max_retries: try: rag.insert(unique_contexts) break except Exception as e: retries += 1 print(f'Insertion failed, retrying ({retries}/{max_retries}), error: {e}') time.sleep(10) if retries == max_retries: print('Insertion failed after exceeding the maximum number of retries') cls = 'agriculture' WORKING_DIR = f'../{cls}' if not os.path.exists(WORKING_DIR): os.mkdir(WORKING_DIR) async def initialize_rag(): rag = LightRAG(working_dir=WORKING_DIR) await rag.initialize_storages() # Auto-initializes pipeline_status return rag def main(): # Initialize RAG instance rag = asyncio.run(initialize_rag()) insert_text(rag, f'../datasets/unique_contexts/{cls}_unique_contexts.json') if __name__ == '__main__': main()