LarFii
commited on
Commit
·
e8db793
1
Parent(s):
a79530e
fix cache bug
Browse files- lightrag/__init__.py +1 -1
- lightrag/operate.py +18 -6
- lightrag/utils.py +12 -6
lightrag/__init__.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
from .lightrag import LightRAG as LightRAG, QueryParam as QueryParam
|
| 2 |
|
| 3 |
-
__version__ = "1.0.
|
| 4 |
__author__ = "Zirui Guo"
|
| 5 |
__url__ = "https://github.com/HKUDS/LightRAG"
|
|
|
|
| 1 |
from .lightrag import LightRAG as LightRAG, QueryParam as QueryParam
|
| 2 |
|
| 3 |
+
__version__ = "1.0.1"
|
| 4 |
__author__ = "Zirui Guo"
|
| 5 |
__url__ = "https://github.com/HKUDS/LightRAG"
|
lightrag/operate.py
CHANGED
|
@@ -630,10 +630,16 @@ async def _find_most_related_edges_from_entities(
|
|
| 630 |
all_related_edges = await asyncio.gather(
|
| 631 |
*[knowledge_graph_inst.get_node_edges(dp["entity_name"]) for dp in node_datas]
|
| 632 |
)
|
| 633 |
-
all_edges =
|
|
|
|
|
|
|
| 634 |
for this_edges in all_related_edges:
|
| 635 |
-
|
| 636 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 637 |
all_edges_pack = await asyncio.gather(
|
| 638 |
*[knowledge_graph_inst.get_edge(e[0], e[1]) for e in all_edges]
|
| 639 |
)
|
|
@@ -833,10 +839,16 @@ async def _find_most_related_entities_from_relationships(
|
|
| 833 |
query_param: QueryParam,
|
| 834 |
knowledge_graph_inst: BaseGraphStorage,
|
| 835 |
):
|
| 836 |
-
entity_names =
|
|
|
|
|
|
|
| 837 |
for e in edge_datas:
|
| 838 |
-
|
| 839 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 840 |
|
| 841 |
node_datas = await asyncio.gather(
|
| 842 |
*[knowledge_graph_inst.get_node(entity_name) for entity_name in entity_names]
|
|
|
|
| 630 |
all_related_edges = await asyncio.gather(
|
| 631 |
*[knowledge_graph_inst.get_node_edges(dp["entity_name"]) for dp in node_datas]
|
| 632 |
)
|
| 633 |
+
all_edges = []
|
| 634 |
+
seen = set()
|
| 635 |
+
|
| 636 |
for this_edges in all_related_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 |
+
|
| 643 |
all_edges_pack = await asyncio.gather(
|
| 644 |
*[knowledge_graph_inst.get_edge(e[0], e[1]) for e in all_edges]
|
| 645 |
)
|
|
|
|
| 839 |
query_param: QueryParam,
|
| 840 |
knowledge_graph_inst: BaseGraphStorage,
|
| 841 |
):
|
| 842 |
+
entity_names = []
|
| 843 |
+
seen = set()
|
| 844 |
+
|
| 845 |
for e in edge_datas:
|
| 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"])
|
| 852 |
|
| 853 |
node_datas = await asyncio.gather(
|
| 854 |
*[knowledge_graph_inst.get_node(entity_name) for entity_name in entity_names]
|
lightrag/utils.py
CHANGED
|
@@ -274,13 +274,19 @@ def process_combine_contexts(hl, ll):
|
|
| 274 |
if list_ll:
|
| 275 |
list_ll = [",".join(item[1:]) for item in list_ll if item]
|
| 276 |
|
| 277 |
-
|
|
|
|
| 278 |
|
| 279 |
-
|
|
|
|
|
|
|
|
|
|
| 280 |
|
| 281 |
-
|
| 282 |
-
combined_sources.append(f"{i},\t{item}")
|
| 283 |
|
| 284 |
-
|
|
|
|
| 285 |
|
| 286 |
-
|
|
|
|
|
|
|
|
|
| 274 |
if list_ll:
|
| 275 |
list_ll = [",".join(item[1:]) for item in list_ll if item]
|
| 276 |
|
| 277 |
+
combined_sources = []
|
| 278 |
+
seen = set()
|
| 279 |
|
| 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)
|
| 284 |
|
| 285 |
+
combined_sources_result = [",\t".join(header)]
|
|
|
|
| 286 |
|
| 287 |
+
for i, item in enumerate(combined_sources, start=1):
|
| 288 |
+
combined_sources_result.append(f"{i},\t{item}")
|
| 289 |
|
| 290 |
+
combined_sources_result = "\n".join(combined_sources_result)
|
| 291 |
+
|
| 292 |
+
return combined_sources_result
|