Kalpana-RIF-Studio / index.html
MaduRox
feat: clean full-width chat UI, eliminate left sidebar, 96MB VRAM telemetry, and ping button
d24dca8
Raw
History Blame Contribute Delete
31.4 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Kalpana AI — O(1) RIF Neural Studio & Benchmarks</title>
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
<!-- KaTeX for formulas -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css">
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.js"></script>
<link rel="stylesheet" href="./style.css">
</head>
<body>
<div class="app-layout">
<!-- Navigation Top Bar -->
<header class="top-nav">
<div class="brand">
<div class="logo-badge">K</div>
<div>
<div class="logo-title">Kalpanā AI Studio</div>
<div class="logo-sub">O(1) Resonant Interference Field Substrate · Patent LK/P/1/24089</div>
</div>
</div>
<nav class="nav-tabs">
<button class="nav-tab active" data-tab="tab-chat">💬 Live Neural Chat</button>
<button class="nav-tab" data-tab="tab-benchmark">🔬 Benchmarks & Haystack</button>
<button class="nav-tab" data-tab="tab-architecture">🏛️ Layer Architecture</button>
<button class="nav-tab" data-tab="tab-swagger">🔌 Swagger API</button>
<button class="nav-tab" data-tab="tab-economics">💰 Unit Economics</button>
</nav>
<div class="header-status">
<span class="status-indicator" id="headerStatusDot"></span>
<span id="headerStatusText">O(1) RIF GPU Active (96.00 MB · 24 Layers)</span>
</div>
</header>
<!-- Main Content Container -->
<div class="tab-content-container">
<!-- ============================================================ -->
<!-- TAB 1: LIVE NEURAL CHAT (FULL WIDTH CLEAN INTERFACE) -->
<!-- ============================================================ -->
<section class="tab-pane active" id="tab-chat">
<div class="chat-container">
<!-- Neural GPU Telemetry & Health Bar -->
<div class="chat-telemetry-bar">
<div class="telemetry-item">
<span class="pulse-dot" id="serverPulse"></span>
<span class="telemetry-label">GPU Backend:</span>
<span class="telemetry-val val-green" id="serverStatusVal">NVIDIA GPU · Online</span>
</div>
<div class="telemetry-item">
<span class="telemetry-label">Attention Routing:</span>
<span class="telemetry-val val-cyan">24 / 24 Layers Intercepted</span>
</div>
<div class="telemetry-item">
<span class="telemetry-label">O(1) KV Memory:</span>
<span class="telemetry-val val-green">96.00 MB (Strict O(1))</span>
</div>
<div class="telemetry-item">
<span class="telemetry-label">Harmonic Bands:</span>
<span class="telemetry-val val-purple">2,048 Bands</span>
</div>
<button class="btn-ping" id="btnPingServer" title="Test real-time connection to GPU backend">
🔄 Ping Server
</button>
</div>
<!-- Chat History Stream -->
<main class="chat-main-full">
<div class="chat-history" id="chatHistory">
<div class="chat-bubble bot-bubble">
<div class="bubble-header">
<span class="bubble-avatar">K</span>
<span class="bubble-author">Kalpana AI</span>
<span class="bubble-badge">Qwen2.5-0.5B + RIF</span>
</div>
<div class="bubble-body">
Hello! 👋 I am **Kalpana AI**, powered by the **Qwen2.5-0.5B** neural architecture with an internal **O(1) Resonant Interference Field (RIF) KV Cache** replacing standard attention memory across all **24 hidden layers** with a constant **~96.00 MB VRAM** footprint ($O(1)$ invariant).
How can I help you today?
- Ask complex science, reasoning, mathematics, sports, or code questions
- Observe real-time layer interception and latency metrics generated live on the dedicated GPU
- Explore our **Needle-in-a-Haystack** empirical benchmarks, interactive **Layer Architecture**, and **Unit Economics** tabs above!
</div>
</div>
</div>
<!-- Generating Progress Indicator Bar -->
<div class="gen-progress-bar" id="genProgressBar" style="display: none;">
<div class="progress-track">
<div class="progress-fill"></div>
</div>
<div class="progress-text">⚡ Routing prompt through 24 RIF Attention Layers on GPU...</div>
</div>
<!-- Input Bar -->
<div class="chat-input-wrapper">
<div class="chat-input-bar">
<textarea id="chatInput" placeholder="Ask anything, test math, physics, reasoning, or code... (Press Enter to Send)" rows="1"></textarea>
<button id="btnSendChat" class="btn-send" title="Send query to Kalpana RIF Engine">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="22" y1="2" x2="11" y2="13"/><polygon points="22 2 15 22 11 13 2 9 22 2"/></svg>
</button>
</div>
<div class="input-caption">
Direct neural forward-pass through <code>KalpanaDynamicCache</code> on dedicated NVIDIA GPU · Strict O(1) Memory Invariance.
</div>
</div>
</main>
</div>
</section>
<!-- ============================================================ -->
<!-- TAB 2: BENCHMARKS & NEEDLE-IN-A-HAYSTACK -->
<!-- ============================================================ -->
<section class="tab-pane" id="tab-benchmark">
<div class="pane-inner">
<div class="section-header">
<h2>🔬 Empirical Retrieval & Memory Benchmarks</h2>
<p>Evaluating long-context recall across 500 semantic chunks (~12,500 tokens) and memory scaling bounds.</p>
</div>
<!-- Needle in Haystack Live Runner -->
<div class="content-card">
<div class="card-head">
<h3>🎯 Needle-in-a-Haystack Test Suite (500 Chunks / 2,048 Bands)</h3>
<button class="btn-primary" id="btnRunHaystack" style="width: auto; padding: 0.5rem 1.2rem;">
▶ Run Live Test Suite
</button>
</div>
<div class="benchmark-grid">
<div class="haystack-card" id="needle1Card">
<div class="needle-badge">NEEDLE 1 · 10% DEPTH (t=50)</div>
<div class="needle-query">"What is the secret passkey for Project Chronos?"</div>
<div class="needle-result">
<span class="status-tag tag-pass">EXACT HIT (Resonance: 0.8935)</span>
<div class="retrieved-text">"The secret passkey for Project Chronos is OMEGA-7749."</div>
</div>
</div>
<div class="haystack-card" id="needle2Card">
<div class="needle-badge">NEEDLE 2 · 50% DEPTH (t=250)</div>
<div class="needle-query">"Who invented the resonant hyper-drive?"</div>
<div class="needle-result">
<span class="status-tag tag-pass">EXACT HIT (Resonance: 0.7880)</span>
<div class="retrieved-text">"Dr. Elena Vance invented the resonant hyper-drive in Neo-Geneva."</div>
</div>
</div>
<div class="haystack-card" id="needle3Card">
<div class="needle-badge">NEEDLE 3 · 90% DEPTH (t=450)</div>
<div class="needle-query">"What is the emergency shutdown code for reactor 4?"</div>
<div class="needle-result">
<span class="status-tag tag-pass">EXACT HIT (Resonance: 0.8293)</span>
<div class="retrieved-text">"The emergency shutdown code for reactor 4 is EPSILON-9021."</div>
</div>
</div>
</div>
<div class="stats-banner">
<div class="stat-box">
<div class="stat-number">100.0%</div>
<div class="stat-label">Retrieval Accuracy (3/3 Exact Hits)</div>
</div>
<div class="stat-box">
<div class="stat-number">96.00 MB</div>
<div class="stat-label">Active Memory Footprint (Strict O(1))</div>
</div>
<div class="stat-box">
<div class="stat-number">20.2</div>
<div class="stat-label">Ingestion Speed (chunks / sec)</div>
</div>
<div class="stat-box">
<div class="stat-number">0.00 ms</div>
<div class="stat-label">Prompt Re-Transmission Overhead</div>
</div>
</div>
</div>
<!-- ⚔️ Live Head-to-Head Benchmark Suite -->
<div class="content-card" style="margin-top: 1.5rem; border-color: rgba(124, 58, 237, 0.4);">
<div class="card-head">
<div>
<h3 style="color: #c084fc;">⚔️ Live Head-to-Head Benchmark: Baseline Qwen vs. Kalpana RIF Qwen</h3>
<p style="font-size: 0.82rem; color: var(--text-muted); margin-top: 0.2rem;">
Real-time tensor footprint comparison across expanding token horizons (2K to 1M tokens) based on verified PyTorch attention equations.
</p>
</div>
<button class="btn-primary" id="btnRunH2H" style="width: auto; padding: 0.5rem 1.2rem; background: linear-gradient(135deg, #7c3aed, #00f0ff);">
▶ Run Live Head-to-Head Test
</button>
</div>
<!-- Dynamic Comparison Columns -->
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.2rem; margin-top: 1rem;">
<!-- Model A: Baseline Qwen (Standard KV Cache) -->
<div style="background: rgba(255, 51, 102, 0.04); border: 1px solid rgba(255, 51, 102, 0.3); border-radius: 10px; padding: 1.2rem;">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.8rem;">
<span style="font-weight: 700; color: var(--red); font-size: 0.95rem;">🚫 Baseline Qwen (Standard KV Cache)</span>
<span class="status-tag tag-fail" id="baselineStatusTag">O(N) Linear Growth</span>
</div>
<div style="font-size: 0.8rem; color: var(--text-muted); margin-bottom: 1rem;">
Tensor scaling: <code>torch.cat([cache, new_kv], dim=-2)</code> across all 24 layers.
</div>
<div style="display: flex; flex-direction: column; gap: 0.7rem;">
<div>
<div style="display: flex; justify-content: space-between; font-size: 0.8rem; margin-bottom: 0.2rem;">
<span style="color: var(--text-secondary);">Active Context:</span>
<strong id="h2hBaseTokens" style="font-family: var(--font-mono); color: #fff;">0 tokens</strong>
</div>
<div style="display: flex; justify-content: space-between; font-size: 0.8rem; margin-bottom: 0.2rem;">
<span style="color: var(--text-secondary);">KV Cache Memory:</span>
<strong id="h2hBaseMemory" style="font-family: var(--font-mono); color: var(--red);">0.00 MB</strong>
</div>
<div style="display: flex; justify-content: space-between; font-size: 0.8rem; margin-bottom: 0.4rem;">
<span style="color: var(--text-secondary);">Latency per Token:</span>
<strong id="h2hBaseLatency" style="font-family: var(--font-mono); color: var(--red);">-- ms</strong>
</div>
<div style="background: rgba(0,0,0,0.5); border-radius: 4px; height: 10px; overflow: hidden; border: 1px solid rgba(255,51,102,0.2);">
<div id="h2hBaseBar" style="background: linear-gradient(90deg, #ff9900, #ff3366); height: 100%; width: 0%; transition: width 0.3s ease;"></div>
</div>
</div>
<div id="h2hBaseAlert" style="font-size: 0.78rem; padding: 0.5rem; background: rgba(0,0,0,0.4); border-radius: 6px; color: var(--text-muted); min-height: 2.2rem;">
Ready to run benchmark.
</div>
</div>
</div>
<!-- Model B: Kalpana RIF Qwen (O(1) Dynamic Cache) -->
<div style="background: rgba(0, 255, 136, 0.04); border: 1px solid rgba(0, 255, 136, 0.3); border-radius: 10px; padding: 1.2rem;">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.8rem;">
<span style="font-weight: 700; color: var(--green); font-size: 0.95rem;">⚡ Kalpana RIF Qwen (DynamicCache)</span>
<span class="status-tag tag-pass" id="kalpanaStatusTag">O(1) Invariant</span>
</div>
<div style="font-size: 0.8rem; color: var(--text-muted); margin-bottom: 1rem;">
Wave interference: <code>KalpanaCacheLayer.write()</code> across all 24 layers.
</div>
<div style="display: flex; flex-direction: column; gap: 0.7rem;">
<div>
<div style="display: flex; justify-content: space-between; font-size: 0.8rem; margin-bottom: 0.2rem;">
<span style="color: var(--text-secondary);">Active Context:</span>
<strong id="h2hKalpTokens" style="font-family: var(--font-mono); color: #fff;">0 tokens</strong>
</div>
<div style="display: flex; justify-content: space-between; font-size: 0.8rem; margin-bottom: 0.2rem;">
<span style="color: var(--text-secondary);">KV Cache Memory:</span>
<strong id="h2hKalpMemory" style="font-family: var(--font-mono); color: var(--green);">96.00 MB (Strict O(1))</strong>
</div>
<div style="display: flex; justify-content: space-between; font-size: 0.8rem; margin-bottom: 0.4rem;">
<span style="color: var(--text-secondary);">Latency per Token:</span>
<strong id="h2hKalpLatency" style="font-family: var(--font-mono); color: var(--green);">-- ms</strong>
</div>
<div style="background: rgba(0,0,0,0.5); border-radius: 4px; height: 10px; overflow: hidden; border: 1px solid rgba(0,255,136,0.2);">
<div id="h2hKalpBar" style="background: linear-gradient(90deg, #00f0ff, #00ff88); height: 100%; width: 5%; transition: width 0.3s ease;"></div>
</div>
</div>
<div id="h2hKalpAlert" style="font-size: 0.78rem; padding: 0.5rem; background: rgba(0,0,0,0.4); border-radius: 6px; color: var(--green); min-height: 2.2rem;">
Ready to run benchmark.
</div>
</div>
</div>
</div>
</div>
<!-- Memory Scaling Comparison Table -->
<div class="content-card" style="margin-top: 1.5rem;">
<div class="card-head">
<h3>📊 Memory Scaling Comparison: Standard Linear KV Cache vs. Kalpana RIF</h3>
</div>
<table class="data-table">
<thead>
<tr>
<th>Context Horizon</th>
<th>Standard KV Cache (Qwen2.5 / Llama-3)</th>
<th>Kalpana RIF (O(1))</th>
<th>Memory Reduction</th>
<th>Status on Single GPU</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>2,000 tokens</strong></td>
<td>256 MB</td>
<td><strong class="val-good">96.00 MB</strong></td>
<td>2.7× smaller</td>
<td><span class="tag-pass">Fits</span></td>
</tr>
<tr>
<td><strong>8,000 tokens</strong></td>
<td>1,024 MB (1.0 GB)</td>
<td><strong class="val-good">96.00 MB</strong></td>
<td>10.6× smaller</td>
<td><span class="tag-pass">Fits</span></td>
</tr>
<tr>
<td><strong>32,000 tokens</strong></td>
<td>4,096 MB (4.0 GB)</td>
<td><strong class="val-good">96.00 MB</strong></td>
<td>42.6× smaller</td>
<td><span class="tag-pass">Fits</span></td>
</tr>
<tr>
<td><strong>128,000 tokens</strong></td>
<td>16,384 MB (16.0 GB)</td>
<td><strong class="val-good">96.00 MB</strong></td>
<td>170× smaller</td>
<td><span class="tag-warn">High VRAM Strain</span></td>
</tr>
<tr>
<td><strong>1,000,000 tokens</strong></td>
<td>138,000 MB (138 GB)</td>
<td><strong class="val-good">96.00 MB</strong></td>
<td><strong>1,437× smaller</strong></td>
<td><span class="tag-fail">❌ Out Of Memory (OOM)</span></td>
</tr>
<tr>
<td><strong>3,000,000 tokens</strong></td>
<td>384,000 MB (384 GB)</td>
<td><strong class="val-good">96.00 MB</strong></td>
<td><strong>4,000× smaller</strong></td>
<td><span class="tag-fail">❌ Needs 5× A100 GPUs</span></td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
<!-- ============================================================ -->
<!-- TAB 3: LAYER ARCHITECTURE & LLM INTERCEPTION -->
<!-- ============================================================ -->
<section class="tab-pane" id="tab-architecture">
<div class="pane-inner">
<div class="section-header">
<h2>🏛️ Deep LLM Layer Architecture: Where RIF Intercepts Attention</h2>
<p>How Kalpana replaces unbounded tensor concatenation (`torch.cat`) with continuous wave interference across all 24 transformer layers.</p>
</div>
<!-- Architecture Visual Diagram -->
<div class="content-card">
<div class="card-head">
<h3>📐 Full Transformer Attention Interception Diagram</h3>
</div>
<div class="diagram-container">
<div class="diagram-block block-input">
<div class="block-title">1. Input Text & Token Embeddings</div>
<div class="block-desc">User prompt text is converted into high-dimensional semantic token embeddings.</div>
</div>
<div class="diagram-arrow"></div>
<div class="diagram-block block-transformer">
<div class="block-title">2. Transformer Hidden Layer Stack (Layers 00 to 23)</div>
<div class="block-desc">Multi-Head Self Attention processes Queries, Keys, and Values across all 24 transformer layers.</div>
<!-- Inner Interception Layer -->
<div class="rif-interception-box">
<div class="interception-badge">⚡ KALPANA RIF CACHE LAYER (Drop-in Replacement for DynamicCache)</div>
<div class="interception-grid">
<div class="sub-block">
<strong>Standard Transformers:</strong>
<code>torch.cat([Previous_Cache, New_Key_Tokens], dim=-2)</code>
<span class="val-rose">❌ Unbounded Linear Memory Growth</span>
</div>
<div class="sub-block">
<strong>Kalpana RIF Substrate:</strong>
<code>KalpanaCacheLayer(past_key_values)</code>
<span class="val-emerald">✅ Constant 96 MB Memory Across All 24 Layers</span>
</div>
</div>
</div>
</div>
<div class="diagram-arrow"></div>
<div class="diagram-block block-sweep">
<div class="block-title">3. Continuous Wave Reconstruction & Attention Synthesis</div>
<div class="block-desc">
Continuous wave memory channels deterministically reconstruct Key and Value attention states with zero memory expansion.
</div>
</div>
<div class="diagram-arrow"></div>
<div class="diagram-block block-output">
<div class="block-title">4. Autoregressive Output Token Generation</div>
<div class="block-desc">Generates response tokens with instant recall and zero recomputation overhead.</div>
</div>
</div>
</div>
<!-- End-to-End System Architecture Flow Card -->
<div class="content-card" style="margin-top: 1.5rem;">
<div class="card-head">
<h3>🌐 End-to-End System Architecture & Dataflow Diagram</h3>
</div>
<div style="background: #080c18; border: 1px solid var(--border); border-radius: 8px; padding: 1.5rem; text-align: center;">
<img src="https://raw.githubusercontent.com/maduperera/Kalpana-EmbedToKV/main/assets/kalpana_architecture.png" alt="Kalpana System Architecture Flow" style="max-width: 100%; max-height: 620px; object-fit: contain; border-radius: 6px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5); background: #ffffff; padding: 12px;">
<div style="font-size: 0.85rem; color: var(--text-muted); margin-top: 1rem; line-height: 1.5;">
Complete pipeline: <strong>User Prompt</strong><strong>Tokenizer</strong><strong>Transformer Hidden Stack (24 Layers)</strong><strong>KalpanaDynamicCache (O(1))</strong><strong>Softmax Attention</strong><strong>Decoded Output</strong>.
</div>
</div>
</div>
</div>
</section>
<!-- ============================================================ -->
<!-- TAB 4: SWAGGER / REST API DOCUMENTATION -->
<!-- ============================================================ -->
<section class="tab-pane" id="tab-swagger">
<div class="pane-inner">
<div class="section-header" style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem;">
<div>
<h2>🔌 Developer OpenAPI / Swagger API Reference</h2>
<p>Standard REST inference and telemetry endpoints powered by dedicated NVIDIA GPU.</p>
</div>
<a href="https://huggingface.co/spaces/MaduRox/Kalpana-API-GPU" target="_blank" class="btn-primary" style="text-decoration: none; width: auto; padding: 0.6rem 1.2rem; display: inline-flex; align-items: center; gap: 0.5rem;">
<span>📖 Open Kalpanā GPU Space ↗️</span>
</a>
</div>
<!-- Base URL Banner -->
<div style="background: rgba(0, 240, 255, 0.05); border: 1px solid var(--border-cyan); border-radius: 8px; padding: 0.8rem 1.2rem; margin-bottom: 1.5rem; display: flex; justify-content: space-between; align-items: center;">
<div>
<span style="color: var(--text-muted); font-size: 0.8rem;">HOSTED GPU ENDPOINT:</span>
<span style="font-family: var(--font-mono); font-weight: 700; color: var(--cyan); margin-left: 0.5rem;">https://madurox-kalpana-api-gpu.hf.space</span>
</div>
<span class="status-tag tag-pass">ONLINE · NVIDIA GPU (T4 DEDICATED)</span>
</div>
<!-- Windows PowerShell Example -->
<div class="swagger-endpoint open">
<div class="endpoint-header" onclick="toggleSwagger(this)">
<span class="http-method method-post">POWERSHELL</span>
<span class="endpoint-path">Windows PowerShell (Single-Command)</span>
<span class="endpoint-summary">1-Click Execution using native Invoke-RestMethod</span>
<span class="expand-icon"></span>
</div>
<div class="endpoint-body">
<pre class="code-block"><code>$res = Invoke-RestMethod -Uri "https://madurox-kalpana-api-gpu.hf.space/gradio_api/call/generate" -Method Post -ContentType "application/json" -Body '{"data": ["What is cricket?", 128, 0.7]}'
Invoke-RestMethod -Uri "https://madurox-kalpana-api-gpu.hf.space/gradio_api/call/generate/$($res.event_id)"</code></pre>
</div>
</div>
<!-- Python Requests Example -->
<div class="swagger-endpoint">
<div class="endpoint-header" onclick="toggleSwagger(this)">
<span class="http-method method-post">PYTHON</span>
<span class="endpoint-path">Python (requests REST Stream)</span>
<span class="endpoint-summary">Universal 2-step REST streaming client</span>
<span class="expand-icon"></span>
</div>
<div class="endpoint-body">
<pre class="code-block"><code>import requests
# Step 1: Submit prompt
post_res = requests.post(
"https://madurox-kalpana-api-gpu.hf.space/gradio_api/call/generate",
json={"data": ["What is cricket?", 128, 0.7]}
)
event_id = post_res.json()["event_id"]
# Step 2: Stream response
sse_res = requests.get(f"https://madurox-kalpana-api-gpu.hf.space/gradio_api/call/generate/{event_id}")
for line in sse_res.text.split("\n"):
if line.startswith("data:"):
print("Generated Output:", line[5:])</code></pre>
</div>
</div>
<!-- JavaScript Example -->
<div class="swagger-endpoint">
<div class="endpoint-header" onclick="toggleSwagger(this)">
<span class="http-method method-post">JS / WEB</span>
<span class="endpoint-path">JavaScript (fetch SSE Stream)</span>
<span class="endpoint-summary">Web and mobile app client integration</span>
<span class="expand-icon"></span>
</div>
<div class="endpoint-body">
<pre class="code-block"><code>// Step 1: POST prompt
const postRes = await fetch("https://madurox-kalpana-api-gpu.hf.space/gradio_api/call/generate", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ data: ["What is quantum superposition?", 128, 0.7] })
});
const { event_id } = await postRes.json();
// Step 2: Stream answer
const sseRes = await fetch(`https://madurox-kalpana-api-gpu.hf.space/gradio_api/call/generate/${event_id}`);
const text = await sseRes.text();
console.log("Output:", text);</code></pre>
</div>
</div>
</div>
</section>
<!-- ============================================================ -->
<!-- TAB 5: UNIT ECONOMICS & INVESTOR METRICS -->
<!-- ============================================================ -->
<section class="tab-pane" id="tab-economics">
<div class="pane-inner">
<div class="section-header">
<h2>💰 Unit Economics: 800+ Concurrent 1M-Token Contexts on 1 GPU</h2>
<p>How Kalpana eliminates the $432/user/month KV Cache "GPU Tax" down to $2.75/user/month.</p>
</div>
<div class="stats-banner">
<div class="stat-box">
<div class="stat-number val-good">$2.75</div>
<div class="stat-label">Cost per User / Month (1M Context)</div>
</div>
<div class="stat-box">
<div class="stat-number">76.8 GB</div>
<div class="stat-label">VRAM for 800 × 1M-Token Sessions</div>
</div>
<div class="stat-box">
<div class="stat-number val-rose">110.4 TB</div>
<div class="stat-label">Traditional VRAM Needed for 800 Users</div>
</div>
<div class="stat-box">
<div class="stat-number val-cyan">1,437×</div>
<div class="stat-label">VRAM Density Multiplication</div>
</div>
</div>
<div class="content-card" style="margin-top: 1.5rem;">
<div class="card-head">
<h3>💵 Traditional KV-Cache Cost Wall vs. Kalpana RIF ($/user/month)</h3>
</div>
<table class="data-table">
<thead>
<tr>
<th>Context Length</th>
<th>Traditional Cloud API Cost / User / Mo</th>
<th>Kalpana RIF Substrate Cost / User / Mo</th>
<th>Monthly Savings</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>2,000 tokens</strong></td>
<td>$7.45 / user</td>
<td><strong class="val-good">$2.75 / user</strong></td>
<td>2.7× cheaper</td>
</tr>
<tr>
<td><strong>8,000 tokens</strong></td>
<td>$28.80 / user</td>
<td><strong class="val-good">$2.75 / user</strong></td>
<td>10.5× cheaper</td>
</tr>
<tr>
<td><strong>32,000 tokens</strong></td>
<td>$114.00 / user</td>
<td><strong class="val-good">$2.75 / user</strong></td>
<td>41.5× cheaper</td>
</tr>
<tr>
<td><strong>128,000 tokens</strong></td>
<td>$432.00 / user</td>
<td><strong class="val-good">$2.75 / user</strong></td>
<td>157× cheaper</td>
</tr>
<tr>
<td><strong>1,000,000 tokens</strong></td>
<td><span class="val-rose">∞ (Impractical - $10,000+)</span></td>
<td><strong class="val-good">$2.75 / user</strong></td>
<td><strong>3,600× cheaper</strong></td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
</div>
</div>
<script type="module" src="./app.js"></script>
</body>
</html>