File size: 11,167 Bytes
9bf091e
3b4d731
9bf091e
3b4d731
9bf091e
3b4d731
 
 
 
 
 
 
 
 
 
 
9bf091e
3b4d731
 
9bf091e
 
 
3b4d731
 
 
9bf091e
 
3b4d731
 
26ae416
 
9bf091e
3b4d731
 
9bf091e
3b4d731
26ae416
 
9bf091e
3b4d731
9bf091e
 
 
26ae416
3b4d731
 
 
26ae416
9bf091e
3b4d731
9bf091e
3b4d731
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26ae416
9bf091e
 
3b4d731
 
 
 
d1d7f5f
26ae416
3b4d731
26ae416
3b4d731
 
 
9bf091e
 
3b4d731
 
 
 
 
 
 
 
 
 
26ae416
3b4d731
26ae416
3b4d731
26ae416
3b4d731
26ae416
3b4d731
9bf091e
 
3b4d731
 
 
 
26ae416
 
3b4d731
 
 
 
 
39c6618
0208108
9bf091e
26ae416
3b4d731
 
 
 
39c6618
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<!-- MARL — Model-Agnostic Runtime Middleware for LLMs -->
<link href="https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#f8f9fc;--bg2:#f0f2f8;--surface:#ffffff;--surface-alt:#f5f6fa;
  --border:#e2e5f0;--border-hover:#c7cce0;
  --shadow-sm:0 1px 3px rgba(15,23,42,.04),0 1px 2px rgba(15,23,42,.06);
  --shadow:0 4px 16px rgba(15,23,42,.06),0 1px 3px rgba(15,23,42,.08);
  --shadow-lg:0 12px 40px rgba(15,23,42,.08),0 4px 12px rgba(15,23,42,.06);
  --text:#0f172a;--text-sec:#475569;--text-muted:#94a3b8;
  --ac:#6366f1;--ac2:#4f46e5;--ac-bg:rgba(99,102,241,.06);
  --teal:#0d9488;--amber:#d97706;--green:#16a34a;--rose:#e11d48;--violet:#8b5cf6;
  --radius:16px;--radius-sm:10px;--radius-xs:6px;
  --font:'Sora',sans-serif;--mono:'JetBrains Mono',monospace;
  --tr:0.22s cubic-bezier(0.4,0,0.2,1);
}
/* ── Global Gradio Override ── */
.gradio-container{max-width:100%!important;width:100%!important;padding:0 12px!important;font-family:var(--font)!important;background:var(--bg)!important;margin:0 auto!important}
.gradio-container *{font-family:var(--font)!important}
header{display:none!important}
footer{display:none!important}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 45% at 15% 8%,rgba(99,102,241,.05),transparent 55%),
  radial-gradient(ellipse 55% 35% at 85% 92%,rgba(13,148,136,.04),transparent 50%)}
::-webkit-scrollbar{width:5px;height:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(99,102,241,.2);border-radius:10px}
::selection{background:rgba(99,102,241,.12)}

