muthuk1's picture
Update README with Next.js web app, Claude integration, and fused design system docs
ceb4fb2 verified
|
raw
history blame
9.57 kB

πŸ” GraphRAG Inference Hackathon β€” Dual Pipeline System

TigerGraph Claude Next.js HotpotQA RAGAS

Proving that graphs make LLM inference faster, cheaper, and smarter β€” with real numbers.

Web Dashboard Β· Architecture Β· Benchmarks Β· Novelties Β· Design System


🎯 Overview

A production-ready dual-pipeline GraphRAG system with two interfaces:

Next.js Web Dashboard Python CLI + Gradio
LLM Claude Sonnet 4 (Anthropic) GPT-4o-mini (OpenAI)
Frontend React 19 + Recharts + Custom SVG Gradio 6.x + Plotly
Design TigerGraph Γ— Claude fused design system Standard Gradio
Best for Demos, presentations, judging Benchmarking, batch eval

Both interfaces run the same dual-pipeline comparison:

Pipeline A: Baseline RAG Pipeline B: GraphRAG
Flow Query β†’ Vector Search β†’ Top-K β†’ LLM Query β†’ Keywords β†’ Entity Search β†’ Graph Traversal β†’ LLM
Wins on Speed, cost, simple queries Accuracy on complex multi-hop queries (+21% F1)

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  LAYER 4: EVALUATION β€” RAGAS + F1/EM + Cost/Token Tracking  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  LAYER 3: LLM β€” Claude Sonnet 4 Β· Entity/Keyword Extraction β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Pipeline A: Baseline  β”‚  Pipeline B: GraphRAG               β”‚
│  Query→Vector→LLM      │  Query→Keywords→Graph→Context→LLM   │
β”‚                        β”‚  🧠 Adaptive Router                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  LAYER 1: GRAPH β€” TigerGraph Cloud Β· GSQL Β· Multi-hop BFS   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🌟 Novel Features

  1. 🧠 Adaptive Query Router β€” Automatically routes simple queries to baseline (cheaper) and complex ones to GraphRAG (more accurate)
  2. πŸ“‹ Schema-Bounded Extraction β€” Pre-defined 9 entity types + 15 relation types (~90% cheaper, ~16% more accurate)
  3. πŸ”‘ Dual-Level Keywords β€” LightRAG-inspired high-level + low-level keyword routing
  4. πŸ”— Graph Reasoning Paths β€” Step-by-step natural language explanation of graph traversal
  5. πŸ“Š Real-Time Cost Tracking β€” Every LLM call tracked with tokens, cost, and latency

πŸ–₯️ Web Dashboard (Next.js)

The flagship interface β€” a polished React app with the TigerGraph Γ— Claude fused design system.

Quick Start

cd web
npm install
cp .env.example .env.local
# Add your Anthropic API key: ANTHROPIC_API_KEY=sk-ant-...
npm run dev
# Open http://localhost:3000

4 Tabs

Tab What It Does
πŸ”΄ Live Compare Side-by-side answers from both pipelines with real-time metrics, adaptive routing badges, entity/relation display
πŸ“Š Benchmark Radar charts, bar charts, detailed comparison table with HotpotQA results
πŸ’° Cost Analysis Interactive cost projections across 4 LLM models, cumulative cost area charts, ROI analysis
πŸ•ΈοΈ Graph Explorer Interactive SVG knowledge graph with clickable nodes, reasoning path explanation, graph statistics

Tech Stack

Layer Technology
Framework Next.js 15 (App Router)
React React 19
LLM Claude Sonnet 4 via @anthropic-ai/sdk
Charts Recharts 2.15
Graph Viz Custom SVG with interaction
Styling Tailwind CSS 4 + 14KB custom design system
Fonts Cormorant Garamond (serif display) + Inter (sans body) + JetBrains Mono (code)

🎨 Design System

The web dashboard uses a fused design system combining:

  • TigerGraph: Orange #FF6B00 (energy, CTAs), Navy #002B49 (authority, text), Electric Blue #0072CE (baseline pipeline)
  • Claude/Anthropic: Cream canvas #faf9f5 (warmth), Coral #cc785c (intelligence), Dark surfaces #181715 (product chrome)

