From eb716f1e469dc4f32680c7755fd6fd5265674572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A2=A8=E6=A2=93=E6=9F=92?= <1787882683@qq.com> Date: Wed, 16 Jul 2025 21:02:01 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E5=A4=8D=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E5=92=8C=E6=AE=B5=E8=90=BD=E8=8A=82=E7=82=B9=E4=B8=8D?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=E6=97=B6=E7=9A=84=E5=A4=84=E7=90=86=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/chat/knowledge/kg_manager.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/chat/knowledge/kg_manager.py b/src/chat/knowledge/kg_manager.py index 38f883d0e..e18a7da80 100644 --- a/src/chat/knowledge/kg_manager.py +++ b/src/chat/knowledge/kg_manager.py @@ -184,10 +184,10 @@ class KGManager: progress.update(task, advance=1) continue ent = embedding_manager.entities_embedding_store.store.get(ent_hash) - assert isinstance(ent, EmbeddingStoreItem) if ent is None: progress.update(task, advance=1) continue + assert isinstance(ent, EmbeddingStoreItem) # 查询相似实体 similar_ents = embedding_manager.entities_embedding_store.search_top_k( ent.embedding, global_config["rag"]["params"]["synonym_search_top_k"] @@ -265,7 +265,10 @@ class KGManager: if node_hash not in existed_nodes: if node_hash.startswith(local_storage['ent_namespace']): # 新增实体节点 - node = embedding_manager.entities_embedding_store.store[node_hash] + node = embedding_manager.entities_embedding_store.store.get(node_hash) + if node is None: + logger.warning(f"实体节点 {node_hash} 在嵌入库中不存在,跳过") + continue assert isinstance(node, EmbeddingStoreItem) node_item = self.graph[node_hash] node_item["content"] = node.str @@ -274,7 +277,10 @@ class KGManager: self.graph.update_node(node_item) elif node_hash.startswith(local_storage['pg_namespace']): # 新增文段节点 - node = embedding_manager.paragraphs_embedding_store.store[node_hash] + node = embedding_manager.paragraphs_embedding_store.store.get(node_hash) + if node is None: + logger.warning(f"段落节点 {node_hash} 在嵌入库中不存在,跳过") + continue assert isinstance(node, EmbeddingStoreItem) content = node.str.replace("\n", " ") node_item = self.graph[node_hash]