π GraphRAG Inference Hackathon β Dual Pipeline System
Proving that graphs make LLM inference faster, cheaper, and smarter with any LLM provider β cloud or local.
12 LLM Providers Β· OpenClaw Agent Β· Ollama Local Β· Architecture Β· Benchmarks Β· Novelties
π― Overview
A production-ready dual-pipeline GraphRAG system that works with any LLM β from GPT-4o to Claude to a local Llama running on your laptop via Ollama. Ships with:
- 12 LLM providers through a single universal interface (zero per-provider SDKs)
- OpenClaw autonomous agent integration β GraphRAG as native Skills
- Ollama local model support β run completely free, no API keys needed
- Next.js 15 web dashboard with TigerGraph Γ Claude fused design system
- Python CLI + Gradio backend for benchmarking and batch evaluation
- 4-tab comparison dashboard β Live Compare, Benchmark, Cost Analysis, Graph Explorer
π€ Supported LLM Providers
| # | Provider | API Key Env | Default Model | Cost/1K in | Cost/1K out | Speed |
|---|---|---|---|---|---|---|
| 1 | OpenAI | OPENAI_API_KEY |
gpt-4o-mini | $0.00015 | $0.0006 | β‘ Fast |
| 2 | Anthropic Claude | ANTHROPIC_API_KEY |
claude-sonnet-4 | $0.003 | $0.015 | π΅ Medium |
| 3 | Google Gemini | GEMINI_API_KEY |
gemini-2.0-flash | $0.0001 | $0.0004 | β‘ Fast |
| 4 | Mistral AI | MISTRAL_API_KEY |
mistral-large | $0.002 | $0.006 | π΅ Medium |
| 5 | Cohere | COHERE_API_KEY |
command-r-plus | $0.0025 | $0.01 | π΅ Medium |
| 6 | π¦ Ollama (Local) | none needed | llama3.2 | $0 | $0 | β‘ Local |
| 7 | OpenRouter | OPENROUTER_API_KEY |
llama-3.3-70b | $0.0004 | $0.0004 | π΅ Medium |
| 8 | Groq | GROQ_API_KEY |
llama-3.3-70b | $0.00059 | $0.00079 | β‘β‘ Blazing |
| 9 | xAI Grok | XAI_API_KEY |
grok-3-mini | $0.0003 | $0.0005 | β‘ Fast |
| 10 | Together AI | TOGETHER_API_KEY |
llama-3.1-70b-turbo | $0.00088 | $0.00088 | β‘ Fast |
| 11 | HuggingFace | HF_TOKEN |
llama-3.3-70b | $0 | $0 | π΅ Medium |
| 12 | DeepSeek | DEEPSEEK_API_KEY |
deepseek-chat | $0.00014 | $0.00028 | β‘ Fast |
How it Works
TypeScript (Next.js): All providers use OpenAI SDK with dynamic baseURL β zero extra dependencies. Anthropic uses its native SDK for tool_use support.
Python: LiteLLM provides unified routing to all 12 providers. Falls back to OpenAI SDK with base_url swapping.
# Use any provider β just set the env var
export ANTHROPIC_API_KEY=sk-ant-... # Use Claude
export GROQ_API_KEY=gsk_... # Use Groq (blazing fast)
ollama pull llama3.2 # Use Ollama (free, local)
π¦ Ollama (Local Models)
Run the entire system 100% locally and free with Ollama:
# 1. Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# 2. Pull a model
ollama pull llama3.2 # 3B params, fast
ollama pull qwen2.5:7b # 7B, good quality
ollama pull deepseek-r1:7b # Reasoning model
ollama pull phi3:14b # Strong reasoning
# 3. Start the dashboard β Ollama is auto-detected
cd web && npm run dev
# Select "Ollama (Local)" in the provider dropdown
Supported Ollama Models:
| Model | Size | Quality | Use Case |
|---|---|---|---|
| llama3.2 | 3B | Medium | Fast demos, entity extraction |
| llama3.2:1b | 1B | Low | Ultra-fast, keyword extraction |
| qwen2.5:7b | 7B | Medium-High | Good all-rounder |
| qwen2.5:14b | 14B | High | Best local quality |
| deepseek-r1:7b | 7B | High | Reasoning tasks |
| mistral:7b | 7B | Medium | Fast general use |
| gemma2:9b | 9B | Medium | Google's efficient model |
| phi3:14b | 14B | High | Microsoft's reasoning model |
π¦ OpenClaw Integration
This project ships with a full OpenClaw autonomous agent integration β turning the GraphRAG system into native Skills that any OpenClaw agent can discover and invoke.
What is OpenClaw?
OpenClaw is the leading open-source autonomous personal AI agent runtime. It uses a frontier LLM as its backbone and runs continuously on the user's machine with full local system access. It's modular via a Skills architecture β exactly what we integrate here.
Architecture: CIK Model
| Dimension | Our Files | Purpose |
|---|---|---|
| Capability | openclaw/skills/ |
3 executable skills + SKILL.md docs |
| Identity | openclaw/SOUL.md, IDENTITY.md |
Agent persona, values, capabilities |
| Knowledge | openclaw/MEMORY.md |
Learned facts about GraphRAG performance |
OpenClaw Skills
| Skill | File | What It Does |
|---|---|---|
| graph_query | skills/graph_query/ |
Natural language β knowledge graph traversal β entities + relations + answer |
| compare_pipelines | skills/compare_pipelines/ |
Run both pipelines side-by-side with metrics comparison |
| cost_estimate | skills/cost_estimate/ |
Project costs across all 12 LLM providers |
Using with OpenClaw Agent
# 1. Copy skills to your OpenClaw instance
cp -r openclaw/skills/ ~/.openclaw/skills/
cp openclaw/SOUL.md ~/.openclaw/
cp openclaw/IDENTITY.md ~/.openclaw/
cp openclaw/MEMORY.md ~/.openclaw/
# 2. Start the GraphRAG API server
cd web && npm run dev
# 3. Your OpenClaw agent can now use GraphRAG:
# "Search the knowledge graph for connections between Einstein and relativity"
# "Compare baseline vs GraphRAG on this question"
# "Estimate costs for 10K queries across all providers"
Security
We follow ClawKeeper security patterns:
- No arbitrary code execution
- All API keys in environment variables only
- Graph operations are read-only by default
- Agent boundaries defined in SOUL.md
ποΈ Architecture
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β LAYER 4: EVALUATION β
β RAGAS β F1/EM β Context Hit β Cost/Token Tracking β Dashboard β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β LAYER 3: UNIVERSAL LLM β
β 12 Providers: OpenAI β Claude β Gemini β Mistral β Ollama β Groqβ¦ β
β OpenClaw Skills β Schema-Bounded Extraction β Keyword Extraction β
ββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ€
β Pipeline A: Baseline RAG β Pipeline B: GraphRAG β
β Query β Vector β LLM β Query β Keywords β Graph β Context β LLM β
β β π§ Adaptive Router β π Reasoning Paths β
ββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ€
β LAYER 1: GRAPH (TigerGraph) β
β Schema: Document β Chunk β Entity β Community β
β GSQL: Vector Search β Entity Search β Multi-Hop Traversal β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π Novel Features
- π€ Universal LLM Layer β Single interface for 12 providers, auto-detects available API keys
- π¦ OpenClaw Agent Skills β Full CIK integration (Capability + Identity + Knowledge)
- π¦ Ollama Local Support β $0 cost, 100% private, auto-detected
- π§ Adaptive Query Router β Routes simple queries to baseline, complex to GraphRAG
- π Schema-Bounded Extraction β 9 entity types + 15 relation types (~90% cheaper)
- π Dual-Level Keywords β LightRAG-inspired high/low-level retrieval
- π Graph Reasoning Paths β Step-by-step traversal explanations
- π 12-Provider Cost Comparison β Real-time cost projections across all providers
π Quick Start
Web Dashboard (Next.js)
cd web
npm install
cp .env.example .env.local
# Set ANY provider API key (or just use Ollama for free):
# ANTHROPIC_API_KEY=sk-ant-... OR
# OPENAI_API_KEY=sk-... OR
# ollama pull llama3.2 (free, local)
npm run dev
# β http://localhost:3000
Python Backend
pip install -r requirements.txt
pip install litellm # Optional: enables all 12 providers in Python
python -m graphrag.main dashboard # Gradio UI
python -m graphrag.main demo # CLI demo
python -m graphrag.main benchmark --samples 50
π Benchmark Results
HotpotQA (100 samples)
| Metric | Baseline RAG | GraphRAG | Winner |
|---|---|---|---|
| Avg F1 | 0.5523 | 0.6241 | β GraphRAG (+13%) |
| Avg EM | 0.3810 | 0.4230 | β GraphRAG (+11%) |
| Context Hit | 0.4520 | 0.5830 | β GraphRAG (+29%) |
| Tokens/Query | 952 | 2,387 | β Baseline (2.5Γ) |
By Question Type
| Type | Baseline F1 | GraphRAG F1 | Ξ |
|---|---|---|---|
| Bridge | 0.52 | 0.63 | +21% |
| Comparison | 0.58 | 0.61 | +5% |
Cost Per Query by Provider
| Provider | Baseline | GraphRAG | Annual (1K qpd) |
|---|---|---|---|
| Ollama | $0 | $0 | $0 |
| HuggingFace | $0 | $0 | $0 |
| DeepSeek | $0.000028 | $0.000071 | $26 |
| OpenAI mini | $0.000210 | $0.000530 | $193 |
| Claude Sonnet | $0.002625 | $0.006750 | $2,464 |
π Project Structure
graphrag-inference-hackathon/
β
βββ web/ # Next.js 15 Web Dashboard
β βββ src/
β β βββ app/
β β β βββ page.tsx # Main page
β β β βββ globals.css # 14KB TigerGraphΓClaude design system
β β β βββ api/
β β β βββ compare/route.ts # Multi-provider compare API
β β β βββ providers/route.ts # Available providers listing
β β βββ components/
β β β βββ Navbar.tsx # Branded navigation
β β β βββ Hero.tsx # Editorial hero section
β β β βββ DashboardTabs.tsx # 4-tab controller
β β β βββ Footer.tsx # Dark footer
β β β βββ tabs/
β β β βββ LiveCompare.tsx # Side-by-side pipeline comparison
β β β βββ Benchmark.tsx # Radar + bar charts + data table
β β β βββ CostAnalysis.tsx # 12-provider cost projections
β β β βββ GraphExplorer.tsx # Interactive SVG knowledge graph
β β βββ lib/
β β βββ llm-providers.ts # Universal 12-provider LLM client
β β βββ design-tokens.ts # Color/typography tokens
β βββ package.json
β
βββ openclaw/ # OpenClaw Agent Integration
β βββ SOUL.md # Agent identity & values
β βββ IDENTITY.md # Agent configuration
β βββ MEMORY.md # Learned knowledge base
β βββ skills/
β βββ graph_query/ # Knowledge graph querying
β β βββ SKILL.md
β β βββ graph_query.py
β βββ compare_pipelines/ # Dual-pipeline comparison
β β βββ SKILL.md
β β βββ compare_pipelines.py
β βββ cost_estimate/ # 12-provider cost projection
β βββ SKILL.md
β βββ cost_estimate.py
β
βββ graphrag/ # Python Backend
β βββ layers/
β β βββ universal_llm.py # LiteLLM-powered 12-provider support
β β βββ graph_layer.py # TigerGraph schema + GSQL queries
β β βββ orchestration_layer.py # Dual pipeline routing
β β βββ llm_layer.py # Original LLM layer
β β βββ evaluation_layer.py # RAGAS + F1/EM metrics
β βββ dashboard.py # Gradio dashboard
β βββ benchmark.py # HotpotQA benchmark runner
β βββ ingestion.py # Document ingestion pipeline
β βββ main.py # CLI entry point
β
βββ requirements.txt
βββ .env.example # All 12 provider keys
βββ README.md # This file
π οΈ Tech Stack
| Layer | Technology |
|---|---|
| Graph Database | TigerGraph Cloud (free tier) |
| LLM Providers | 12 providers via universal interface |
| Local LLM | Ollama (llama3.2, qwen2.5, deepseek-r1, etc.) |
| Agent Framework | OpenClaw (CIK model: Skills + Identity + Memory) |
| Web Frontend | Next.js 15, React 19, Recharts, Tailwind CSS 4 |
| Design System | TigerGraph Γ Claude fused (14KB custom CSS) |
| Python Backend | LiteLLM, RAGAS, HotpotQA, NetworkX |
| Evaluation | RAGAS v0.2, F1/EM (SQuAD standard), Context Hit Rate |
| Fonts | Cormorant Garamond (serif) + Inter (sans) + JetBrains Mono |
π References
Papers
- GraphRAG β From Local to Global Graph RAG
- LightRAG β Simple and Fast RAG (34Kβ)
- OpenClaw β Personal AI Agent Runtime
- OpenClaw-RL β RL from Live Interactions (5Kβ)
- ClawKeeper β OpenClaw Security Framework
- HotpotQA β Multi-hop QA Dataset
- RAGAS β RAG Evaluation Framework
- Youtu-GraphRAG β Schema-Bounded Extraction
Tools & Services
TigerGraph Β· Anthropic Β· OpenAI Β· Ollama Β· Groq Β· OpenRouter Β· LiteLLM Β· Next.js Β· Recharts Β· RAGAS