Add entity vector database upsert for newly added entities by edges upserts
This commit is contained in:
parent
7cc2b69bcf
commit
4f5ad76c2c
1 changed files with 29 additions and 0 deletions
|
|
@ -1813,6 +1813,35 @@ async def merge_nodes_and_edges(
|
||||||
retry_delay=0.1,
|
retry_delay=0.1,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Update added_entities to entity vector database using safe operation wrapper
|
||||||
|
if added_entities and entity_vdb is not None:
|
||||||
|
for entity_data in added_entities:
|
||||||
|
entity_vdb_id = compute_mdhash_id(
|
||||||
|
entity_data["entity_name"], prefix="ent-"
|
||||||
|
)
|
||||||
|
entity_content = f"{entity_data['entity_name']}\n{entity_data['description']}"
|
||||||
|
|
||||||
|
vdb_data = {
|
||||||
|
entity_vdb_id: {
|
||||||
|
"content": entity_content,
|
||||||
|
"entity_name": entity_data["entity_name"],
|
||||||
|
"source_id": entity_data["source_id"],
|
||||||
|
"entity_type": entity_data["entity_type"],
|
||||||
|
"file_path": entity_data.get(
|
||||||
|
"file_path", "unknown_source"
|
||||||
|
),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Use safe operation wrapper - VDB failure must throw exception
|
||||||
|
await safe_vdb_operation_with_exception(
|
||||||
|
operation=lambda data=vdb_data: entity_vdb.upsert(data),
|
||||||
|
operation_name="added_entity_upsert",
|
||||||
|
entity_name=entity_data["entity_name"],
|
||||||
|
max_retries=3,
|
||||||
|
retry_delay=0.1,
|
||||||
|
)
|
||||||
|
|
||||||
return edge_data, added_entities
|
return edge_data, added_entities
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue