-
Notifications
You must be signed in to change notification settings - Fork 6.1k
[PROTOTYPE] Feature Suggestion: Graphrag update #8878
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
[PROTOTYPE] Feature Suggestion: Graphrag update #8878
Conversation
…d graph building Add separate Extract Entities and Build Graph operations to replace automatic GraphRAG during parsing. Users can now manually control when to extract entities from documents and when to build the complete knowledge graph, with real-time progress tracking for both operations.
More information about the potential race condition in #8882 |
Thanks a lot, please fix the conflict~ |
I mainly would like to know what you think about it before I put more time into it as no one requested this feature. |
Appreciation! From the screenshot, I can't find the process showing off dialog. Is there a placed to show the progress of every step? |
The progress is shown under status in the top left. (Video is 2x speed) Screencast.from.2025-07-17.14-27-18_2x.webm |
I need this feature |
What problem does this PR solve?
It started with me wanting to know how many nodes and edges I had in my Graph. Then the graph kept resetting halfway through the parsing. I think there is a race condition where the graph gets deleted before being rebuilt (set_graph() in ragflow/graphrag/utils.py) and the next task merging on the empty graph (maybe some issue with the lock, im not sure). It happened with multiple task executors but also with just one. By splitting up the process and separating it from the parsing a couple of issues can be solved:
Moved all GraphRAG functionalities to the Knowledge Graph tab
Tab always shows, all tasks can be started from there:
Extract Entities
Build Graph
Resolve Entities
Detect Communities
Show Graph statistics with total number of Nodes, Edges and Communities
Show progress of all tasks
Visualize communities
Type of change
Additional Notes
This is a working implementation that addresses the core issues, but the code still needs cleanup and refinement. I'm looking for feedback on the overall approach and architecture before spending time polishing the implementation details. I saw on the roadmap that you are also working on the Graphrag part, so I don't know if this is even needed.
Key improvements: