graphrag icon indicating copy to clipboard operation
graphrag copied to clipboard

[Feature Request]: Separate dependency groups for indexing vs querying

Open jkafrouni opened this issue 7 months ago • 0 comments

Do you need to file an issue?

  • [ ] I have searched the existing issues and this feature is not already filed.
  • [ ] My model is hosted on OpenAI or Azure. If not, please look at the "model providers" issue and don't file a new one here.
  • [x] I believe this is a legitimate feature request, not just a question. If this is a question, please use the Discussions area.

Is your feature request related to a problem? Please describe.

Graphrag indexing depends on graspologic, which has a strict dependency on scipy 1.12 (released in jan 2024). This makes it incompatible with packages such as semantic-kernel>1.20. Besides, graphrag has a lot of dependencies making it pretty heavy.

Describe the solution you'd like

Use dependency groups in pyproject.toml so that users can pip install graprag[indexing] or graphrag[querying] separately. Indexing would only include packages used during indexing: graspologic, networkx, umap-learn etc.

Additional context

Seems related to:

  • incompatibility with semantic kernel: https://github.com/microsoft/graphrag/issues/1807
  • scipy version: https://github.com/microsoft/graphrag/issues/132

jkafrouni avatar May 14 '25 13:05 jkafrouni