EdgeQuake Documentation
EdgeQuake Documentation
Section titled βEdgeQuake DocumentationβHigh-Performance Graph-Enhanced RAG in Rust
Welcome to EdgeQuake β an advanced Retrieval-Augmented Generation (RAG) framework that combines knowledge graphs with vector search for superior context retrieval.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ EdgeQuake ββ ββ Document βββΆ [Pipeline] βββΆ Knowledge Graph βββΆ Query Engine ββ β β β ββ βΌ βΌ βΌ ββ βββββββββββ βββββββββββ βββββββββββ ββ β Chunks β β Entitiesβ β Hybrid β ββ β + Embed β β + Rels β β Results β ββ βββββββββββ βββββββββββ βββββββββββ ββ ββ [REST API] [Next.js WebUI] [Rust SDK] [PostgreSQL/Memory] βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββπ Documentation Index
Section titled βπ Documentation Indexβπ Getting Started
Section titled βπ Getting Startedβ| Guide | Description | Time |
|---|---|---|
| Installation | Prerequisites and setup | 5 min |
| Quick Start | First ingestion and query | 10 min |
| First Ingestion | Understanding the pipeline | 15 min |
ποΈ Architecture
Section titled βποΈ Architectureβ| Document | Description |
|---|---|
| Overview | System design and components |
| Data Flow | How documents flow through the system |
| Crate Reference | 11 Rust crates explained |
π‘ Core Concepts
Section titled βπ‘ Core Conceptsβ| Concept | Description |
|---|---|
| Graph-RAG | Why knowledge graphs enhance RAG |
| Entity Extraction | LLM-based entity recognition |
| Knowledge Graph | Nodes, edges, and communities |
| Hybrid Retrieval | Combining vector and graph search |
π¬ Deep Dives
Section titled βπ¬ Deep Divesβ| Article | Description |
|---|---|
| LightRAG Algorithm | Core algorithm: extraction, graph, retrieval |
| Query Modes | 6 modes with trade-offs explained |
| Entity Normalization | Deduplication and description merging |
| Gleaning | Multi-pass extraction for completeness |
| Entity Extraction | LLM-based extraction pipeline |
| Community Detection | Louvain clustering for global queries |
| Chunking Strategies | Token-based segmentation with overlap |
| Embedding Models | Model selection and dimension trade-offs |
| Graph Storage | Apache AGE property graph backend |
| Vector Storage | pgvector HNSW indexing and search |
| PDF Processing | Text/Vision/Hybrid extraction pipeline |
| Cost Tracking | LLM cost monitoring per operation |
| Pipeline Progress | Real-time progress tracking |
π Comparisons
Section titled βπ Comparisonsβ| Comparison | Key Insights |
|---|---|
| vs LightRAG (Python) | Performance and design differences |
| vs GraphRAG | Microsoftβs approach comparison |
| vs Traditional RAG | Why graphs matter |
π Tutorials
Section titled βπ Tutorialsβ| Tutorial | Description |
|---|---|
| Building Your First RAG App | End-to-end tutorial |
| PDF Ingestion | PDF upload and configuration |
| Multi-Tenant Setup | Workspace isolation |
| Document Ingestion | Upload and processing workflows |
| Migration from LightRAG | Python to Rust migration guide |
π Integrations
Section titled βπ Integrationsβ| Integration | Description |
|---|---|
| OpenWebUI | Chat interface with Ollama emulation |
| LangChain | Retriever and agent integration |
| Custom Clients | Python, TypeScript, Rust, Go clients |
π API Reference
Section titled βπ API Referenceβ| API | Description |
|---|---|
| REST API | HTTP endpoints |
| Extended API | Advanced API features |
π Reference
Section titled βπ Referenceβ| Resource | Description |
|---|---|
| Cookbook | Practical recipes for common tasks |
| FAQ | Frequently asked questions |
π οΈ Operations
Section titled βπ οΈ Operationsβ| Guide | Description |
|---|---|
| Deployment | Production deployment |
| Configuration | All config options |
| Monitoring | Observability setup |
| Performance Tuning | Optimization guide |
π Security & Troubleshooting
Section titled βπ Security & Troubleshootingβ| Guide | Description |
|---|---|
| Security Best Practices | Security guidelines |
| Common Issues | Debugging guide |
β‘ Quick Links
Section titled ββ‘ Quick LinksβI want toβ¦
| Goal | Go To |
|---|---|
| Get running in 5 minutes | Quick Start |
| Understand the architecture | Overview |
| Learn how the algorithm works | LightRAG Algorithm |
| See API endpoints | REST API |
| Deploy to production | Deployment |
π§ Technology Stack
Section titled βπ§ Technology Stackβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ Backend (Rust) ββ βββββββββββββ βββββββββββββ βββββββββββββ βββββββββββββ ββ β Tokio β β Axum β β SQLx β β async- β ββ β (async) β β (HTTP) β β (database)β β openai β ββ βββββββββββββ βββββββββββββ βββββββββββββ βββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β Frontend (TypeScript) ββ βββββββββββββ βββββββββββββ βββββββββββββ βββββββββββββ ββ β Next.js β β React 19 β β Sigma.js β β Zustand β ββ β 16.1.0 β β 19.2.3 β β (graph) β β (state) β ββ βββββββββββββ βββββββββββββ βββββββββββββ βββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β Storage ββ βββββββββββββββββββββββββ βββββββββββββββββββββββββββββ ββ β PostgreSQL 15+ β β In-Memory (dev) β ββ β + pgvector + Apache AGEβ β Fast prototyping β ββ βββββββββββββββββββββββββ βββββββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββπ Key Metrics
Section titled βπ Key Metricsβ| Metric | Value | Notes |
|---|---|---|
| Lines of Rust | ~130,000 | Across 11 crates |
| Query Modes | 6 | naive, local, global, hybrid, mix, bypass |
| Entity Types | 7 default | PERSON, ORGANIZATION, LOCATION, CONCEPT, EVENT, TECHNOLOGY, PRODUCT |
| Embedding Dims | Configurable | 1536 (OpenAI), 768 (Ollama/LM Studio) |
π One-Liner Start
Section titled βπ One-Liner Startβ# Clone and run with Ollama (free, local LLM)git clone https://github.com/raphaelmansuy/edgequake.git && cd edgequake && make devπ License
Section titled βπ LicenseβApache-2.0
π Links
Section titled βπ Linksβ- GitHub: github.com/raphaelmansuy/edgequake
- LightRAG Paper: arxiv.org/abs/2410.05779