/* ── Buttons ── */
.gr-button{font-family:var(--font)!important;border-radius:var(--radius-sm)!important;font-weight:600!important;transition:var(--tr)!important}
.gr-button.primary{background:linear-gradient(135deg,#6366f1,#4f46e5)!important;border:none!important;box-shadow:0 4px 16px rgba(99,102,241,.25)!important;color:#fff!important}
.gr-button.primary:hover{box-shadow:0 6px 24px rgba(99,102,241,.35)!important;transform:translateY(-1px)}
.gr-button.secondary{background:var(--surface)!important;border:1px solid var(--border)!important;color:var(--text-sec)!important}
.gr-button.secondary:hover{border-color:var(--ac)!important;color:var(--ac)!important;background:var(--ac-bg)!important}

/* ── Inputs ── */
.gr-input,.gr-dropdown,.gr-textbox textarea,.gr-slider{border-radius:var(--radius-sm)!important;border-color:var(--border)!important;font-family:var(--font)!important}
.gr-input:focus,.gr-textbox textarea:focus{border-color:var(--ac)!important;box-shadow:0 0 0 3px rgba(99,102,241,.08)!important}
.gr-panel,.gr-form{border-radius:var(--radius)!important;border-color:var(--border)!important;box-shadow:var(--shadow-sm)!important}
.gr-accordion{border-radius:var(--radius)!important;border:1px solid var(--border)!important;overflow:hidden}

/* ── Tabs ── */
.gr-tab-nav{border-bottom:2px solid var(--border)!important;background:var(--surface)!important;border-radius:var(--radius-sm) var(--radius-sm) 0 0!important;overflow:hidden}
.gr-tab-nav button{font-family:var(--mono)!important;font-weight:600!important;font-size:11px!important;padding:10px 20px!important;color:var(--text-muted)!important;border:none!important;letter-spacing:.3px;transition:var(--tr)!important}
.gr-tab-nav button.selected{color:var(--ac)!important;border-bottom:2px solid var(--ac)!important;background:var(--ac-bg)!important}

/* ── Animations ── */
@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}

/* ══ MARL HEADER ══ */
.marl-wrap{position:relative;z-index:1;animation:fadeIn .6s ease-out}
.marl-header{text-align:center;margin-bottom:16px}
.badge-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:100px;padding:4px 14px;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--ac);box-shadow:var(--shadow-sm)}
.pulse-dot{width:5px;height:5px;border-radius:50%;background:var(--ac);animation:pulse 2s infinite}
.marl-title{font-size:clamp(20px,3.2vw,36px);font-weight:800;line-height:1.1;letter-spacing:-1.5px;margin-bottom:6px;
  background:linear-gradient(135deg,#1e1b4b 15%,#6366f1 50%,#0d9488 85%);background-size:200%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 6s ease-in-out infinite}
.marl-sub{color:var(--text-muted);font-size:10.5px;line-height:1.8}
.marl-sub b{color:var(--text-sec);font-weight:600}

/* ── Stats ── */
.stats{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:12px 0 14px}
.st{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 14px;text-align:center;min-width:90px;box-shadow:var(--shadow-sm);transition:var(--tr)}
.st:hover{box-shadow:var(--shadow);border-color:var(--border-hover)}
.stn{font-family:var(--mono);font-size:16px;font-weight:700;color:var(--ac)}
.stl{font-size:8px;color:var(--text-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}

/* ── Pipeline ── */
.pipe{display:flex;align-items:center;justify-content:center;gap:0;margin:14px auto;max-width:700px}
.pipe-node{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border-radius:var(--radius-xs);background:var(--surface);border:1px solid var(--border);transition:var(--tr);flex:1;box-shadow:var(--shadow-sm)}
.pipe-node:hover{border-color:var(--ac);box-shadow:0 4px 16px rgba(99,102,241,.12);transform:translateY(-2px)}
.pipe-icon{font-size:16px}
.pipe-label{font-size:9px;font-weight:700;color:var(--text);font-family:var(--mono)}
.pipe-num{font-size:7px;color:var(--text-muted);font-family:var(--mono);letter-spacing:1px}
.pipe-arrow{color:var(--text-muted);font-size:12px;padding:0 4px;flex-shrink:0}

/* ── Link badges ── */
.link-row{display:flex;gap:6px;justify-content:center;margin-top:10px;flex-wrap:wrap}
.link-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:8px;font-weight:800;padding:3px 10px;border-radius:14px;text-decoration:none;letter-spacing:.3px;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:all .2s}
.link-badge:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.2)}

/* ── Install ── */
.install-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px auto;padding:8px 18px;background:var(--surface);border:1px solid var(--border);border-radius:100px;max-width:480px;box-shadow:var(--shadow-sm)}
.install-bar code{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ac);letter-spacing:.5px}
.install-sep{color:var(--text-muted);font-size:10px}

/* ── Mobile ── */
@media(max-width:768px){
  .stats{gap:4px}.st{min-width:70px;padding:6px 10px}.stn{font-size:13px}
  .pipe{flex-wrap:wrap;gap:4px}.pipe-arrow{display:none}
  .link-row{gap:4px}.link-badge{font-size:7px;padding:2px 7px}
  .badge-row{flex-direction:column;gap:4px}
}
</style>

