Graphiti Jev Deduplication
Use Jev typed decisions to deduplicate graph entities and resolve duplicate or contradictory facts.
Use Jev typed decisions to deduplicate graph entities and resolve duplicate or contradictory facts.
Graphiti routes its node-deduplication and edge-resolution prompts through a Jev LLM client. For node deduplication, Jev receives the current message, extracted entities, and existing entities, then returns a Choice mapping each new entity to an existing candidate ID or none. For edge resolution, Jev returns Noul answers for duplicate and contradiction checks; the client applies separate 0.7 duplicate and 0.8 contradiction thresholds. The client is scoped to these two prompt names and does not replace Graphiti's general generation client.
Decide whether an existing fact states the same information as the new fact, including when it contains more detail.
The state contains the new fact, existing facts, and fact-invalidation candidates. One question is generated for each existing fact using its index.
Graphiti renders its existing node or edge prompt, converts the rendered state and candidates into Jev typed questions, and sends only dedupe_nodes.nodes or dedupe_edges.resolve_edge through the Jev client.
For nodes, Graphiti maps the selected candidate ID to an entity resolution, with none represented as -1. For edges, it compares Noul probabilities with the configured duplicate and contradiction thresholds and returns matching fact indices.
The integration turns two graph-maintenance judgments into explicit typed decisions while keeping candidate construction, temporal rules, and threshold-based result assembly in Graphiti. It shows how to insert bounded classification into a larger LLM workflow without routing generation through the decision service.