fix cache bug
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
from .lightrag import LightRAG as LightRAG, QueryParam as QueryParam
|
from .lightrag import LightRAG as LightRAG, QueryParam as QueryParam
|
||||||
|
|
||||||
__version__ = "1.0.0"
|
__version__ = "1.0.1"
|
||||||
__author__ = "Zirui Guo"
|
__author__ = "Zirui Guo"
|
||||||
__url__ = "https://github.com/HKUDS/LightRAG"
|
__url__ = "https://github.com/HKUDS/LightRAG"
|
||||||
|
@@ -630,10 +630,16 @@ async def _find_most_related_edges_from_entities(
|
|||||||
all_related_edges = await asyncio.gather(
|
all_related_edges = await asyncio.gather(
|
||||||
*[knowledge_graph_inst.get_node_edges(dp["entity_name"]) for dp in node_datas]
|
*[knowledge_graph_inst.get_node_edges(dp["entity_name"]) for dp in node_datas]
|
||||||
)
|
)
|
||||||
all_edges = set()
|
all_edges = []
|
||||||
|
seen = set()
|
||||||
|
|
||||||
for this_edges in all_related_edges:
|
for this_edges in all_related_edges:
|
||||||
all_edges.update([tuple(sorted(e)) for e in this_edges])
|
for e in this_edges:
|
||||||
all_edges = list(all_edges)
|
sorted_edge = tuple(sorted(e))
|
||||||
|
if sorted_edge not in seen:
|
||||||
|
seen.add(sorted_edge)
|
||||||
|
all_edges.append(sorted_edge)
|
||||||
|
|
||||||
all_edges_pack = await asyncio.gather(
|
all_edges_pack = await asyncio.gather(
|
||||||
*[knowledge_graph_inst.get_edge(e[0], e[1]) for e in all_edges]
|
*[knowledge_graph_inst.get_edge(e[0], e[1]) for e in all_edges]
|
||||||
)
|
)
|
||||||
@@ -833,10 +839,16 @@ async def _find_most_related_entities_from_relationships(
|
|||||||
query_param: QueryParam,
|
query_param: QueryParam,
|
||||||
knowledge_graph_inst: BaseGraphStorage,
|
knowledge_graph_inst: BaseGraphStorage,
|
||||||
):
|
):
|
||||||
entity_names = set()
|
entity_names = []
|
||||||
|
seen = set()
|
||||||
|
|
||||||
for e in edge_datas:
|
for e in edge_datas:
|
||||||
entity_names.add(e["src_id"])
|
if e["src_id"] not in seen:
|
||||||
entity_names.add(e["tgt_id"])
|
entity_names.append(e["src_id"])
|
||||||
|
seen.add(e["src_id"])
|
||||||
|
if e["tgt_id"] not in seen:
|
||||||
|
entity_names.append(e["tgt_id"])
|
||||||
|
seen.add(e["tgt_id"])
|
||||||
|
|
||||||
node_datas = await asyncio.gather(
|
node_datas = await asyncio.gather(
|
||||||
*[knowledge_graph_inst.get_node(entity_name) for entity_name in entity_names]
|
*[knowledge_graph_inst.get_node(entity_name) for entity_name in entity_names]
|
||||||
|
@@ -274,13 +274,19 @@ def process_combine_contexts(hl, ll):
|
|||||||
if list_ll:
|
if list_ll:
|
||||||
list_ll = [",".join(item[1:]) for item in list_ll if item]
|
list_ll = [",".join(item[1:]) for item in list_ll if item]
|
||||||
|
|
||||||
combined_sources_set = set(filter(None, list_hl + list_ll))
|
combined_sources = []
|
||||||
|
seen = set()
|
||||||
|
|
||||||
combined_sources = [",\t".join(header)]
|
for item in list_hl + list_ll:
|
||||||
|
if item and item not in seen:
|
||||||
|
combined_sources.append(item)
|
||||||
|
seen.add(item)
|
||||||
|
|
||||||
for i, item in enumerate(combined_sources_set, start=1):
|
combined_sources_result = [",\t".join(header)]
|
||||||
combined_sources.append(f"{i},\t{item}")
|
|
||||||
|
|
||||||
combined_sources = "\n".join(combined_sources)
|
for i, item in enumerate(combined_sources, start=1):
|
||||||
|
combined_sources_result.append(f"{i},\t{item}")
|
||||||
|
|
||||||
return combined_sources
|
combined_sources_result = "\n".join(combined_sources_result)
|
||||||
|
|
||||||
|
return combined_sources_result
|
||||||
|
Reference in New Issue
Block a user