Key Principles

  • Warm cream canvas (never cold white) β€” the Claude editorial feel
  • Serif display headlines (Cormorant Garamond, weight 400, negative tracking) β€” literary voice
  • Tiger Orange for primary CTAs β€” energy and action
  • Dark surface code windows for architecture diagrams β€” product chrome
  • Cream β†’ Dark alternating section rhythm

🐍 Python Backend + Gradio

The Python backend handles benchmarking, TigerGraph ingestion, and batch evaluation.

Quick Start

pip install -r requirements.txt
cp .env.example .env
# Add: OPENAI_API_KEY=sk-...

python -m graphrag.main dashboard    # Gradio UI on :7860
python -m graphrag.main demo         # CLI demo
python -m graphrag.main benchmark --samples 50
python -m graphrag.main ingest --samples 100  # Requires TigerGraph

πŸ“Š Benchmark Results

HotpotQA (Distractor Setting, 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Γ—)
Cost/Query $0.000203 $0.000518 βœ… Baseline (2.6Γ—)

By Question Type

Type Baseline F1 GraphRAG F1 Ξ”
Bridge 0.52 0.63 +21%
Comparison 0.58 0.61 +5%

πŸ“ Project Structure

graphrag-inference-hackathon/
β”œβ”€β”€ web/                            # Next.js Web Dashboard
β”‚   β”œβ”€β”€ src/app/
β”‚   β”‚   β”œβ”€β”€ page.tsx                # Main page
β”‚   β”‚   β”œβ”€β”€ layout.tsx              # Root layout
β”‚   β”‚   β”œβ”€β”€ globals.css             # 14KB fused design system
β”‚   β”‚   └── api/compare/route.ts    # Claude-powered API
β”‚   β”œβ”€β”€ src/components/
β”‚   β”‚   β”œβ”€β”€ Navbar.tsx              # TigerGraphΓ—Claude navbar
β”‚   β”‚   β”œβ”€β”€ Hero.tsx                # Editorial hero with stats
β”‚   β”‚   β”œβ”€β”€ DashboardTabs.tsx       # Tab controller
β”‚   β”‚   β”œβ”€β”€ Footer.tsx              # Dark footer
β”‚   β”‚   └── tabs/
β”‚   β”‚       β”œβ”€β”€ LiveCompare.tsx     # Tab 1: Side-by-side comparison
β”‚   β”‚       β”œβ”€β”€ Benchmark.tsx       # Tab 2: Radar + bar charts
β”‚   β”‚       β”œβ”€β”€ CostAnalysis.tsx    # Tab 3: Cost projections
β”‚   β”‚       └── GraphExplorer.tsx   # Tab 4: Interactive graph viz
β”‚   └── src/lib/design-tokens.ts    # Color + typography tokens
β”‚
β”œβ”€β”€ graphrag/                       # Python Backend
β”‚   β”œβ”€β”€ layers/
β”‚   β”‚   β”œβ”€β”€ graph_layer.py          # Layer 1: TigerGraph
β”‚   β”‚   β”œβ”€β”€ orchestration_layer.py  # Layer 2: Dual pipeline
β”‚   β”‚   β”œβ”€β”€ llm_layer.py            # Layer 3: LLM
β”‚   β”‚   └── evaluation_layer.py     # Layer 4: Evaluation
β”‚   β”œβ”€β”€ dashboard.py                # Gradio dashboard
β”‚   β”œβ”€β”€ benchmark.py                # Batch benchmark runner
β”‚   β”œβ”€β”€ ingestion.py                # Document ingestion
β”‚   └── main.py                     # CLI entry point
β”‚
β”œβ”€β”€ requirements.txt                # Python dependencies
└── README.md

πŸ“š References

Papers

  1. GraphRAG β€” From Local to Global Graph RAG
  2. LightRAG β€” Simple and Fast RAG (34K⭐)
  3. HotpotQA β€” Multi-hop QA Dataset
  4. RAGAS β€” RAG Evaluation Framework
  5. Youtu-GraphRAG β€” Schema-Bounded Extraction

Tools

TigerGraph Β· Anthropic Claude Β· Next.js Β· Recharts Β· RAGAS Β· HotpotQA


Built for the GraphRAG Inference Hackathon by TigerGraph 🧑

TigerGraph Γ— Claude Β· Next.js 15 Β· Recharts Β· RAGAS