fix(GraphRAG): create same graph name error. (#2215)

This commit is contained in:
Aries-ckt
2024-12-19 19:33:13 +08:00
committed by GitHub
parent 342a89c14a
commit d4031f0dd8
5 changed files with 31 additions and 0 deletions

View File

@@ -316,6 +316,8 @@ class CommunitySummaryKnowledgeGraph(BuiltinKnowledgeGraph):
async def aload_document(self, chunks: List[Chunk]) -> List[str]:
"""Extract and persist graph from the document file."""
if not self.vector_name_exists():
self._graph_store_apdater.create_graph(self.get_config().name)
await self._aload_document_graph(chunks)
await self._aload_triplet_graph(chunks)
await self._community_store.build_communities(

View File

@@ -172,6 +172,8 @@ class BuiltinKnowledgeGraph(KnowledgeGraphBase):
return chunk.chunk_id
# wait async tasks completed
if not self.vector_name_exists():
self._graph_store_apdater.create_graph(self.get_config().name)
tasks = [process_chunk(chunk) for chunk in chunks]
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
@@ -187,6 +189,8 @@ class BuiltinKnowledgeGraph(KnowledgeGraphBase):
Return:
List[str]: chunk ids.
"""
if not self.vector_name_exists():
self._graph_store_apdater.create_graph(self.get_config().name)
for chunk in chunks:
triplets = await self._triplet_extractor.extract(chunk.content)
for triplet in triplets:
@@ -279,3 +283,7 @@ class BuiltinKnowledgeGraph(KnowledgeGraphBase):
"""Delete by ids."""
self._graph_store_apdater.delete_document(chunk_id=ids)
return []
def vector_name_exists(self) -> bool:
"""Whether name exists."""
return self._graph_store_apdater.graph_store.is_exist(self._config.name)