Blog / supratitle.html
QyrouNnet-AI's picture
updated misinfo & changed data
82abdd8 verified
Raw
History Blame Contribute Delete
13.7 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Supra Title | SupraLabs Blog</title>
<style>
:root {
--bg: #0f0f0f;
--surface: #1a1a1a;
--border: #333;
--text: #e0e0e0;
--accent: #536bfe;
--muted: #888;
--font-mono: 'JetBrains Mono', 'Fira Code', monospace;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
background-color: var(--bg);
color: var(--text);
font-family: 'Inter', -apple-system, sans-serif;
line-height: 1.6;
padding: 2rem;
}
code, pre, .mono { font-family: var(--font-mono); }
.container { max-width: 900px; margin: 0 auto; }
header {
border-bottom: 2px solid var(--border);
padding-bottom: 2rem;
margin-bottom: 3rem;
display: flex;
justify-content: space-between;
align-items: flex-end;
}
.logo-area h1 {
font-size: 1.2rem;
text-transform: uppercase;
letter-spacing: 2px;
color: var(--accent);
line-height: 1;
display: flex;
align-items: center;
gap: 10px;
}
.logo-area a { text-decoration: none; color: inherit; }
.logo-area { display: flex; align-items: center; gap: 10px; font-weight: bold; font-size: 1.2rem; }
nav a {
color: var(--text);
text-decoration: none;
margin-left: 1.5rem;
font-size: 0.9rem;
border-bottom: 1px solid transparent;
}
nav a:hover { border-bottom: 1px solid var(--accent); }
.post-header { margin-bottom: 3rem; }
.post-header h2 { font-size: 3rem; line-height: 1.1; margin-bottom: 1rem; font-weight: 800; }
.post-meta { font-family: var(--font-mono); color: var(--accent); font-size: 0.9rem; margin-bottom: 2rem; }
.post-content {
background: var(--surface);
border: 1px solid var(--border);
padding: 3rem;
margin-bottom: 4rem;
}
.post-content h2 { font-size: 1.8rem; margin: 2.5rem 0 1rem 0; color: var(--accent); }
.post-content h2:first-child { margin-top: 0; }
.post-content p { margin-bottom: 1.5rem; font-size: 1.1rem; color: var(--text); }
.post-content ul { margin-bottom: 1.5rem; padding-left: 1.5rem; }
.post-content li { margin-bottom: 0.5rem; font-size: 1.1rem; }
.post-content strong { color: #fff; }
.post-content code {
background: #111;
border: 1px solid var(--border);
padding: 2px 6px;
border-radius: 3px;
font-size: 0.95em;
color: var(--accent);
}
.callout {
border-left: 3px solid var(--accent);
background: #111;
padding: 1rem 1.5rem;
margin: 2rem 0;
font-family: var(--font-mono);
font-size: 0.95rem;
color: #ccc;
}
.callout span { display: block; color: var(--muted); font-size: 0.8rem; margin-bottom: 0.4rem; }
/* IO example pairs */
.io-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0; }
.io-pair {
background: #111;
border: 1px solid var(--border);
padding: 1.2rem;
}
.io-pair .io-label {
font-family: var(--font-mono);
font-size: 0.72rem;
color: var(--muted);
margin-bottom: 0.5rem;
}
.io-pair .io-user { color: #ccc; font-size: 0.95rem; margin-bottom: 0.8rem; line-height: 1.5; }
.io-pair .io-result {
font-family: var(--font-mono);
color: var(--accent);
font-size: 0.9rem;
font-weight: 700;
}
/* Flow diagram */
.flow {
display: flex;
align-items: center;
justify-content: center;
gap: 0.8rem;
margin: 2rem 0;
flex-wrap: wrap;
}
.flow-box {
background: #111;
border: 1px solid var(--border);
padding: 0.8rem 1.2rem;
font-family: var(--font-mono);
font-size: 0.82rem;
text-align: center;
color: #ccc;
}
.flow-box.accent { border-color: var(--accent); color: var(--accent); }
.flow-arrow { color: var(--accent); font-size: 1.2rem; }
.table-wrap { overflow-x: auto; margin: 2rem 0; }
table { width: 100%; border-collapse: collapse; font-family: var(--font-mono); font-size: 0.88rem; }
th { background: #111; color: var(--accent); padding: 0.75rem 1rem; text-align: left; border: 1px solid var(--border); }
td { padding: 0.7rem 1rem; border: 1px solid var(--border); color: var(--text); }
tr:nth-child(even) td { background: #111; }
.tags { display: flex; gap: 0.5rem; margin-top: 2rem; flex-wrap: wrap; }
.tag { font-family: var(--font-mono); font-size: 0.7rem; padding: 2px 8px; border: 1px solid var(--border); border-radius: 4px; color: var(--muted); }
footer { margin-top: 6rem; padding-bottom: 2rem; font-size: 0.8rem; color: var(--muted); text-align: center; }
@media (max-width: 600px) {
.post-header h2 { font-size: 2rem; }
.post-content { padding: 1.5rem; }
header { flex-direction: column; align-items: flex-start; gap: 1rem; }
nav a { margin-left: 0; margin-right: 1rem; }
.io-grid { grid-template-columns: 1fr; }
.flow { flex-direction: column; }
}
</style>
</head>
<body>
<div class="container">
<header>
<div class="logo-area" style="font-size: 1.5em;">
<a href="./index.html"><h1><img src="./image.png" style="height: 2em"> SupraLabs_</h1></a>
</div>
<nav>
<a href="./index.html#news">News</a>
<a href="https://huggingface.co/SupraLabs" target="blank">HuggingFace</a>
<a href="./index.html#hardware">Hardware</a>
</nav>
</header>
<article>
<div class="post-header">
<div class="post-meta">// 2026-06-12 | Release</div>
<h2>Supra Title:<br>one model,<br>one job.</h2>
</div>
<div class="post-content">
<p>Today we are releasing <strong>Supra Title (experimental)</strong>, and it is unlike anything we have shipped before. It is not a general-purpose language model. It does not answer questions or write code. It does exactly one thing: <strong>generate short, accurate titles for chat conversations.</strong></p>
<h2>The problem it solves</h2>
<p>Every AI chat platform needs to title conversations automatically. Claude does it, ChatGPT does it, every local app does it. The typical approach is to send the first message to the same large model that handles everything else and ask it to produce a title. It works fine. But it is wasteful: you are spinning up a 7B model, burning context, and waiting for a response just to get three words back.</p>
<p>Supra Title is purpose-built for this exact task. <strong>350M parameters, GGUF format, runs on any hardware, and produces a title in milliseconds.</strong> No system prompt needed, just send the user message directly.</p>
<h2>How it works</h2>
<p>The integration pattern is dead simple. When a user sends a message, you fire two requests in parallel: one to your main model for the actual response, and one to Supra Title for the conversation title. By the time the main model finishes, the title is already there.</p>
<div class="flow">
<div class="flow-box">User sends message</div>
<div class="flow-arrow"></div>
<div class="flow-box accent">Supra Title<br><small>title in ms</small></div>
<div class="flow-arrow">&</div>
<div class="flow-box">Main LLM<br><small>full response</small></div>
</div>
<p>No system prompt. No special formatting. Just the raw user message in the user turn and the model returns a short title. That is the entire interface.</p>
<h2>Example outputs</h2>
<p>The model handles everything from one-liners to long multi-topic messages:</p>
<div class="io-grid">
<div class="io-pair">
<div class="io-label">// user message</div>
<div class="io-user">bruh my wifi keeps disconnecting every 10 minutes 😭</div>
<div class="io-result">WiFi Issues</div>
</div>
<div class="io-pair">
<div class="io-label">// user message</div>
<div class="io-user">what's the easiest way to make fluffy pancakes?</div>
<div class="io-result">Fluffy Pancakes</div>
</div>
<div class="io-pair">
<div class="io-label">// user message</div>
<div class="io-user">i accidentally sent a message to the wrong person and now i'm dying inside</div>
<div class="io-result">Wrong Message</div>
</div>
<div class="io-pair">
<div class="io-label">// user message</div>
<div class="io-user">can someone explain taxes to me like i'm five because none of this makes sense</div>
<div class="io-result">Understanding Taxes</div>
</div>
<div class="io-pair">
<div class="io-label">// user message</div>
<div class="io-user">I've been trying to learn guitar for a few months now, but I still struggle with switching between chords smoothly...</div>
<div class="io-result">Guitar Practice Tips</div>
</div>
<div class="io-pair">
<div class="io-label">// user message</div>
<div class="io-user">My friend and I are arguing about whether humanity would have progressed faster if the internet had been invented fifty years earlier...</div>
<div class="io-result">Earlier Internet Debate</div>
</div>
</div>
<h2>Model details</h2>
<p>Supra Title is a fine-tune of <strong>LiquidAI LFM2.5-350M-Base</strong>, a liquid foundation model architecture. The GGUF quantizations available cover the full range from Q2 to BF16:</p>
<div class="table-wrap">
<table>
<thead>
<tr><th>Quantization</th><th>File size</th><th>Use case</th></tr>
</thead>
<tbody>
<tr><td>Q2_K_L</td><td>177 MB</td><td>absolute minimum VRAM</td></tr>
<tr><td>Q3_K_M</td><td>193 MB</td><td>low memory devices</td></tr>
<tr><td>Q4_K_M</td><td>229 MB</td><td>recommended default</td></tr>
<tr><td>Q5_K_M</td><td>260 MB</td><td>higher quality</td></tr>
<tr><td>Q6_K</td><td>293 MB</td><td>near lossless</td></tr>
<tr><td>Q8_0</td><td>379 MB</td><td>maximum quality, CPU friendly</td></tr>
<tr><td>BF16 / F16</td><td>711 MB</td><td>full precision</td></tr>
</tbody>
</table>
</div>
<h2>Quick start</h2>
<p>With Ollama (easiest):</p>
<div class="callout">
<span>// ollama</span>
ollama run hf.co/SupraLabs/Supra-Title-350M-exp-GGUF:Q4_K_M
</div>
<p>With llama.cpp directly:</p>
<div class="callout">
<span>// llama.cpp</span>
llama-server -hf SupraLabs/Supra-Title-350M-exp-GGUF:Q4_K_M
</div>
<h2>What's next</h2>
<p>This is an experimental release. We are actively expanding the SFT dataset toward <strong>115,000 high-quality samples</strong> and exploring preference optimization to push title accuracy further. A full non-experimental release is in development. The current weights are out so the community can test real-world performance and give us feedback before we finalize anything.</p>
<p><strong>It is small, it is fast, and it does one thing well. Go try it.</strong></p>
<div class="callout">
<span>// links</span>
Model &nbsp;&nbsp;→ huggingface.co/SupraLabs/Supra-Title-350M-exp-GGUF<br>
License → Apache-2.0<br>
Base &nbsp;&nbsp;&nbsp;→ LiquidAI/LFM2.5-350M-Base
</div>
<div class="tags">
<span class="tag">#release</span>
<span class="tag">#supra-title</span>
<span class="tag">#gguf</span>
<span class="tag">#title-generation</span>
<span class="tag">#edge-ai</span>
<span class="tag">#tinyml</span>
<span class="tag">#open-source</span>
<span class="tag">#lfm2</span>
</div>
</div>
</article>
<footer>
<p class="mono">&copy; 2026 SupraLabs // Built for the community.</p>
</footer>
</div>
</body>
</html>