diff --git a/Dockerfile b/Dockerfile index 2da41e287..780caaeaf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ ADD ./api ./api ADD ./conf ./conf ADD ./deepdoc ./deepdoc ADD ./rag ./rag -ADD ./graph ./graph +ADD ./agent ./agent ENV PYTHONPATH=/ragflow/ ENV HF_ENDPOINT=https://hf-mirror.com diff --git a/Dockerfile.arm b/Dockerfile.arm index b64401e18..9dfc80e7e 100644 --- a/Dockerfile.arm +++ b/Dockerfile.arm @@ -21,7 +21,7 @@ ADD ./api ./api ADD ./conf ./conf ADD ./deepdoc ./deepdoc ADD ./rag ./rag -ADD ./graph ./graph +ADD ./agent ./agent ENV PYTHONPATH=/ragflow/ ENV HF_ENDPOINT=https://hf-mirror.com diff --git a/Dockerfile.cuda b/Dockerfile.cuda index 81a444d7c..c8905e280 100644 --- a/Dockerfile.cuda +++ b/Dockerfile.cuda @@ -15,7 +15,7 @@ ADD ./api ./api ADD ./conf ./conf ADD ./deepdoc ./deepdoc ADD ./rag ./rag -ADD ./graph ./graph +ADD ./agent ./agent ENV PYTHONPATH=/ragflow/ ENV HF_ENDPOINT=https://hf-mirror.com diff --git a/Dockerfile.scratch b/Dockerfile.scratch index a607b63bc..26b707f30 100644 --- a/Dockerfile.scratch +++ b/Dockerfile.scratch @@ -30,7 +30,7 @@ ADD ./conf ./conf ADD ./deepdoc ./deepdoc ADD ./rag ./rag ADD ./requirements.txt ./requirements.txt -ADD ./graph ./graph +ADD ./agent ./agent RUN apt install openmpi-bin openmpi-common libopenmpi-dev ENV LD_LIBRARY_PATH /usr/lib/x86_64-linux-gnu/openmpi/lib:$LD_LIBRARY_PATH diff --git a/Dockerfile.scratch.oc9 b/Dockerfile.scratch.oc9 index 905334386..548a8ebc8 100644 --- a/Dockerfile.scratch.oc9 +++ b/Dockerfile.scratch.oc9 @@ -30,7 +30,7 @@ ADD ./conf ./conf ADD ./deepdoc ./deepdoc ADD ./rag ./rag ADD ./requirements.txt ./requirements.txt -ADD ./graph ./graph +ADD ./agent ./agent RUN dnf install -y openmpi openmpi-devel python3-openmpi ENV C_INCLUDE_PATH /usr/include/openmpi-x86_64:$C_INCLUDE_PATH diff --git a/graphrag/leiden.py b/graphrag/leiden.py index 945ef585e..4fa1720ab 100644 --- a/graphrag/leiden.py +++ b/graphrag/leiden.py @@ -25,6 +25,7 @@ from graspologic.partition import hierarchical_leiden from graspologic.utils import largest_connected_component import networkx as nx +from networkx import is_empty log = logging.getLogger(__name__) @@ -91,13 +92,14 @@ def _compute_leiden_communities( seed=0xDEADBEEF, ) -> dict[int, dict[str, int]]: """Return Leiden root communities.""" + results: dict[int, dict[str, int]] = {} + if is_empty(graph): return results if use_lcc: graph = stable_largest_connected_component(graph) community_mapping = hierarchical_leiden( graph, max_cluster_size=max_cluster_size, random_seed=seed ) - results: dict[int, dict[str, int]] = {} for partition in community_mapping: results[partition.level] = results.get(partition.level, {}) results[partition.level][partition.node] = partition.cluster