# gusye1234/nano-graphrag

A simple, easy-to-hack GraphRAG implementation

Repository: https://github.com/gusye1234/nano-graphrag
Canonical: https://ross.abutalabs.com/products/nano-graphrag
Language: Python
License: MIT
License Family: permissive
Topics: gpt-4o, graphrag, learning-by-doing, gpt, llm, rag
Last push: 2026-01-27T07:50:55+00:00

## Health v2 (maintenance only)
Score: 54/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 64, release rhythm 40, longevity 54
- inputs: {"age_days": 769, "days_push": 218, "days_rel": 701, "gap_med": 22, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3974, forks 424 (observed 2026-08-28T04:08:30.908884+00:00)

## What it is
nano-graphrag is a lightweight, ~1100-line Python implementation of Microsoft's GraphRAG, designed to be small, fast, and easy to read or hack. It supports pluggable backends (faiss, neo4j, ollama), async operation, and multiple LLM providers including OpenAI, Azure OpenAI, and Amazon Bedrock.

## Use cases
- build a graph-based RAG pipeline over my documents
- understand how GraphRAG works by reading a small codebase
- run GraphRAG locally with ollama instead of OpenAI
- customize a GraphRAG implementation for my own research
- extract knowledge graphs from text and query them with an LLM
- index a corpus and answer questions using graph-based retrieval

## When to choose
- you want a minimal, hackable GraphRAG rather than the heavy official Microsoft implementation
- you need to modify or extend GraphRAG internals for research or prototyping
- you want to swap in your own LLM, embedding, or vector store backends

## When to avoid
- you need a production-grade, fully supported GraphRAG with enterprise features
- you want a turnkey application with a UI rather than a Python library
- you need multi-user long-term memory RAG (the authors point to memobase instead)

## Facets
- artifact type: library
- maturity: active
- function: rag, llm-inference, search-engine, nlp
- domain: large-language-models, artificial-intelligence
- platform: python, cross-platform
- tags: graphrag, knowledge-graph, graph-based-rag, lightweight, easy-to-hack, async, retrieval-augmented-generation, natural-language-processing

## Member repositories
- gusye1234/nano-graphrag (main) score 54

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:30.908884+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:24:19.957517+00:00, confidence not recorded.
  - readme: https://github.com/gusye1234/nano-graphrag (fetched 2026-08-28T04:08:30.908884+00:00, sha ece58407f2bc)
  - registry_pypi: https://pypi.org/pypi/nano-graphrag/json (fetched 2026-08-29T09:17:40.816801+00:00, sha 4774e158c0c1)
- Data as of 2026-08-30T08:39:29.467469+00:00.
