GraphRAG-rs

A high-performance, modular Rust implementation of GraphRAG (Graph-based Retrieval Augmented Generation) with three deployment architectures: Server-Only, WASM-Only (100% client-side), and Hybrid. Build knowledge graphs from documents and query them with natural language, with GPU acceleration support via WebGPU.
π§ Prerequisites
System Requirements
- Rust 1.70+ with
wasm32-unknown-unknowntarget - Node.js 18+ (for WASM builds)
- Git for cloning
Platform-Specific Dependencies
Linux (Ubuntu/Debian)
# Basic build tools
# For GPU acceleration features (Metal/WebGPU dependencies)
# Optional: For Qdrant vector database
macOS
# Xcode Command Line Tools (includes Objective-C compiler)
# Optional: Homebrew for additional tools
Windows
# Install Visual Studio Build Tools with C++ support
# Or use Visual Studio Community with C++ development tools
# Install Rust with Windows target support
Optional Dependencies
- Ollama for local LLM embeddings:
ollama pull nomic-embed-text - Docker for Qdrant vector database:
docker-compose up -d - Trunk for WASM builds:
cargo install trunk wasm-bindgen-cli
π Deployment Options
GraphRAG-rs supports three deployment architectures - choose based on your needs:
Option 1: Server-Only (Traditional) β Production Ready
# Start Qdrant (optional)
&&
# Start Ollama for embeddings (required for real semantic search)
&
# Start GraphRAG server with real embeddings
Best for: Multi-tenant SaaS, mobile apps, GPU workloads, >1M documents
Features:
- β Qdrant vector database integration (production-ready)
- β Real embeddings via Ollama with GPU acceleration
- β Hash-based fallback embeddings (no dependencies)
- β REST API with semantic search
- β Docker Compose setup
- β 5.2MB release binary (optimized)
Option 2: WASM-Only (100% Client-Side) β Production Ready
# Install trunk for WASM builds
# Build and run WASM app with GPU acceleration
Best for: Privacy-first apps, offline tools, zero infrastructure cost, edge deployment
Status: Fully Functional!
- β Complete GraphRAG pipeline running in browser
- β ONNX Runtime Web (GPU-accelerated embeddings)
- β WebLLM integration (Phi-3-mini for LLM synthesis)
- β Pure Rust vector search (cosine similarity)
- β Full Leptos UI with document upload and query interface
- β Entity extraction with relationships
- β Natural language answer synthesis
- β Demo available: Plato's Symposium (2691 entities)
Option 3: Hybrid (Recommended) π― Planned
Use WASM client for real-time UI with optional server for heavy processing.
Best for: Enterprise apps, multi-device sync, best UX with scalability
Status: Architecture designed, implementation in Phase 3
See graphrag-server/README.md for server documentation.
π― State-of-the-Art Quality Improvements
GraphRAG-rs implements 5 cutting-edge research papers (2019-2025) for superior retrieval quality:
Research-Based Features β¨
| Feature | Impact | Paper | Status |
|---|---|---|---|
| LightRAG Dual-Level Retrieval | 6000x token reduction | EMNLP 2025 | β Production |
| Leiden Community Detection | +15% modularity | Sci Reports 2019 | β Production |
| Cross-Encoder Reranking | +20% accuracy | EMNLP 2019 | β Production |
| HippoRAG Personalized PageRank | 10-30x cheaper | NeurIPS 2024 | β Production |
| Semantic Chunking | Better boundaries | LangChain 2024 | β Production |
Combined Result: +20% accuracy with 99% cost savings! π
New: Advanced Reasoning & Optimization (2025-2026) π¬
Building on state-of-the-art foundations, GraphRAG-rs now implements 7 cutting-edge techniques from recent research:
| Phase | Feature | Impact | Status |
|---|---|---|---|
| Phase 2 | Symbolic Anchoring (CatRAG-style) | Better conceptual queries | β Complete |
| Phase 2 | Dynamic Edge Weighting | Context-aware ranking | β Complete |
| Phase 2 | Causal Chain Analysis | Multi-step reasoning | β Complete |
| Phase 3 | Hierarchical Relationship Clustering | Multi-level organization | β Complete |
| Phase 3 | Graph Weight Optimization (DW-GRPO) | Adaptive learning | β Complete |
Key Capabilities
- Symbolic Anchoring: Automatically grounds abstract concepts (like "love" or "justice") to concrete entities for better conceptual query handling
- Dynamic Weighting: Adjusts relationship importance based on query context using semantic, temporal, and causal signals
- Causal Reasoning: Discovers multi-step causal chains with temporal consistency validation
- Hierarchical Clustering: Organizes relationships into multi-level hierarchies using Leiden algorithm with LLM-generated summaries
- Weight Optimization: Learns optimal relationship weights through heuristic optimization for improved retrieval quality
π Full Documentation: See graphrag-core/ADVANCED_FEATURES.md for implementation details, benchmarks, and research papers.
Enable Advanced Features
[]
= { = "../graphrag-core", = ["lightrag", "leiden", "cross-encoder", "pagerank", "async"] }
# my_config.toml
[]
= true
[]
= true
= 20 # 6000x token reduction vs traditional GraphRAG
= 0.6
= 0.4
[]
= true
= 10 # Better quality than Louvain
= 1.0
[]
= true
= "cross-encoder/ms-marco-MiniLM-L-6-v2"
= 10 # +20% accuracy improvement
# Advanced Features (Phases 2-3)
[]
= 0.3 # Minimum relevance for concept anchors
= 5 # Maximum anchors per query
[]
= true # Boost relationships similar to query
= true # Boost recent/relevant relationships
= true # Boost strong causal relationships
[]
= 0.3 # Minimum confidence for causal chains
= 5 # Maximum chain depth to search
= true # Enforce chronological ordering
[]
= 3 # Number of hierarchy levels (2-5)
= true # LLM-generated cluster summaries
[]
= 0.05 # Learning rate for optimization
= 20 # Maximum optimization iterations
= true # Use LLM for quality evaluation
π Quick Start Example: See graphrag-core/config-examples/quick-start.toml for a minimal configuration.
π Documentation: See HOW_IT_WORKS.md for full details on the pipeline.
Installation
Prerequisites
- Rust 1.70 or later
- (Optional) Ollama for local LLM support - Install Ollama
From Source
# Optional: Install globally
Quick Start (5 Lines!)
The fastest way to get started with GraphRAG:
use *;
async
With Compile-Time Safety (TypedBuilder)
use *;
let graphrag = new
.with_output_dir // Required - won't compile without
.with_ollama // Required - choose your LLM backend
.with_chunk_size // Optional
.build_and_init?;
Get Explained Answers
let explained = graphrag.ask_explained.await?;
println!;
println!;
for source in &explained.sources
CLI Setup Wizard
# Interactive configuration wizard
# With domain template
Feature Bundles
Choose the right features for your use case:
[]
= { = "0.1", = ["starter"] } # Getting started
= { = "0.1", = ["full"] } # Production
= { = "0.1", = ["research"] } # Advanced
π Full Guide: See graphrag-core/QUICKSTART.md for detailed quick start documentation.
Basic Usage
1. Simple API (One Line)
use simple;
2. Stateful API (Multiple Queries)
use SimpleGraphRAG;
3. Builder API (Configurable)
use ;
π Understanding GraphRAG
New to GraphRAG? Start here:
- π How It Works - Complete 7-stage pipeline explanation with diagrams and examples
- ποΈ Pipeline Architecture - Technical deep dive into implementation details
- π‘ Examples - Hands-on code examples from basic to advanced
- π Multi-Document Pipeline - Production-ready example with benchmarks
- βοΈ Pipeline Architecture - Detailed 7-phase configuration & performance guide
Complete 7-Stage Pipeline Schema
INDEXING (build_graph())
βββ Phase 1: CHUNKING β chunk_size, chunk_overlap
βββ Phase 2: ENTITY EXTRACTION β approach, entity_types, use_gleaning
βββ Phase 3: RELATIONSHIP β extract_relationships, use_gleaning
βββ Phase 4: GRAPH CONSTRUCTION β enable_pagerank, max_connections
QUERY (ask())
βββ Phase 5: EMBEDDING β backend, dimension, model
βββ Phase 6: RETRIEVAL β strategy, top_k
βββ Phase 7: ANSWER GENERATION β chat_model, temperature
Pipeline Configuration Summary
| Phase | Goal | Key Parameters |
|---|---|---|
| 1. Chunking | Split text | chunk_size (300), chunk_overlap (30) |
| 2. Extraction | Identify entities | approach (hybrid), entity_types |
| 3. Relationships | Connect entities | extract_relationships (true) |
| 4. Graph | Build network | max_connections (50), enable_pagerank |
| 5. Embedding | Vectorize data | backend (openai), dimension (1536) |
| 6. Retrieval | Find context | strategy (hybrid), top_k (10) |
| 7. Generation | Answer query | chat_model (gpt-4o), temperature (0.0) |
See PIPELINE_ARCHITECTURE.md for detailed configuration and performance tuning.
4. CLI Usage
GraphRAG-rs provides two CLI tools:
Smart CLI (Recommended) - simple_cli
Automatically detects if the knowledge graph needs building and handles everything for you:
# Build the Smart CLI
# Process document and answer question in one command
# Interactive mode - builds graph if needed, then waits for questions
# How it works:
# 1. Loads your TOML configuration
# 2. Checks if knowledge graph exists
# 3. Builds graph if needed (shows progress)
# 4. Answers your question using Ollama
# 5. Saves results to output directory
Manual CLI - graphrag-rs
For advanced users who want full control:
# Build the manual CLI
# Step 1: Build knowledge graph
# Step 2: Query the graph
Configuration
Basic Configuration (config.toml)
The project includes several ready-to-use configuration templates:
Available Templates:
config.toml- Basic configuration for general useconfig_complete.toml- Full configuration with all optionsconfig_tom_sawyer.toml- Pre-configured for book processingconfig_example.toml- Annotated template with explanations
Essential Configuration Fields:
[]
# IMPORTANT: Change these two paths for your project!
= "path/to/your/document.txt" # Your document to process
= "./output/your_project" # Where to save results
[]
= 800 # Size of text chunks (adjust based on document type)
= 200 # Overlap to preserve context between chunks
[]
= true
= "http://localhost"
= 11434
= "llama3.1:8b" # LLM for text generation
= "nomic-embed-text" # Model for embeddings
Quick Setup:
- Copy a template:
cp config_complete.toml my_project.toml - Edit
input_document_pathto point to your document - Edit
output_dirto set where results are saved - Run:
cargo run --bin simple_cli my_project.toml
See config_example.toml for detailed explanations of all options.
Embedding Providers Configuration
GraphRAG Core supports 8 embedding providers for maximum flexibility:
[]
= "huggingface" # Free, offline (default)
# backend = "openai" # Best quality ($0.13/1M tokens)
# backend = "voyage" # Anthropic recommended
# backend = "cohere" # Multilingual (100+ languages)
# backend = "jina" # Cost-optimized ($0.02/1M)
# backend = "mistral" # RAG-optimized
# backend = "together" # Cheapest ($0.008/1M)
# backend = "ollama" # Local GPU
= "sentence-transformers/all-MiniLM-L6-v2"
= 384
= 32
= "~/.cache/huggingface"
# For API providers, set api_key or use environment variables
# api_key = "your-key" # Or set OPENAI_API_KEY, VOYAGE_API_KEY, etc.
Provider Comparison:
| Provider | Cost | Quality | Features |
|---|---|---|---|
| HuggingFace | Free | β β β β | Offline, 100+ models |
| OpenAI | $0.13/1M | β β β β β | Best quality |
| Voyage AI | Medium | β β β β β | Domain-specific (code, finance, law) |
| Cohere | $0.10/1M | β β β β | Multilingual |
| Jina AI | $0.02/1M | β β β β | Best price/performance |
| Mistral | $0.10/1M | β β β β | RAG-optimized |
| Together AI | $0.008/1M | β β β β | Cheapest |
| Ollama | Free | β β β β | Local GPU |
Environment Variables:
See graphrag-core/EMBEDDINGS_CONFIG.md for detailed configuration guide.
β¨ Core Features
ποΈ Modular Architecture
- Workspace Design: Separate crates for core, WASM, Leptos, and server
- Pluggable Backends: Qdrant, LanceDB, pgvector, or in-memory storage
- Feature Flags: Compile only what you need (WASM, CUDA, Metal, WebGPU)
- Trait-Based: 12+ core abstractions for maximum flexibility
π§ Trait-Based Chunking Architecture
- ChunkingStrategy Trait: Minimal interface for extensible chunking (1 method:
fn chunk(&self, text: &str) -> Vec<TextChunk>) - HierarchicalChunkingStrategy: LangChain-style with boundary preservation (respects paragraphs/sentences)
- Tree-sitter AST Chunking: cAST approach preserving syntactic boundaries for code
- Performance Optimized: Zero-cost abstraction with real implementations
- Example: Symposium analysis with 269 chunks preserving philosophical structure
cAST (Context-Aware Splitting) Implementation
Based on CMU research, our tree-sitter implementation provides:
- Syntactic Boundary Preservation: Complete functions, methods, structs
- Rust Support: AST parsing for proper code chunking
- Configurable Granularity: Function-level with minimum size controls
- Feature-Gated: Available with
--features code-chunking
Usage Example
use ;
// Trait-based chunking with hierarchical strategy
let processor = new?;
let strategy = new;
let chunks = processor.chunk_with_strategy?;
// Tree-sitter code chunking (with code-chunking feature)
Run the Complete Example
# Basic example (hierarchical chunking)
# With tree-sitter code chunking
See: graphrag-core/examples/symposium_trait_based_chunking.rs and README_symposium_trait_based_chunking.md for complete documentation.
π― Storage Options
Native Production
- Qdrant: High-performance vector DB with JSON payload for entities/relationships
- LanceDB: Embedded vector DB for edge deployments (Node.js/desktop only)
- pgvector: PostgreSQL integration for existing infrastructure
- Neo4j: Optional graph database for complex multi-hop queries (>100k entities)
WASM Browser
- Voy: 75KB pure Rust vector search with k-d tree algorithm
- IndexedDB: Browser-native persistent storage for graph data
- Cache API: PWA-standard storage for ML models (1.6GB)
π§ ML Inference
Embeddings
- ONNX Runtime Web (GPU): 25-40x speedup, 3-8ms inference, WebGPU + CPU fallback, β production-ready
- Burn + wgpu (GPU): 20-40x speedup, 100% Rust, π§ 70% complete (architecture done)
- Candle (CPU): 100% Rust, BERT/MiniLM models, 50-100ms, π planned
- Ollama: Server-side embeddings with GPU acceleration
LLM Chatbot
- WebLLM: 40-62 tok/s with WebGPU, production-ready
- Candle: 2-5 tok/s CPU-only, 100% Rust, good for demos
- Ollama: Server-side LLM with unlimited GPU power
π Performance
- ONNX Runtime Web: 25-40x speedup for embeddings, 3-8ms inference β production-ready
- WebGPU Acceleration: GPU inference in browser with automatic CPU fallback
- WebLLM: 40-62 tok/s LLM inference with WebGPU β production-ready
- LightRAG Integration: 6000x token reduction vs traditional GraphRAG
- PageRank Retrieval: Fast-GraphRAG with 6x cost reduction
- Parallel Processing: Async/await throughout, concurrent document processing
- Intelligent Caching: LLM response cache with 80%+ hit rates
π¨ Developer Experience
- Progressive API: 4 complexity levels (Simple β Easy β Builder β Advanced)
- Auto-Detection: Smart LLM/backend discovery
- Enhanced Errors: Actionable error messages with solutions
- TOML Config: Complete configuration-driven processing
- Hot Reload: Configuration changes without restart
Examples
Quick Example: Using Config Templates
# Example 1: Process a book using existing template
# Edit my_book_config.toml:
# input_document_path = "books/my_book.txt"
# output_dir = "./output/my_book"
# Example 2: Process a research paper
# Edit research_config.toml:
# input_document_path = "papers/research.txt"
# output_dir = "./output/research"
# chunk_size = 500 # Smaller chunks for technical content
# Example 3: Process with full configuration
# Edit all the parameters you need in advanced_config.toml
Process a Book
use ;
use fs;
Use with Ollama
use ;
Batch Processing
use GraphRAG;
use fs;
Technical Achievements
GraphRAG-rs implements cutting-edge 2024 research in retrieval-augmented generation:
Core Innovations
- Fast-GraphRAG: PageRank-based retrieval with 27x performance boost and 6x cost reduction
- LightRAG Integration: Dual-level retrieval achieving 6000x token reduction vs traditional GraphRAG
- Incremental Updates: Zero-downtime real-time graph processing with ACID-like guarantees
- Intelligent Caching: LLM response cache with 80%+ hit rates and 6x cost reduction
- Hybrid Retrieval: Combines semantic, keyword, BM25, and graph-based search strategies
- ROGRAG Decomposition: Advanced query decomposition with 60%β75% accuracy boost, temporal and causal reasoning
- Ollama Advanced Integration: Complete local LLM support with streaming, custom parameters, automatic caching, and metrics tracking
Ollama Integration (NEW! β¨)
Complete local LLM and embedding support with production-grade features:
Core Capabilities:
- β Streaming Responses: Real-time token generation with tokio channels
- β Custom Parameters: Fine-grained control (temperature, top_p, top_k, stop sequences, repeat penalty)
- β Automatic Caching: DashMap-based response caching with 80%+ hit rate
- β Metrics Tracking: Thread-safe request/success/failure counting with atomic operations
- β Service Registry: Type-safe dependency injection for all Ollama services
- β AsyncEmbedder Trait: Full async/await support for embeddings
- β AsyncLanguageModel Trait: Standardized LLM interface with streaming
Performance:
- Cache hit: <1ms vs 100-1000ms API calls
- Concurrent request handling with Arc-based sharing
- Zero-copy streaming with channel-based architecture
- GPU acceleration via Ollama (CUDA, ROCm, Metal)
Example:
use ServiceConfig;
let config = ServiceConfig ;
let registry = config.build_registry.build;
// All services configured and ready!
See graphrag-core/OLLAMA_INTEGRATION.md for complete guide.
Architecture & Quality
- Modular Workspace: 4 publishable crates (core, wasm, leptos, server)
- Trait-Based Architecture: 15+ core abstractions with dependency injection
- 50,000+ Lines: Production-quality Rust implementation
- Comprehensive Testing: 220+ test cases with 100% pass rate
- Production-Grade Logging: Structured tracing throughout core library
- Zero Warnings: Clean compilation with clippy and cargo check
- Feature Gates: Compile only what you need for minimal binary size
- Memory-Safe: Leverages Rust's ownership system for zero-cost abstractions
ποΈ Workspace Architecture
GraphRAG-rs uses a modular workspace design for maximum reusability:
graphrag-rs/ # Main workspace (50,000+ lines)
βββ graphrag-core/ # β
Portable core library (native + WASM)
β βββ All core functionality # LightRAG, PageRank, caching, incremental
β βββ Feature-gated deps # Compile only what you need
βββ graphrag-wasm/ # β
WASM bindings and browser integrations
β βββ ONNX Runtime Web # GPU embeddings (3-8ms)
β βββ WebLLM integration # GPU LLM (40-62 tok/s)
β βββ IndexedDB + Cache API # Browser storage
βββ graphrag-leptos/ # π§ Leptos UI components (in development)
β βββ Chat, search, viz # Ready-to-use components
βββ graphrag-server/ # β
Production REST API server
β βββ JSON configuration # Dynamic config via REST API
β βββ Qdrant integration # Vector database
β βββ Ollama embeddings # Real semantic search
β βββ Docker Compose # One-command deployment
βββ src/ # Main library and binaries
βββ lib.rs # GraphRAG main API
βββ bin/ # CLI tools
βββ 25+ modules # Modular architecture
Dependency Graph
graphrag-leptos β graphrag-wasm β graphrag-core
graphrag-server β graphrag-core
main crate β graphrag-core
Feature Flags
[]
# Storage backends
= [] # In-memory (development)
= ["lancedb", "arrow"] # LanceDB embedded vector DB β οΈ Mutually exclusive with neural-embeddings
= ["redis"] # Redis for distributed caching
# Processing features
= [] # Rayon parallelization
= ["moka"] # LLM response caching
= [] # Zero-downtime updates
= [] # Fast-GraphRAG retrieval
= [] # Dual-level retrieval
= [] # Query decomposition
# LLM integrations
= [] # Ollama local models with streaming
= ["dep:dashmap"] # Response caching (used with ollama)
= ["candle-core"] # Candle ML framework β οΈ Mutually exclusive with persistent-storage
= [] # Function calling support
# Platform-specific (GPU acceleration)
= ["neural-embeddings", "candle-core/cuda"] # NVIDIA GPU
= ["neural-embeddings", "candle-core/metal"] # Apple Silicon GPU
= ["burn/wgpu"] # WebGPU (WASM)
# Chunking strategies
= ["tree-sitter", "tree-sitter-rust"] # Tree-sitter AST-based chunking
# API & CLI
= [] # REST API server
β οΈ Important: Feature Compatibility
persistent-storageandneural-embeddingsare mutually exclusive due to dependency conflicts- Choose based on your use case:
- For production RAG with vector storage: Use
persistent-storage(LanceDB + qdrant) - For ML experiments with neural nets: Use
neural-embeddings(Candle + qdrant) - For development: Use neither (minimal dependencies)
- For production RAG with vector storage: Use
See the feature flags section above for technical details on dependency selection.
For detailed architecture, see HOW_IT_WORKS.md.
API Reference
Core Types
// Main GraphRAG interface
// Document representation
// Query results
Main Methods
Performance Tuning
Memory Optimization
[]
= 500 # Smaller chunks use less memory
= 10
= false
Speed Optimization
[]
= true
= 8 # Adjust based on CPU cores
= 50
Accuracy Optimization
[]
= 400 # Higher overlap preserves more context
= 0.7
= true
Troubleshooting
Common Issues
Build fails with "rust version" error
# Update Rust
Out of memory error
# Reduce chunk size in config.toml
= 300
= false
Slow processing
# Enable parallel processing
= true
= 8
Ollama connection error
# Ensure Ollama is running
# Check if model is available
Debug Mode
# Enable debug logging
RUST_LOG=debug
# Enable backtrace for errors
RUST_BACKTRACE=1
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Development Setup
# Clone repository
# Run tests
# Run with debug info
RUST_LOG=debug
# Check code quality
FAQ
Q: What file formats are supported? A: Currently supports plain text (.txt) and markdown (.md). PDF support is planned.
Q: Can I use this without Ollama? A: Yes, the library includes a mock LLM for testing and can work with embeddings only.
Q: How much memory does it need? A: Typically under 100MB for documents up to 500k characters.
Q: Is it production ready? A: Yes, with 214 passing tests, zero warnings, and production-grade structured logging throughout the core library.
Q: Can I use commercial LLMs? A: OpenAI support is planned. Currently works with Ollama's local models.
πΊοΈ Roadmap & Implementation Status
β Phase 1: Core Implementation (COMPLETE)
Native Backend - Production Ready:
- Modular Architecture: 50,000+ lines across 25+ modules
- Trait System: 15+ core abstractions with dependency injection
- Fast-GraphRAG: PageRank-based retrieval (27x performance boost)
- LightRAG: Dual-level retrieval (6000x token reduction)
- Incremental Updates: Zero-downtime graph processing
- Intelligent Caching: 80%+ hit rates, 6x cost reduction
- ROGRAG: Query decomposition (60%β75% accuracy) + temporal/causal reasoning
- Hybrid Retrieval: Semantic + keyword + BM25 + graph
- Parallel Processing: Multi-threaded document processing
- Configuration System: Complete TOML-driven pipeline
- Professional CLI: Progress bars, auto-detection
- Comprehensive Tests: 214+ test cases, 100% pass rate
- Production Logging: Structured tracing throughout core library
Server Deployment - Production Ready:
- graphrag-server: REST API with Actix-web 4.9 + Apistos (automatic OpenAPI 3.0.3 docs)
- Dynamic JSON Config: Full pipeline configuration via REST API (no TOML required)
- Qdrant Integration: Production vector database
- Ollama Embeddings: Real semantic search with GPU
- Hash-based Fallback: Zero-dependency mode
- Docker Compose: One-command deployment
- Health Checks: Full system monitoring
- 5.2MB Binary: Optimized release build
π§ Phase 2: WASM & Web UI (IN PROGRESS - 60% Complete)
WASM Infrastructure:
- graphrag-wasm crate: WASM bindings foundation
- ONNX Runtime Web: GPU embeddings (3-8ms, 25-40x speedup)
- WebLLM Integration: GPU LLM (40-62 tok/s)
- IndexedDB: Browser storage layer
- Cache API: Model storage layer
- Voy Bindings: Vector search preparation
- Burn + wgpu: GPU acceleration (architecture 70% complete)
- Integration Tests: End-to-end WASM testing
Web UI:
- graphrag-leptos crate: UI components foundation
- Chat Components: Interactive query interface
- Search Components: Vector search visualization
- Graph Visualization: Knowledge graph display
- Progress Indicators: Real-time status updates
- Responsive Design: Mobile-first layout
π Phase 3: Advanced Features (PLANNED)
Performance & Scale:
- Distributed caching with Redis
- OpenTelemetry monitoring and tracing
- Query intelligence with ML rewriting
- Multi-model embeddings support
- Batch processing optimizations
Analytics & Insights:
- Graph analytics (community detection, centrality)
- Entity clustering and relationships
- Temporal reasoning: Event timeline extraction and narrative ordering
- Causal reasoning: Cause-effect chain discovery with confidence ranking
- Quality metrics and confidence scoring
Data Integration:
- Bulk import from CSV, JSON, RDF
- PDF document processing
- Multi-format export (GraphML, Cypher)
- Integration connectors (Notion, Confluence)
π’ Phase 4: Enterprise Features (FUTURE)
Scalability:
- High availability and failover
- Horizontal scaling with load balancing
- Multi-region deployment
- Enterprise-grade security
Developer Experience:
- Multi-language SDKs (Python, TypeScript, Go)
- GraphQL API
- Custom plugin system
- Webhook integrations
License
MIT License - see LICENSE for details.
Acknowledgments
- Microsoft GraphRAG for the original concept
- Ollama for local LLM support
- Rust community for excellent libraries
Built with Rust | Documentation | Report Issues