graphrag-rs
GraphRAG-rs implements Graph-based Retrieval Augmented Generation for knowledge graph creation and natural language querying with entity extraction and LLM integration.
GraphCanon updated 1mo · GitHub synced 1mo
Decision brief
GraphRAG-rs creates knowledge graphs from documents, enables natural language querying with customizable entity extraction and local LLM support, written in Rust.
Good fit when
- Need Rust-based implementation for integration into existing Rust projects
- Require state-of-the-art GraphRAG performance for document to graph conversion
Avoid when
- Seeking solutions that offer cloud-hosted machine learning services directly
- Projects that demand Python libraries due to ecosystem dependencies
Observed Jul 15, 2026 · Source: enrich:decision_facts
Verify the decision
Maintenance and security
Full trust report- Maintenance
- Steady (50d since push)
- As of 1mo
- Provenance
- Not a fork · Personal account
- As of 1mo
- Security (OSV)
- No lockfile
- As of 1mo
Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.
Install
cargo add graphrag-rs crates.ioSimilar tools
Same-category neighbours. No typed graph edges are catalogued for this tool yet.
Evidence and technical details
Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.
Overview
A Rust implementation of GraphRAG that constructs knowledge graphs from documents, supporting natural language queries through configurable entity extraction and local LLM integration.
Capability facts
- Languages
- rust
Source: github.language · Jul 23, 2026
Categories
Compatibility
Sourced claims from the README excerpt - not unsourced marketing copy.
Source: README excerpt (regex_v1, Jul 23, 2026)
- **Node.js 18+** (for WASM builds)Source link
Tags
README
30-Second Quick Start
CLI (no config file needed):
cargo install --path graphrag-cli # one-time install
graphrag index ./mydoc.txt # builds ./graphrag-data
graphrag ask "What is the main topic?" # answers from the graph
Add --ollama to either command for LLM-quality entity extraction
(requires ollama serve running locally).
Library (Rust):
use graphrag::GraphRAG;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let mut g = GraphRAG::quick_start("Plato's Symposium full text here...").await?;
println!("{}", g.ask("Who is Diotima?").await?);
Ok(())
}
Both flows use sensible defaults — hash-fallback embeddings, pattern-based entity extraction, persistent workspace. Opt into Ollama / GLiNER / custom chunking with the builder when you need more.
System Requirements
- Rust 1.85+ with
wasm32-unknown-unknowntarget - Node.js 18+ (for WASM builds)
- Git for cloning
Install Visual Studio Build Tools with C++ support
Install Rust with Windows target support
rustup target add wasm32-unknown-unknown
---
## Deployment Options
GraphRAG-rs supports **three deployment architectures** - choose based on your needs:
---
# Install trunk for WASM builds
cargo install trunk wasm-bindgen-cli
---
# Optional: Install globally
cargo install --path .
Quick Start (5 Lines!)
The fastest way to get started with GraphRAG:
use graphrag_core::prelude::*;
#[tokio::main]
async fn main() -> Result<()> {
let mut graphrag = GraphRAG::quick_start("Your document text").await?;
let answer = graphrag.ask("What is this about?").await?;
println!("{}", answer);
Ok(())
}
backend = "jina" # Cost-optimized ($0.02/1M)
License
MIT License - see LICENSE for details.
For agents
This page has a .md twin and JSON over the API.