I created a tool that allows you to remove duplicate nodes on a graphrag while consuming 0 tokens (almost zero).
Hello,
I've created a Python library (as middleware) for Neo4j, Langchain, and other frameworks/libraries to create graphs. Basically, the problem I personally had was that my graph created nodes whenever I didn't have exactly the same word (for example, Apple and AAPL were separate), which was annoying. The first approach was to run LLM on all the nodes and find the duplicates, but this is very expensive if the data grows exponentially.
So I built this tool that combines three layers of analysis (RapidFuze, vector analysis, and, if nothing else works, LLM). You can check it out on GitHub if you're interested. I'm looking for feedback to improve it:
https://github.com/jules-gd-dev/autograft-lib
Have a good day, team!