Skip to content
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

[Graph RAG] Init Commit with GraphRag interfaces #3388

Merged
merged 10 commits into from
Sep 4, 2024

Conversation

randombet
Copy link
Collaborator

Why are these changes needed?

Graph RAG is a long-sought feature from the community, we plan to support this and integrate FalkorDB and MS GraphRAG.
Please refer to the design doc for more details.
https://docs.google.com/document/d/15uuNrJrxujX8biPCAZzAtmeMKOFB4SEMkVszcE9nzRo/edit

This is the first PR to set up the graph rag interfaces.

Related issue number

GraphRAG support #3119

Checks

@thinkall thinkall self-assigned this Aug 20, 2024
@thinkall thinkall added the rag retrieve-augmented generative agents label Aug 20, 2024
@thinkall thinkall requested review from qingyun-wu and 2152505 August 20, 2024 08:50
Copy link
Collaborator

@thinkall thinkall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @randombet for the PR. I've left some minor suggestions.

autogen/agentchat/contrib/graph_rag/graph_rag_agent.py Outdated Show resolved Hide resolved
autogen/agentchat/contrib/graph_rag/graph_rag_agent.py Outdated Show resolved Hide resolved
autogen/agentchat/contrib/graph_rag/graph_rag_agent.py Outdated Show resolved Hide resolved
autogen/agentchat/contrib/graph_rag/graph_rag_agent.py Outdated Show resolved Hide resolved
autogen/agentchat/contrib/graph_rag/graph_store.py Outdated Show resolved Hide resolved
@randombet randombet requested a review from marklysze August 27, 2024 00:13
@thinkall thinkall requested review from ekzhu, jackgerrits and gagb August 27, 2024 01:08
@codecov-commenter
Copy link

codecov-commenter commented Aug 29, 2024

Codecov Report

Attention: Patch coverage is 0% with 33 lines in your changes missing coverage. Please review.

Project coverage is 22.24%. Comparing base (6279247) to head (a9c53aa).
Report is 138 commits behind head on main.

Files with missing lines Patch % Lines
.../agentchat/contrib/graph_rag/graph_query_engine.py 0.00% 14 Missing ⚠️
autogen/agentchat/contrib/graph_rag/document.py 0.00% 12 Missing ⚠️
...gentchat/contrib/graph_rag/graph_rag_capability.py 0.00% 7 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #3388       +/-   ##
===========================================
- Coverage   32.90%   22.24%   -10.67%     
===========================================
  Files          94      105       +11     
  Lines       10235    11095      +860     
  Branches     2193     2540      +347     
===========================================
- Hits         3368     2468      -900     
- Misses       6580     8383     +1803     
+ Partials      287      244       -43     
Flag Coverage Δ
unittest 11.90% <0.00%> (?)
unittests 22.18% <0.00%> (-10.73%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Collaborator

@gagb gagb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it correct that this PR creates the interfaces for GraphRAG but does not fully implement it? Will example notebooks and use cases be added to this PR?

@thinkall
Copy link
Collaborator

Is it correct that this PR creates the interfaces for GraphRAG but does not fully implement it? Will example notebooks and use cases be added to this PR?

The original plan is to first add interface and then add implementations. In this PR, only interface will be added. WDYT? @gagb

@gagb
Copy link
Collaborator

gagb commented Aug 30, 2024

Thank you @thinkall I trust your expertise on this PR! Is there a reason to merge this before adding an implementation? Also can we remove the changes in the notebook -- they seems to be unrelated :) But the changes in the notebook are also non consequential.

@randombet
Copy link
Collaborator Author

@thinkall I updated the PR, pls review.
I checked FalkorDB, MS GraphRAG, LlamaIndex with NebulaGraph.
The change to use capability is because

  1. Current Graph RAG implementation frameworks integrate retrieve and generate together.
  2. Graph RAG Framework retrieve module assumes they knows about the underling graph hierarchy that we could not separate from Agent side.
  3. This is also easier for us to integrate to agent.

Copy link
Collaborator

@thinkall thinkall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @randombet , would you like to add a test for graph_rag? Thanks.

@thinkall thinkall enabled auto-merge September 4, 2024 15:45
@thinkall thinkall added this pull request to the merge queue Sep 4, 2024
Merged via the queue into microsoft:main with commit e579a46 Sep 4, 2024
142 of 154 checks passed
@gkorland
Copy link

Thanks! When do you plan to release the next version with this capability?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rag retrieve-augmented generative agents
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants