Skip to content

Commit 30cf5a6

Browse files
committed
fix cache bug
1 parent 87aad35 commit 30cf5a6

File tree

3 files changed

+31
-13
lines changed

3 files changed

+31
-13
lines changed

‎lightrag/__init__.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from .lightrag import LightRAG as LightRAG, QueryParam as QueryParam
22

3-
__version__ = "1.0.0"
3+
__version__ = "1.0.1"
44
__author__ = "Zirui Guo"
55
__url__ = "https://github.com/HKUDS/LightRAG"

‎lightrag/operate.py‎

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -630,10 +630,16 @@ async def _find_most_related_edges_from_entities(
630630
all_related_edges = await asyncio.gather(
631631
*[knowledge_graph_inst.get_node_edges(dp["entity_name"]) for dp in node_datas]
632632
)
633-
all_edges = set()
633+
all_edges = []
634+
seen = set()
635+
634636
for this_edges in all_related_edges:
635-
all_edges.update([tuple(sorted(e)) for e in this_edges])
636-
all_edges = list(all_edges)
637+
for e in this_edges:
638+
sorted_edge = tuple(sorted(e))
639+
if sorted_edge not in seen:
640+
seen.add(sorted_edge)
641+
all_edges.append(sorted_edge)
642+
637643
all_edges_pack = await asyncio.gather(
638644
*[knowledge_graph_inst.get_edge(e[0], e[1]) for e in all_edges]
639645
)
@@ -833,10 +839,16 @@ async def _find_most_related_entities_from_relationships(
833839
query_param: QueryParam,
834840
knowledge_graph_inst: BaseGraphStorage,
835841
):
836-
entity_names = set()
842+
entity_names = []
843+
seen = set()
844+
837845
for e in edge_datas:
838-
entity_names.add(e["src_id"])
839-
entity_names.add(e["tgt_id"])
846+
if e["src_id"] not in seen:
847+
entity_names.append(e["src_id"])
848+
seen.add(e["src_id"])
849+
if e["tgt_id"] not in seen:
850+
entity_names.append(e["tgt_id"])
851+
seen.add(e["tgt_id"])
840852

841853
node_datas = await asyncio.gather(
842854
*[knowledge_graph_inst.get_node(entity_name) for entity_name in entity_names]

‎lightrag/utils.py‎

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -274,13 +274,19 @@ def process_combine_contexts(hl, ll):
274274
if list_ll:
275275
list_ll = [",".join(item[1:]) for item in list_ll if item]
276276

277-
combined_sources_set = set(filter(None, list_hl + list_ll))
277+
combined_sources = []
278+
seen = set()
278279

279-
combined_sources = [",\t".join(header)]
280+
for item in list_hl + list_ll:
281+
if item and item not in seen:
282+
combined_sources.append(item)
283+
seen.add(item)
280284

281-
for i, item in enumerate(combined_sources_set, start=1):
282-
combined_sources.append(f"{i},\t{item}")
285+
combined_sources_result = [",\t".join(header)]
283286

284-
combined_sources = "\n".join(combined_sources)
287+
for i, item in enumerate(combined_sources, start=1):
288+
combined_sources_result.append(f"{i},\t{item}")
285289

286-
return combined_sources
290+
combined_sources_result = "\n".join(combined_sources_result)
291+
292+
return combined_sources_result

0 commit comments

Comments
 (0)