Spaces:
Paused
Paused
File size: 13,546 Bytes
d2e7054 8db9bbc d2e7054 8db9bbc d2e7054 861c833 d2e7054 | 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 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | <!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#080908" />
<meta
name="description"
content="Explore WeMM-Embedding-9B across text, images, video, figures, and visual documents."
/>
<title>WeMM — Semantic Universe</title>
<link rel="stylesheet" href="/ui/app.css?v=4" />
<script type="module" src="/ui/app.js?v=2"></script>
</head>
<body>
<div class="noise" aria-hidden="true"></div>
<div class="aurora aurora-a" aria-hidden="true"></div>
<div class="aurora aurora-b" aria-hidden="true"></div>
<header class="site-header">
<a class="brand" href="#top" aria-label="WeMM home">
<span class="brand-mark" aria-hidden="true"><i></i><i></i><i></i></span>
<span><b>WeMM</b><small>SEMANTIC UNIVERSE</small></span>
</a>
<nav class="mode-nav" aria-label="Studio mode">
<button class="nav-pill active" data-mode="search">Semantic search</button>
<button class="nav-pill" data-mode="compare">Vector microscope</button>
</nav>
<div class="header-actions">
<span class="model-status" id="model-status"><i></i><span>Connecting</span></span>
<a class="icon-link" href="/gradio_api/info" target="_blank" title="API schema" aria-label="Open API schema">API</a>
<a class="icon-link arrow-link" href="https://huggingface.co/tencent/WeMM-Embedding-9B" target="_blank" rel="noreferrer" aria-label="Open model card">↗</a>
</div>
</header>
<main id="top">
<section class="hero" aria-labelledby="hero-title">
<div class="hero-copy">
<div class="overline"><span>UNIVERSAL MULTIMODAL EMBEDDING</span><b>QWEN3.5 · 9B</b></div>
<h1 id="hero-title">Meaning has <em>no file type.</em></h1>
<p>
Project language, imagery, video, charts, and visual documents into one shared
geometry—then watch meaning arrange itself.
</p>
<div class="hero-meta">
<div><b>4,096</b><span>native dimensions</span></div>
<div><b>80.6</b><span>MMEB-v2 average</span></div>
<div><b>190</b><span>MMEB-v3 tasks</span></div>
</div>
</div>
</section>
<section class="studio" data-panel="search">
<div class="section-heading">
<div><span>01 / RETRIEVAL UNIVERSE</span><h2>Ask in one medium.<br />Discover in another.</h2></div>
<p>Search the curated field or add a small collection of your own. Every result is scored in the same normalized vector space.</p>
</div>
<div class="studio-grid">
<form class="control-deck" id="search-form">
<div class="deck-heading">
<span>QUERY COMPOSER</span>
<button class="text-button" type="reset">Clear all</button>
</div>
<div class="deck-examples" id="expeditions">
<div class="deck-examples-heading">
<span>CURATED EXPEDITIONS</span>
<small>ONE-CLICK EXAMPLES</small>
</div>
<div class="deck-example-list">
<button class="expedition" type="button" data-example="llama"><span>01</span><b>Find Llama 4</b><small>text → screenshot</small></button>
<button class="expedition" type="button" data-example="tofu"><span>02</span><b>Find mapo tofu</b><small>text → video</small></button>
<button class="expedition" type="button" data-example="safety"><span>03</span><b>Read road safety</b><small>text → document</small></button>
<button class="expedition" type="button" data-example="image"><span>04</span><b>Match a screenshot</b><small>image + text</small></button>
<button class="expedition" type="button" data-example="video"><span>05</span><b>Understand a clip</b><small>video → text</small></button>
</div>
</div>
<label class="field-label" for="query-text">Describe what you mean</label>
<div class="textarea-wrap">
<textarea id="query-text" rows="4" maxlength="1200" placeholder="Which document explains temporary road closures?"></textarea>
<span class="key-hint">⌘ ↵</span>
</div>
<div class="visual-query-grid">
<label class="drop-field" id="query-image-drop">
<input id="query-image" type="file" accept="image/*" />
<span class="drop-icon">⌁</span><b>Add image</b><small>PNG, JPG, WEBP</small>
<div class="file-chip" hidden><span></span><button type="button" aria-label="Remove image">×</button></div>
</label>
<label class="drop-field" id="query-video-drop">
<input id="query-video" type="file" accept="video/*" />
<span class="drop-icon play">▷</span><b>Add video</b><small>MP4, WEBM, MOV</small>
<div class="file-chip" hidden><span></span><button type="button" aria-label="Remove video">×</button></div>
</label>
</div>
<p class="context-note"><span>+</span> Visual media and text become one interleaved query.</p>
<details class="collection-builder">
<summary><span><i>+</i> Build your candidate collection</span><small>optional</small></summary>
<div class="details-body">
<label class="field-label" for="custom-texts">Text candidates · one per line</label>
<textarea id="custom-texts" rows="5" placeholder="Title :: Candidate text Another title :: Another candidate"></textarea>
<label class="mini-upload">
<input id="candidate-media" type="file" accept="image/*,video/*" multiple />
<span>+</span><b>Add candidate media</b><small>up to 6 files</small>
</label>
<div class="candidate-chips" id="candidate-chips"></div>
</div>
</details>
<div class="switch-line">
<div><b>Curated universe</b><small>10 mixed-media candidates</small></div>
<label class="switch"><input id="include-showcase" type="checkbox" checked /><span></span></label>
</div>
<fieldset class="dimension-field">
<legend><span>EMBEDDING BUDGET</span><output id="search-dimension-output">1,024D</output></legend>
<div class="dimension-pills" data-dimension-group="search">
<button type="button" data-value="64">64</button><button type="button" data-value="128">128</button>
<button type="button" data-value="256">256</button><button type="button" data-value="512">512</button>
<button type="button" data-value="1024" class="active">1K</button><button type="button" data-value="2048">2K</button>
<button type="button" data-value="4096">4K</button>
</div>
<input id="search-dimension" type="hidden" value="1024" />
<p>Smaller vectors trade storage for retrieval fidelity.</p>
</fieldset>
<button class="primary-button" id="search-button" type="submit">
<span>Map the semantic field</span><i>→</i>
</button>
</form>
<div class="result-deck" id="search-results" aria-live="polite">
<div class="result-topbar">
<div><span class="signal"><i></i>MODEL READY</span><small>tencent / WeMM-Embedding-9B</small></div>
<span class="result-count">AWAITING QUERY</span>
</div>
<div class="empty-universe">
<div class="empty-field" aria-hidden="true">
<i></i><i></i><i></i><i></i><i></i><i></i><span>W</span>
</div>
<h3>Your semantic field is quiet.</h3>
<p>Compose a query or choose a curated expedition. The first run maps the multimodal corpus; later runs reuse its cached vectors.</p>
<div class="media-preview-rail">
<img src="/assets/llama4_hgf.png" alt="Llama 4 model card screenshot" />
<img src="/assets/doc2.jpg" alt="Historical budget infographic" />
<video src="/assets/mapo_tofu.mp4" muted playsinline aria-label="Mapo tofu cooking clip"></video>
<img src="/assets/doc4.jpg" alt="Road safety assessment page" />
</div>
</div>
</div>
</div>
</section>
<section class="studio compare-studio" data-panel="compare" hidden>
<div class="section-heading">
<div><span>02 / VECTOR MICROSCOPE</span><h2>Put any two ideas<br />under the lens.</h2></div>
<p>Compare any supported pair, then observe whether their relationship survives Matryoshka compression from 4,096 to 64 dimensions.</p>
</div>
<form id="compare-form">
<div class="compare-inputs">
<article class="compare-side" data-side="a">
<header><span>A</span><div><b>QUERY</b><small>What are you looking for?</small></div></header>
<textarea id="pair-query-text" rows="5" placeholder="A picture or description of an idea…"></textarea>
<div class="pair-uploads">
<label><input id="pair-query-image" type="file" accept="image/*" /><span>⌁</span>IMAGE</label>
<label><input id="pair-query-video" type="file" accept="video/*" /><span>▷</span>VIDEO</label>
</div>
<div class="pair-file" id="pair-query-file" hidden></div>
</article>
<div class="versus" aria-hidden="true"><span>↔</span><small>COSINE</small></div>
<article class="compare-side" data-side="b">
<header><span>B</span><div><b>CANDIDATE</b><small>What should it align with?</small></div></header>
<textarea id="pair-candidate-text" rows="5" placeholder="A candidate in text, image, or video…"></textarea>
<div class="pair-uploads">
<label><input id="pair-candidate-image" type="file" accept="image/*" /><span>⌁</span>IMAGE</label>
<label><input id="pair-candidate-video" type="file" accept="video/*" /><span>▷</span>VIDEO</label>
</div>
<div class="pair-file" id="pair-candidate-file" hidden></div>
</article>
</div>
<div class="compare-controls">
<div class="dimension-pills" data-dimension-group="compare">
<button type="button" data-value="64">64</button><button type="button" data-value="128">128</button>
<button type="button" data-value="256">256</button><button type="button" data-value="512">512</button>
<button type="button" data-value="1024" class="active">1K</button><button type="button" data-value="2048">2K</button>
<button type="button" data-value="4096">4K</button>
</div>
<input id="compare-dimension" type="hidden" value="1024" />
<button class="primary-button" id="compare-button" type="submit"><span>Measure alignment</span><i>→</i></button>
</div>
</form>
<div class="compare-results" id="compare-results" aria-live="polite">
<div class="compare-empty"><span>+</span><p>Add one input on each side to activate the microscope.</p></div>
</div>
</section>
<section class="model-story">
<div class="story-number">4096</div>
<div class="story-copy">
<span>ONE MODEL · MANY RESOLUTIONS</span>
<h2>Fold the vector.<br /><em>Keep the meaning.</em></h2>
<p>WeMM emits a 4,096-dimensional embedding with Matryoshka structure. Store fewer leading dimensions when latency or memory matters, and inspect the tradeoff here before choosing.</p>
</div>
<div class="dimension-tower" aria-hidden="true">
<i style="--w:100%"><span>4096</span></i><i style="--w:72%"><span>2048</span></i>
<i style="--w:50%"><span>1024</span></i><i style="--w:36%"><span>512</span></i>
<i style="--w:24%"><span>256</span></i><i style="--w:16%"><span>128</span></i>
<i style="--w:10%"><span>64</span></i>
</div>
</section>
</main>
<footer>
<div class="footer-brand"><span class="brand-mark"><i></i><i></i><i></i></span><b>WeMM</b></div>
<p>Cosine similarity ranks candidates within a collection. It is not a calibrated probability. Audio is not supported.</p>
<div><a href="https://huggingface.co/tencent/WeMM-Embedding-9B" target="_blank" rel="noreferrer">MODEL CARD ↗</a><a href="https://arxiv.org/abs/2608.24053" target="_blank" rel="noreferrer">PAPER ↗</a></div>
</footer>
<div class="job-toast" id="job-toast" hidden>
<div class="job-orbit"><i></i><i></i><span>W</span></div>
<div><span id="job-label">ALLOCATING ZERO GPU</span><b id="job-phase">Entering the semantic field…</b><small id="job-elapsed">00:00 elapsed</small></div>
<button id="job-close" type="button" aria-label="Dismiss">×</button>
<div class="job-progress"><i id="job-progress-bar"></i></div>
</div>
<div class="error-toast" id="error-toast" hidden><b>Something interrupted the field.</b><span></span><button type="button">×</button></div>
</body>
</html>
|