<div class="marl-wrap">
<div class="marl-header">
  <div class="badge-row">
    <div class="badge"><div class="pulse-dot"></div>MARL v1.0 · Apache 2.0</div>
  </div>

  <h1 class="marl-title">Model-Agnostic Runtime Middleware</h1>

  <p class="marl-sub">
    <b>The 3rd approach after fine-tuning & RAG</b> — restructure reasoning at runtime, not model weights.<br>
    5-stage multi-agent pipeline · <b>70%+ hallucination reduction</b> · One line to integrate with any LLM.
  </p>

  <div class="stats">
    <div class="st"><div class="stn" style="color:#16a34a">70%+</div><div class="stl">Hallucination ↓</div></div>
    <div class="st"><div class="stn">9</div><div class="stl">Emergence Engines</div></div>
    <div class="st"><div class="stn" style="color:#d97706">5,538</div><div class="stl">Creative Seeds</div></div>
    <div class="st"><div class="stn" style="color:#0d9488">2M+</div><div class="stl">MAU</div></div>
    <div class="st"><div class="stn" style="color:#8b5cf6">1,500+</div><div class="stl">Public AI</div></div>
  </div>

  <div class="pipe">
    <div class="pipe-node"><span class="pipe-icon">🔍</span><span class="pipe-label">Hypothesis</span><span class="pipe-num">S1</span></div>
    <span class="pipe-arrow"></span>
    <div class="pipe-node"><span class="pipe-icon"></span><span class="pipe-label">Solver</span><span class="pipe-num">S2</span></div>
    <span class="pipe-arrow"></span>
    <div class="pipe-node"><span class="pipe-icon">🔎</span><span class="pipe-label">Auditor</span><span class="pipe-num">S3</span></div>
    <span class="pipe-arrow"></span>
    <div class="pipe-node"><span class="pipe-icon">🛡️</span><span class="pipe-label">Verifier</span><span class="pipe-num">S4</span></div>
    <span class="pipe-arrow"></span>
    <div class="pipe-node"><span class="pipe-icon"></span><span class="pipe-label">Synthesizer</span><span class="pipe-num">S5</span></div>
  </div>

  <div class="install-bar">
    <code>pip install marl-middleware</code>
    <span class="install-sep">or</span>
    <code style="color:var(--teal)">docker run vidraft/marl</code>
  </div>

  <div class="link-row">
    <a href="https://pypi.org/project/marl-middleware/" target="_blank" class="link-badge" style="background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff">📦 PyPI</a>
    <a href="https://huggingface.co/spaces/VIDraft/MARL" target="_blank" class="link-badge" style="background:linear-gradient(135deg,#ff9d00,#ffcd00);color:#1a1a2e">🤗 HuggingFace</a>
    <a href="https://huggingface.co/spaces/FINAL-Bench/Leaderboard" target="_blank" class="link-badge" style="background:linear-gradient(135deg,#0d9488,#059669);color:#fff">🏆 FINAL Bench</a>
    <a href="https://vidraft.net" target="_blank" class="link-badge" style="background:linear-gradient(135deg,#24292e,#40444b);color:#fff">🌐 VIDRAFT</a>
    <a href="https://github.com/Vidraft/MARL" target="_blank" class="link-badge" style="background:linear-gradient(135deg,#24292e,#40444b);color:#fff">⚡ GitHub</a>
    <a href="/cdn-cgi/l/email-protection#b7d6c5cfdec1d0c7c3f7d0dad6dedb99d4d8da" class="link-badge" style="background:linear-gradient(135deg,#e11d48,#f43f5e);color:#fff">✉️ Contact</a>
  </div>

  <div style="display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:8px;font-family:var(--mono);font-size:8px;color:var(--text-muted)">
    <span style="color:#e11d48">🔥 FINAL Bench Global #5 Dataset</span> ·
    <span style="color:#0d9488">🏗 Seoul AI Hub</span> ·
    <span style="color:#8b5cf6">⭐ HF STAR AI Top 12</span> ·
    <span style="color:#d97706">🩺 FACTS Gr