diff --git a/lightrag/kg/neo4j_impl.py b/lightrag/kg/neo4j_impl.py index 06abfe02..12a8a221 100644 --- a/lightrag/kg/neo4j_impl.py +++ b/lightrag/kg/neo4j_impl.py @@ -29,12 +29,20 @@ from neo4j import ( # type: ignore AsyncManagedTransaction, ) -config = configparser.ConfigParser() -config.read("config.ini", "utf-8") +from dotenv import load_dotenv + +# use the .env that is inside the current folder +# allows to use different .env file for each lightrag instance +# the OS environment variables take precedence over the .env file +load_dotenv(dotenv_path=".env", override=False) # Get maximum number of graph nodes from environment variable, default is 1000 MAX_GRAPH_NODES = int(os.getenv("MAX_GRAPH_NODES", 1000)) +config = configparser.ConfigParser() +config.read("config.ini", "utf-8") + + # Set neo4j logger level to ERROR to suppress warning logs logging.getLogger("neo4j").setLevel(logging.ERROR) diff --git a/lightrag/kg/networkx_impl.py b/lightrag/kg/networkx_impl.py index 50b3d34a..70a055b0 100644 --- a/lightrag/kg/networkx_impl.py +++ b/lightrag/kg/networkx_impl.py @@ -21,6 +21,13 @@ from .shared_storage import ( set_all_update_flags, ) +from dotenv import load_dotenv + +# use the .env that is inside the current folder +# allows to use different .env file for each lightrag instance +# the OS environment variables take precedence over the .env file +load_dotenv(dotenv_path=".env", override=False) + MAX_GRAPH_NODES = int(os.getenv("MAX_GRAPH_NODES", 1000)) diff --git a/lightrag/kg/postgres_impl.py b/lightrag/kg/postgres_impl.py index 2c1e794d..eec042a2 100644 --- a/lightrag/kg/postgres_impl.py +++ b/lightrag/kg/postgres_impl.py @@ -35,6 +35,13 @@ if not pm.is_installed("asyncpg"): import asyncpg # type: ignore from asyncpg import Pool # type: ignore +from dotenv import load_dotenv + +# use the .env that is inside the current folder +# allows to use different .env file for each lightrag instance +# the OS environment variables take precedence over the .env file +load_dotenv(dotenv_path=".env", override=False) + # Get maximum number of graph nodes from environment variable, default is 1000 MAX_GRAPH_NODES = int(os.getenv("MAX_GRAPH_NODES", 1000)) diff --git a/lightrag/operate.py b/lightrag/operate.py index c3f39cce..bba7da9d 100644 --- a/lightrag/operate.py +++ b/lightrag/operate.py @@ -1560,7 +1560,7 @@ async def _find_most_related_edges_from_entities( ): node_names = [dp["entity_name"] for dp in node_datas] batch_edges_dict = await knowledge_graph_inst.get_nodes_edges_batch(node_names) - + all_edges = [] seen = set()