cheRAGh-Embedding / index.html
QomSSLab's picture
Update benchmark report
e3dca2d verified
Raw History Blame
148 kB
<!DOCTYPE html>
<html lang="en" data-theme="dark" data-lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>cheRAGh — Persian RAG Embedding Benchmark</title>
<script src="https://cdn.plot.ly/plotly-2.32.0.min.js"></script>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Vazirmatn:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
:root,[data-theme="dark"]{
--bg:#0b0f1a;--surface:#111827;--surface2:#1a2235;--surface3:#0f172a;
--border:rgba(255,255,255,0.07);--border2:rgba(255,255,255,0.13);
--accent:#38bdf8;--accent2:#818cf8;--accent3:#34d399;
--text:#e2e8f0;--text2:#94a3b8;--muted:#64748b;
--high:#34d399;--mid:#fb923c;--low:#f87171;--best:#22c55e;
--input-bg:#1a2235;--input-border:rgba(255,255,255,0.13);
--font:'Space Grotesk',system-ui,sans-serif;--mono:'JetBrains Mono',monospace;--font-fa:'Vazirmatn',system-ui,sans-serif;
--radius:12px;--radius-sm:6px;--radius-xs:4px;
--sidebar-bg:#0d1424;--sidebar-w:300px;
--plotly-grid:rgba(255,255,255,0.05);--plotly-tick:#64748b;
}
[data-theme="light"]{
--bg:#f8fafc;--surface:#ffffff;--surface2:#f1f5f9;--surface3:#e2e8f0;
--border:rgba(0,0,0,0.08);--border2:rgba(0,0,0,0.14);
--accent:#0284c7;--accent2:#6366f1;--accent3:#059669;
--text:#0f172a;--text2:#475569;--muted:#94a3b8;
--high:#059669;--mid:#d97706;--low:#dc2626;--best:#16a34a;
--input-bg:#f1f5f9;--input-border:rgba(0,0,0,0.14);
--sidebar-bg:#f1f5f9;
--plotly-grid:rgba(0,0,0,0.06);--plotly-tick:#94a3b8;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;font-size:15px;transition:background .25s,color .25s;}
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:4px;}
a{color:inherit;text-decoration:none;}
/* ── TOPBAR ──────────────────────────────────────────── */
.topbar{
position:sticky;top:0;z-index:200;
background:var(--surface3);border-bottom:1px solid var(--border);
backdrop-filter:blur(14px);
display:flex;align-items:center;justify-content:space-between;
padding:0 28px;height:52px;gap:16px;
}
/* Logo image: right side in EN (after text), left side in FA (before text in RTL) */
.topbar-logo{display:flex;align-items:center;gap:10px;}
.topbar-logo-img{
height:34px;width:auto;object-fit:contain;border-radius:6px;
flex-shrink:0;
}
/* In FA mode the whole topbar flips to RTL, so image naturally goes to left */
[data-lang="fa"] .topbar{direction:rtl;}
[data-lang="fa"] .topbar-right{direction:ltr;}
.topbar-logo-text{font-size:15px;font-weight:700;color:var(--text);}
.topbar-logo-text em{font-style:normal;color:var(--accent);}
.topbar-logo-sub{font-size:11px;color:var(--muted);font-family:var(--mono);}
.topbar-right{display:flex;align-items:center;gap:8px;}
/* ── LANG + THEME TOGGLES ────────────────────────────── */
.lang-toggle{
display:flex;align-items:center;gap:2px;
background:var(--surface2);border:1px solid var(--border2);
border-radius:99px;padding:3px;
}
.lang-btn{
height:26px;padding:0 10px;border-radius:99px;border:none;cursor:pointer;
background:transparent;font-size:11px;font-weight:600;letter-spacing:.04em;
color:var(--muted);font-family:var(--font);transition:all .2s;
}
.lang-btn:hover{color:var(--text2);}
.lang-btn.active{background:var(--accent2);color:#fff;}
.theme-toggle{
display:flex;align-items:center;gap:2px;
background:var(--surface2);border:1px solid var(--border2);
border-radius:99px;padding:3px;
}
.theme-btn{
width:28px;height:28px;border-radius:50%;border:none;cursor:pointer;
background:transparent;display:flex;align-items:center;justify-content:center;
transition:background .2s;color:var(--muted);
}
.theme-btn:hover{background:var(--surface3);color:var(--text2);}
.theme-btn.active{background:var(--accent);color:#fff;}
.icon-svg{width:15px;height:15px;display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
/* ── SIDEBAR ─────────────────────────────────────────── */
.sidebar-toggle-btn{
display:flex;align-items:center;gap:6px;
background:var(--surface2);border:1px solid var(--border2);
border-radius:var(--radius-sm);padding:5px 11px;
font-size:12px;font-weight:500;font-family:var(--font);
color:var(--text2);cursor:pointer;transition:all .15s;white-space:nowrap;
}
.sidebar-toggle-btn:hover{border-color:var(--accent);color:var(--accent);}
.sidebar-toggle-btn.open{border-color:var(--accent2);color:var(--accent2);background:rgba(129,140,248,.08);}
.sidebar-overlay{display:none;position:fixed;inset:0;z-index:299;background:rgba(0,0,0,.45);}
.sidebar-overlay.open{display:block;}
.sidebar{
position:fixed;right:-320px;top:0;bottom:0;z-index:300;
width:var(--sidebar-w);background:var(--sidebar-bg);
border-left:1px solid var(--border2);
overflow-y:auto;transition:right .28s cubic-bezier(.4,0,.2,1);padding:0 0 40px;
}
.sidebar.open{right:0;}
.sidebar-head{
display:flex;align-items:center;justify-content:space-between;
padding:16px 20px;border-bottom:1px solid var(--border);
position:sticky;top:0;background:var(--sidebar-bg);z-index:1;
}
.sidebar-title{font-size:14px;font-weight:600;}
.sidebar-close{
width:28px;height:28px;border-radius:50%;border:none;background:transparent;
color:var(--muted);cursor:pointer;font-size:18px;line-height:1;
display:flex;align-items:center;justify-content:center;transition:all .15s;
}
.sidebar-close:hover{background:var(--border2);color:var(--text);}
.sidebar-section{padding:16px 20px;border-bottom:1px solid var(--border);}
.sidebar-section-title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.sidebar-reset{
margin:14px 20px 0;width:calc(100% - 40px);padding:7px;
border-radius:var(--radius-sm);border:1px solid var(--border2);
background:transparent;color:var(--text2);font-family:var(--font);font-size:12px;cursor:pointer;transition:all .15s;
}
.sidebar-reset:hover{border-color:var(--low);color:var(--low);}
.filter-pill-row{display:flex;flex-wrap:wrap;gap:6px;}
.fpill{
padding:4px 11px;border-radius:99px;font-size:12px;font-weight:500;
border:1px solid var(--border2);background:transparent;color:var(--text2);
cursor:pointer;transition:all .15s;font-family:var(--font);
}
.fpill:hover{border-color:var(--accent);color:var(--accent);}
.fpill.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.fpill.active-st{background:var(--accent3);border-color:var(--accent3);color:#fff;}
.range-inputs{display:flex;gap:6px;align-items:center;}
.range-input{
flex:1;background:var(--input-bg);border:1px solid var(--input-border);
border-radius:var(--radius-xs);padding:5px 8px;
font-size:12px;font-family:var(--mono);color:var(--text);outline:none;transition:border-color .15s;width:0;
}
.range-input:focus{border-color:var(--accent);}
.range-sep{color:var(--muted);font-size:12px;}
/* ── PAGE ────────────────────────────────────────────── */
.page{max-width:1500px;margin:0 auto;padding:0 28px 80px;}
/* ── HERO ────────────────────────────────────────────── */
.hero{position:relative;padding:64px 0 52px;overflow:hidden;border-bottom:1px solid var(--border);}
.hero-bg{
position:absolute;inset:0;z-index:0;
background:radial-gradient(ellipse 55% 70% at 8% 50%,rgba(56,189,248,.07) 0%,transparent 70%),
radial-gradient(ellipse 45% 60% at 92% 30%,rgba(129,140,248,.07) 0%,transparent 70%);
}
[data-theme="light"] .hero-bg{
background:radial-gradient(ellipse 55% 70% at 8% 50%,rgba(2,132,199,.05) 0%,transparent 70%),
radial-gradient(ellipse 45% 60% at 92% 30%,rgba(99,102,241,.04) 0%,transparent 70%);
}
.hero-grid{
position:absolute;inset:0;z-index:0;
background-image:radial-gradient(circle,rgba(56,189,248,.13) 1px,transparent 1px);
background-size:32px 32px;
mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 0%,transparent 70%);
animation:gridPulse 8s ease-in-out infinite;
}
[data-theme="light"] .hero-grid{background-image:radial-gradient(circle,rgba(2,132,199,.09) 1px,transparent 1px);}
@keyframes gridPulse{0%,100%{opacity:.35}50%{opacity:.7}}
.hero-inner{position:relative;z-index:1;}
.hero-badge{
display:inline-flex;align-items:center;gap:8px;
font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
color:var(--accent);background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.2);
border-radius:99px;padding:5px 14px;margin-bottom:20px;
}
.hero-badge span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.hero h1{font-size:clamp(26px,3.5vw,48px);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:6px;}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--accent),var(--accent2));
-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-subtitle{font-size:16px;font-weight:500;color:var(--text2);margin-bottom:14px;}
/* Lyric block */
.hero-lyric{
display:inline-block;
margin-bottom:18px;
padding:12px 18px;
border-left:3px solid var(--accent2);
background:rgba(129,140,248,.06);
border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}
.hero-lyric-line{
font-size:15px;font-style:italic;color:var(--accent2);
font-family:var(--font);line-height:1.8;
}
.hero-lyric-line.fa{
direction:rtl;font-size:16px;color:var(--accent3);
font-family:var(--font-fa);line-height:1.8;
}
.hero-desc{max-width:700px;color:var(--text2);font-size:14px;line-height:1.7;margin-bottom:24px;}
.hero-desc.fa{direction:rtl;text-align:right;font-family:var(--font-fa);font-size:14px;}
/* Global Persian font rule */
.lang-fa,.fa{font-family:var(--font-fa);}
.hero-stats{display:flex;flex-wrap:wrap;gap:26px;}
.hero-stat-val{font-size:24px;font-weight:700;color:var(--text);font-family:var(--mono);line-height:1;}
.hero-stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:3px;}
/* ── HERO TWO-COLUMN LAYOUT ──────────────────────────── */
.hero-layout{
display:grid;
grid-template-columns:1fr 1fr;
gap:48px;
align-items:center;
}
.hero-content{min-width:0;}
.hero-image-col{
display:flex;
align-items:center;
justify-content:center;
padding:12px;
}
.hero-image-col img{
width:100%;
max-width:580px;
height:auto;
border-radius:var(--radius);
object-fit:contain;
display:block;
filter:drop-shadow(0 8px 32px rgba(56,189,248,.18));
transition:filter .4s ease;
}
.hero-image-col img:hover{
filter:drop-shadow(0 12px 40px rgba(56,189,248,.20)) brightness(1.15) saturate(1.09);
}
[data-theme="light"] .hero-image-col img{
filter:drop-shadow(0 8px 32px rgba(2,132,199,.14));
}
/* In FA mode the grid reverses so image appears on left, text on right */
[data-lang="fa"] .hero-layout{direction:rtl;}
[data-lang="fa"] .hero-content{direction:rtl;}
@media(max-width:900px){
.hero-layout{grid-template-columns:1fr;gap:28px;}
.hero-image-col{padding:0 8px;}
.hero-image-col img{max-width:340px;margin:0 auto;}
}
/* ── SECTION ─────────────────────────────────────────── */
.section{padding:50px 0 0;}
.section-head{display:flex;align-items:baseline;gap:14px;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.section-num{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent2);font-family:var(--mono);}
.section-title{font-size:20px;font-weight:600;}
.section-desc{color:var(--muted);font-size:13px;margin-top:4px;line-height:1.6;}
.section-desc.fa{direction:rtl;text-align:right;font-family:var(--font-fa);}
/* ── DATASET CARDS ───────────────────────────────────── */
.ds-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;}
.ds-card{
background:var(--surface);border:1px solid var(--border);
border-radius:var(--radius);padding:12px 16px;min-width:150px;flex:1;
display:flex;align-items:flex-start;gap:10px;
}
.ds-icon{font-size:20px;line-height:1;flex-shrink:0;margin-top:2px;}
.ds-card-name{font-size:13px;font-weight:600;margin-bottom:3px;}
.ds-card-desc{font-size:12px;color:var(--text2);line-height:1.5;}
.ds-card-desc.fa{direction:rtl;font-family:var(--font-fa);}
/* ── CONTROLS + TABLE ────────────────────────────────── */
.controls-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0 0;}
.search-wrap{position:relative;flex:1;min-width:200px;max-width:340px;}
.search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);width:14px;height:14px;pointer-events:none;}
.search-input{
width:100%;background:var(--input-bg);border:1px solid var(--input-border);
border-radius:var(--radius-sm);padding:7px 10px 7px 32px;
font-size:13px;font-family:var(--font);color:var(--text);outline:none;transition:border-color .15s;
}
.search-input:focus{border-color:var(--accent);}
.search-input::placeholder{color:var(--muted);}
.results-count{font-size:12px;color:var(--muted);font-family:var(--mono);margin-left:auto;white-space:nowrap;}
.active-filters-bar{display:flex;gap:6px;flex-wrap:wrap;padding:6px 0 0;}
.active-filter-chip{
display:inline-flex;align-items:center;gap:5px;
padding:3px 9px;border-radius:99px;font-size:11px;font-weight:500;
background:rgba(129,140,248,.12);border:1px solid rgba(129,140,248,.25);color:var(--accent2);
}
.active-filter-chip button{border:none;background:none;color:var(--muted);cursor:pointer;font-size:14px;line-height:1;padding:0 0 0 2px;}
.active-filter-chip button:hover{color:var(--low);}
.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 8px;flex-wrap:wrap;}
.sort-label{font-size:12px;color:var(--muted);font-family:var(--mono);}
.sort-label strong{color:var(--accent);}
.btn-ghost{
background:transparent;border:1px solid var(--border2);color:var(--text2);
border-radius:var(--radius-xs);padding:5px 11px;font-size:12px;font-family:var(--font);
cursor:pointer;transition:all .15s;white-space:nowrap;
}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
.btn-ghost.active{border-color:var(--accent2);color:var(--accent2);background:rgba(129,140,248,.08);}
/* ── LEADERBOARD TABLE ───────────────────────────────── */
.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);}
table.lb{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap;}
table.lb thead tr:first-child{background:var(--surface2);}
table.lb thead tr:nth-child(2){background:var(--surface);}
table.lb th{
padding:9px 11px;color:var(--muted);font-size:11px;font-weight:600;
letter-spacing:.06em;text-transform:uppercase;text-align:center;
cursor:pointer;user-select:none;border-bottom:1px solid var(--border);transition:color .15s;
}
table.lb th:hover{color:var(--text);}
table.lb th.col-model{text-align:left;min-width:190px;}
table.lb th.col-ds{background:rgba(56,189,248,.04);}
[data-theme="light"] table.lb th.col-ds{background:rgba(2,132,199,.04);}
.sort-arrow{opacity:.28;font-size:9px;margin-left:2px;}
table.lb tbody tr{border-bottom:1px solid var(--border);transition:background .12s;}
table.lb tbody tr:last-child{border-bottom:none;}
table.lb tbody tr:hover{background:rgba(56,189,248,.03);}
table.lb td{padding:8px 11px;text-align:center;}
table.lb td.col-model{text-align:left;font-weight:600;}
.model-link{color:var(--text);display:inline-flex;align-items:center;gap:5px;transition:color .15s;}
.model-link:hover{color:var(--accent);}
td.rank-cell{font-size:15px;font-weight:700;width:38px;text-align:center;}
.model-tag{font-size:10px;font-weight:600;padding:2px 7px;border-radius:99px;white-space:nowrap;letter-spacing:.04em;}
.tag-vllm{background:rgba(56,189,248,.1);color:var(--accent);border:1px solid rgba(56,189,248,.22);}
.tag-st{background:rgba(52,211,153,.1);color:var(--accent3);border:1px solid rgba(52,211,153,.22);}
.badge{
display:inline-flex;align-items:center;justify-content:center;
padding:3px 8px;border-radius:var(--radius-xs);
font-family:var(--mono);font-size:12px;font-weight:500;min-width:58px;
}
.badge-hi {background:rgba(52,211,153,.13);color:var(--high);}
.badge-mid{background:rgba(251,146,60,.13);color:var(--mid);}
.badge-lo {background:rgba(248,113,113,.13);color:var(--low);}
.badge-avg{background:rgba(129,140,248,.15);color:var(--accent2);font-weight:700;}
.badge-na {background:rgba(100,116,139,.1);color:var(--muted);}
.badge-best{font-weight:700!important;color:var(--best)!important;background:rgba(34,197,94,.12)!important;box-shadow:0 0 0 1px rgba(34,197,94,.35);}
.info-col{color:var(--text2);font-family:var(--mono);font-size:11px;}
/* ── CHARTS ──────────────────────────────────────────── */
.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(430px,1fr));gap:16px;margin-top:6px;}
.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 16px 8px;}
.chart-card-title{font-size:13px;font-weight:600;margin-bottom:2px;}
.chart-card-sub{font-size:11px;color:var(--muted);margin-bottom:6px;}
/* ── HEATMAP ─────────────────────────────────────────── */
.heatmap-outer{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:16px;}
.heatmap-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.heatmap-title{font-size:13px;font-weight:600;}
.heatmap-sub{font-size:11px;color:var(--muted);margin-top:2px;}
.hm-toggle{display:flex;gap:6px;}
.hm-scroll{overflow:auto;max-height:520px;border-radius:var(--radius-sm);}
.hm-table{border-collapse:collapse;font-size:12px;font-family:var(--mono);}
.hm-th-corner{
position:sticky;left:0;top:0;z-index:4;padding:8px 14px;min-width:110px;
background:var(--surface2);border-right:2px solid var(--border2);border-bottom:2px solid var(--border2);
font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
}
.hm-th-model{
position:sticky;top:0;z-index:3;background:var(--surface2);
border-bottom:2px solid var(--border2);border-right:1px solid var(--border);
padding:0;width:40px;min-width:40px;max-width:40px;vertical-align:bottom;
}
.hm-model-name{
writing-mode:vertical-rl;transform:rotate(180deg);
padding:8px 6px 10px;font-size:11px;font-weight:600;color:var(--text2);
white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:130px;text-align:left;
}
.hm-model-name a{color:var(--text2);transition:color .12s;}
.hm-model-name a:hover{color:var(--accent);}
.hm-th-avg-col{
position:sticky;top:0;right:0;z-index:4;padding:8px 10px;text-align:center;
background:var(--surface3);border-bottom:2px solid var(--border2);border-left:2px solid var(--border2);
font-size:11px;font-weight:600;color:var(--accent2);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;
}
.hm-td-ds{
position:sticky;left:0;z-index:2;padding:7px 14px;
background:var(--surface);border-right:2px solid var(--border2);border-bottom:1px solid var(--border);
font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;
}
.hm-avg-row{background:var(--surface2)!important;color:var(--accent2)!important;border-top:2px solid var(--border2);}
.hm-cell{
padding:6px 3px;text-align:center;border-right:1px solid var(--border);border-bottom:1px solid var(--border);
width:40px;min-width:40px;cursor:default;transition:filter .12s;
}
.hm-cell:hover{filter:brightness(1.15);outline:1px solid rgba(255,255,255,.3);}
.hm-val{font-size:11px;font-weight:600;font-family:var(--mono);}
.hm-na{color:var(--muted);font-size:11px;}
.hm-legend{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:11px;color:var(--muted);}
.hm-legend-strip{width:140px;height:8px;border-radius:4px;background:linear-gradient(90deg,#c0392b,#e67e22,#f1c40f,#2ecc71,#1a9850);flex-shrink:0;}
/* ── EXPLAINER + FOOTER ──────────────────────────────── */
.explainer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;}
.explainer-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;}
.explainer-title{font-size:13px;font-weight:600;margin-bottom:7px;}
.explainer-body{font-size:13px;color:var(--text2);line-height:1.7;}
.explainer-body.fa{direction:rtl;text-align:right;font-family:var(--font-fa);}
.footer{
margin-top:60px;padding:18px 0;border-top:1px solid var(--border);
display:flex;justify-content:space-between;align-items:center;
flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted);
}
.footer a{color:var(--accent);}
/* ── LANG VISIBILITY ─────────────────────────────────── */
[data-lang="en"] .lang-fa { display:none !important; }
[data-lang="fa"] .lang-en { display:none !important; }
[data-lang="fa"] .lang-fa { display:block !important; }
@media(max-width:768px){
.hero{padding:44px 0 32px;}
.page{padding:0 14px 56px;}
.charts-grid{grid-template-columns:1fr;}
}
</style>
</head>
<body>
<!-- TOPBAR -->
<div class="topbar">
<div class="topbar-logo">
<img class="topbar-logo-img" src="logo.png"
onerror="this.style.display='none'"
alt="cheRAGh logo">
<div>
<div class="topbar-logo-text"><em>che</em>RAG<em>h</em> · چراغ</div>
<div class="topbar-logo-sub">Persian RAG Benchmark</div>
</div>
</div>
<div class="topbar-right">
<button class="sidebar-toggle-btn" id="sidebar-toggle-btn" onclick="toggleSidebar()">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round">
<line x1="4" y1="6" x2="20" y2="6"/><line x1="4" y1="12" x2="14" y2="12"/><line x1="4" y1="18" x2="18" y2="18"/>
</svg>
<span class="lang-en">Filters</span><span class="lang-fa" style="display:none">فیلترها</span>
</button>
<div class="lang-toggle">
<button class="lang-btn active" id="lang-btn-en" onclick="setLang('en')">EN</button>
<button class="lang-btn" id="lang-btn-fa" onclick="setLang('fa')">FA</button>
</div>
<div class="theme-toggle">
<button class="theme-btn" id="theme-btn-dark" onclick="setTheme('dark')" title="Dark">
<svg class="icon-svg" viewBox="0 0 24 24"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>
</button>
<button class="theme-btn" id="theme-btn-light" onclick="setTheme('light')" title="Light">
<svg class="icon-svg" viewBox="0 0 24 24"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg>
</button>
<button class="theme-btn" id="theme-btn-auto" onclick="setTheme('auto')" title="System">
<svg class="icon-svg" viewBox="0 0 24 24"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>
</button>
</div>
</div>
</div>
<!-- SIDEBAR OVERLAY -->
<div class="sidebar-overlay" id="sidebar-overlay" onclick="toggleSidebar()"></div>
<div class="sidebar" id="filter-sidebar">
<div class="sidebar-head">
<span class="sidebar-title"><span class="lang-en">Filters</span><span class="lang-fa" style="display:none">فیلترها</span></span>
<button class="sidebar-close" onclick="toggleSidebar()">&#x2715;</button>
</div>
<div class="sidebar-section">
<div class="sidebar-section-title"><span class="lang-en">Context Length</span><span class="lang-fa" style="display:none">طول متن</span></div>
<div class="range-inputs">
<input class="range-input" id="f-ctx-min" type="number" placeholder="Min" oninput="applyFilters()">
<span class="range-sep">–</span>
<input class="range-input" id="f-ctx-max" type="number" placeholder="Max" oninput="applyFilters()">
</div>
</div>
<div class="sidebar-section">
<div class="sidebar-section-title"><span class="lang-en">Embedding Dimension</span><span class="lang-fa" style="display:none">ابعاد Embedding</span></div>
<div class="range-inputs">
<input class="range-input" id="f-dim-min" type="number" placeholder="Min" oninput="applyFilters()">
<span class="range-sep">–</span>
<input class="range-input" id="f-dim-max" type="number" placeholder="Max" oninput="applyFilters()">
</div>
</div>
<div class="sidebar-section">
<div class="sidebar-section-title"><span class="lang-en">Avg MRR Range</span><span class="lang-fa" style="display:none">بازه MRR</span></div>
<div class="range-inputs">
<input class="range-input" id="f-mrr-min" type="number" step="0.01" min="0" max="1" placeholder="0.00" oninput="applyFilters()">
<span class="range-sep">–</span>
<input class="range-input" id="f-mrr-max" type="number" step="0.01" min="0" max="1" placeholder="1.00" oninput="applyFilters()">
</div>
</div>
<div class="sidebar-section">
<div class="sidebar-section-title"><span class="lang-en">Avg Recall@5 Range</span><span class="lang-fa" style="display:none">بازه Recall@5</span></div>
<div class="range-inputs">
<input class="range-input" id="f-rec-min" type="number" step="0.01" min="0" max="1" placeholder="0.00" oninput="applyFilters()">
<span class="range-sep">–</span>
<input class="range-input" id="f-rec-max" type="number" step="0.01" min="0" max="1" placeholder="1.00" oninput="applyFilters()">
</div>
</div>
<button class="sidebar-reset" onclick="resetFilters()">&#x21ba; <span class="lang-en">Reset filters</span><span class="lang-fa" style="display:none">پاک کردن فیلترها</span></button>
</div>
<!-- HERO -->
<div class="hero">
<div class="hero-bg"></div>
<div class="hero-grid"></div>
<div class="page hero-inner">
<div class="hero-layout">
<!-- Text column -->
<div class="hero-content">
<div class="hero-badge"><span></span> cheRAGh · چراغ · Embedding Benchmark</div>
<h1 class="lang-en">Persian RAG<br><em>Embedding Evaluation</em></h1>
<h1 class="lang-fa" style="display:none;direction:rtl">بنچمارک RAG فارسی<br><em>ارزیابی مدل‌های Embedding</em></h1>
<div class="hero-subtitle lang-en">cheRAGh — Benchmarking Suite for Persian RAG Systems</div>
<div class="hero-subtitle lang-fa" style="display:none;direction:rtl">چراغ — محک سامانه‌های RAG در زبان فارسی</div>
<div class="hero-lyric">
<div class="hero-lyric-line fa">چراغِ جست‌وجو افروختیم در شامِ پرسش‌ها</div>
<div class="hero-lyric-line fa">که پیدا گردد از نورش، رهِ پاسخ زِ چالش‌ها</div>
<div class="hero-lyric-line lang-en" style="margin-top:6px;font-size:13px;color:var(--muted);font-style:normal">
We lit the lamp of search in the night of questions,<br>
so its light may reveal the path of answers from challenges.
</div>
</div>
<p class="hero-desc lang-en">
<strong>cheRAGh (چراغ)</strong> is a unified benchmarking suite for Persian Retrieval-Augmented Generation (RAG) systems, covering embedding models, rerankers, retrieval quality, tool calling, and large language model performance across diverse Persian-language datasets from general, scientific, educational, legal, and religious domains.
</p>
<p class="hero-desc lang-en">
This report presents the evaluation results of embedding models in the <strong>cheRAGh</strong> benchmark. Retrieval performance is measured using <strong>Recall@5</strong> and <strong>MRR</strong>.
</p>
<p class="hero-desc fa lang-fa" style="display:none">
پروژه <strong>چراغ (cheRAGh)</strong> —
مجموعه‌ای یکپارچه برای محک سامانه‌های RAG در زبان فارسی است که
مدل‌های Embedding، Reranker، کیفیت بازیابی، فراخوانی ابزار و عملکرد مدل‌های زبانی بزرگ را پوشش می‌دهد.
عملکرد مدل‌ها بر روی مجموعه‌داده‌های فارسی در جنبه‌های مختلف عمومی، علمی، آموزشی، حقوقی و دینی ارزیابی می‌شود.
</p>
<p class="hero-desc fa lang-fa" style="display:none">
این گزارش نتایج ارزیابی مدل‌های Embedding در پروژه <strong>چراغ</strong> است، معیارهای <strong>Recall@5</strong> و <strong>MRR</strong> برای سنجش کیفیت بازیابی به‌کار رفته‌اند.
</p>
<div class="hero-stats">
<div><div class="hero-stat-val">31</div><div class="hero-stat-label lang-en">Models</div><div class="hero-stat-label lang-fa" style="display:none">مدل</div></div>
<div><div class="hero-stat-val">5</div><div class="hero-stat-label lang-en">Domains</div><div class="hero-stat-label lang-fa" style="display:none">حوزه</div></div>
<div><div class="hero-stat-val">0.650</div><div class="hero-stat-label">Avg MRR</div></div>
<div><div class="hero-stat-val">0.717</div><div class="hero-stat-label">Avg Recall@5</div></div>
</div>
</div>
<!-- Image column: shows lang-specific illustration -->
<div class="hero-image-col">
<img class="lang-en" src="img-en.png"
style="opacity:0;transition:opacity .4s"
onload="this.style.opacity='1'"
onerror="this.style.display='none'"
alt="">
<img class="lang-fa" src="img-pr.png"
style="display:none;opacity:0;transition:opacity .4s"
onload="this.style.opacity='1'"
onerror="this.style.display='none'"
alt="">
</div>
</div>
</div>
</div>
<div class="page">
<!-- 01 DATASETS -->
<div class="section">
<div class="section-head">
<span class="section-num">01</span>
<div>
<div class="section-title lang-en">Benchmark Datasets</div>
<div class="section-title lang-fa" style="display:none">مجموعه‌داده‌های ارزیابی</div>
<div class="section-desc lang-en">Five Persian-language domains — Legal, Religious, General, Scientific, and Education — each containing queries paired with a single ground-truth document. Models retrieve top-k candidates from the full corpus and are evaluated on ranking quality and retrieval coverage.</div>
<div class="section-desc lang-fa" style="display:none;direction:rtl">ارزیابی پنج مجموعه‌داده‌ی فارسی در پنج حوزه‌ی مختلف — حقوقی، دینی، عمومی، علمی و آموزشی — هر کدام شامل پرسش‌هایی با یک سند پاسخ صحیح. مدل‌ها k سند برتر را از کل مجموعه بازیابی کرده و بر اساس کیفیت رتبه‌بندی و پوشش بازیابی ارزیابی می‌شوند.</div>
</div>
</div>
<div class="ds-grid"><div class="ds-card"><span class="ds-icon">📚</span><div><div class="ds-card-name">Education</div><div class="ds-card-desc lang-en">Official high-school textbook passages</div><div class="ds-card-desc lang-fa" dir="rtl" style="display:none">متون کتب درسی</div></div></div><div class="ds-card"><span class="ds-icon">🌐</span><div><div class="ds-card-name">General</div><div class="ds-card-desc lang-en">Open-domain Q&A platform logs, everyday topics</div><div class="ds-card-desc lang-fa" dir="rtl" style="display:none">پرسش‌های عمومی</div></div></div><div class="ds-card"><span class="ds-icon">⚖️</span><div><div class="ds-card-name">Legal</div><div class="ds-card-desc lang-en">Legal statutes, court decisions & regulatory texts</div><div class="ds-card-desc lang-fa" dir="rtl" style="display:none">متون قانونی و مقررات</div></div></div><div class="ds-card"><span class="ds-icon">🕌</span><div><div class="ds-card-name">Religious</div><div class="ds-card-desc lang-en">Islamic texts, scholarly commentary & theological Q&A</div><div class="ds-card-desc lang-fa" dir="rtl" style="display:none">متون اسلامی و پرسش‌های دینی</div></div></div><div class="ds-card"><span class="ds-icon">🔬</span><div><div class="ds-card-name">Scientific</div><div class="ds-card-desc lang-en">Peer-reviewed scientific paper abstracts</div><div class="ds-card-desc lang-fa" dir="rtl" style="display:none">چکیده مقالات علمی</div></div></div></div>
</div>
<!-- 02 LEADERBOARD -->
<div class="section">
<div class="section-head">
<span class="section-num">02</span>
<div>
<div class="section-title lang-en">Leaderboard</div>
<div class="section-title lang-fa" style="display:none">جدول رتبه‌بندی</div>
<div class="section-desc lang-en">
<span style="color:var(--high)">Green ≥ 0.75</span> ·
<span style="color:var(--mid)">Orange 0.50–0.74</span> ·
<span style="color:var(--low)">Red &lt; 0.50</span> ·
<span style="color:var(--best)">Bold green = best in column</span>
</div>
<div class="section-desc lang-fa" style="display:none;direction:rtl">
<span style="color:var(--high)">سبز ≥ ۰.۷۵</span> ·
<span style="color:var(--mid)">نارنجی ۰.۵۰–۰.۷۴</span> ·
<span style="color:var(--low)">قرمز &lt; ۰.۵۰</span> ·
<span style="color:var(--best)">سبز پررنگ = بهترین در ستون</span>
</div>
</div>
</div>
<div class="controls-bar">
<div class="search-wrap">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd" d="M9 3.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11zM2 9a7 7 0 1112.452 4.391l3.328 3.329a.75.75 0 11-1.06 1.06l-3.329-3.328A7 7 0 012 9z" clip-rule="evenodd"/>
</svg>
<input class="search-input" id="model-search" placeholder="Search model…" oninput="applyFilters()">
</div>
<span class="results-count" id="results-count"></span>
</div>
<div class="active-filters-bar" id="active-filters-bar"></div>
<div class="table-toolbar">
<span class="sort-label" id="sort-label">Sorted by <strong>Average MRR ↓</strong></span>
<button class="btn-ghost active" id="btn-info" onclick="toggleInfo()">
<span class="lang-en">Hide model info</span><span class="lang-fa" style="display:none">پنهان کردن اطلاعات مدل</span>
</button>
</div>
<div class="table-wrap">
<table class="lb" id="lb-table">
<thead>
<tr>
<th rowspan="2" style="width:36px" onclick="sortByRank()"># <span class="sort-arrow">↕</span></th>
<th rowspan="2" class="col-model" onclick="sortByModel()">Model <span class="sort-arrow">↕</span></th>
<th rowspan="2" class="info-col-th" onclick="sortInfoNum(0)">Ctx Len <span class="sort-arrow">↕</span></th>
<th rowspan="2" class="info-col-th" onclick="sortInfoNum(1)">Emb Dim <span class="sort-arrow">↕</span></th>
<th rowspan="2" class="info-col-th" onclick="sortInfoNum(2)">Params <span class="sort-arrow">↕</span></th>
<th rowspan="2" class="info-col-th">Size</th>
<th rowspan="2" class="info-col-th" style="min-width:130px">Architecture</th>
<th colspan="2" class="col-ds" onclick="sortByDs(0)">Education <span class="sort-arrow">&#8597;</span></th><th colspan="2" class="col-ds" onclick="sortByDs(1)">General <span class="sort-arrow">&#8597;</span></th><th colspan="2" class="col-ds" onclick="sortByDs(2)">Legal <span class="sort-arrow">&#8597;</span></th><th colspan="2" class="col-ds" onclick="sortByDs(3)">Religious <span class="sort-arrow">&#8597;</span></th><th colspan="2" class="col-ds" onclick="sortByDs(4)">Scientific <span class="sort-arrow">&#8597;</span></th>
<th colspan="2" style="background:rgba(129,140,248,.08)" onclick="sortByAvg()">Average <span class="sort-arrow">↕</span></th>
</tr>
<tr>
<th class="col-ds" onclick="sortByMetric('mrr',0)">MRR <span class="sort-arrow">&#8597;</span></th><th class="col-ds" onclick="sortByMetric('recall',0)">Recall@5 <span class="sort-arrow">&#8597;</span></th><th class="col-ds" onclick="sortByMetric('mrr',1)">MRR <span class="sort-arrow">&#8597;</span></th><th class="col-ds" onclick="sortByMetric('recall',1)">Recall@5 <span class="sort-arrow">&#8597;</span></th><th class="col-ds" onclick="sortByMetric('mrr',2)">MRR <span class="sort-arrow">&#8597;</span></th><th class="col-ds" onclick="sortByMetric('recall',2)">Recall@5 <span class="sort-arrow">&#8597;</span></th><th class="col-ds" onclick="sortByMetric('mrr',3)">MRR <span class="sort-arrow">&#8597;</span></th><th class="col-ds" onclick="sortByMetric('recall',3)">Recall@5 <span class="sort-arrow">&#8597;</span></th><th class="col-ds" onclick="sortByMetric('mrr',4)">MRR <span class="sort-arrow">&#8597;</span></th><th class="col-ds" onclick="sortByMetric('recall',4)">Recall@5 <span class="sort-arrow">&#8597;</span></th>
<th style="background:rgba(129,140,248,.08)" onclick="sortByMetric('avg_mrr',null)">MRR <span class="sort-arrow">↕</span></th>
<th style="background:rgba(129,140,248,.08)" onclick="sortByMetric('avg_recall',null)">Recall@5 <span class="sort-arrow">↕</span></th>
</tr>
</thead>
<tbody id="lb-body"></tbody>
</table>
</div>
</div>
<!-- 03 CHARTS -->
<div class="section">
<div class="section-head">
<span class="section-num">03</span>
<div>
<div class="section-title lang-en">Visualisations</div>
<div class="section-title lang-fa" style="display:none">نمودارها</div>
</div>
</div>
<div class="charts-grid">
<div class="chart-card">
<div class="chart-card-title lang-en">MRR by Dataset</div>
<div class="chart-card-title lang-fa" style="display:none">MRR به تفکیک مجموعه‌داده</div>
<div class="chart-card-sub">Mean Reciprocal Rank</div>
<div id="chart-mrr-bar" style="height:300px"></div>
</div>
<div class="chart-card">
<div class="chart-card-title lang-en">Recall@5 by Dataset</div>
<div class="chart-card-title lang-fa" style="display:none">Recall@5 به تفکیک مجموعه‌داده</div>
<div class="chart-card-sub lang-en">Fraction of queries where ground-truth is in top-k</div>
<div class="chart-card-sub lang-fa" style="display:none">نسبت پرسش‌هایی که سند صحیح در top-k است</div>
<div id="chart-recall-bar" style="height:300px"></div>
</div>
</div>
<div class="charts-grid" style="margin-top:14px">
<div class="chart-card">
<div class="chart-card-title">Radar — MRR</div>
<div class="chart-card-sub lang-en">Multi-domain strength profile</div>
<div class="chart-card-sub lang-fa" style="display:none">نمایه قدرت چندحوزه‌ای</div>
<div id="chart-radar-mrr" style="height:330px"></div>
</div>
<div class="chart-card">
<div class="chart-card-title">Radar — Recall@5</div>
<div class="chart-card-sub lang-en">Multi-domain coverage profile</div>
<div class="chart-card-sub lang-fa" style="display:none">نمایه پوشش چندحوزه‌ای</div>
<div id="chart-radar-recall" style="height:330px"></div>
</div>
</div>
<div class="heatmap-outer">
<div class="heatmap-head">
<div>
<div class="heatmap-title lang-en">Performance Heatmap</div>
<div class="heatmap-title lang-fa" style="display:none">نقشه حرارتی عملکرد</div>
<div class="heatmap-sub lang-en">All models × datasets — scroll to explore · hover for value</div>
<div class="heatmap-sub lang-fa" style="display:none">همه مدل‌ها × مجموعه‌داده‌ها</div>
</div>
<div class="hm-toggle">
<button class="fpill active" id="hm-btn-mrr" onclick="setHmMetric('mrr')">MRR</button>
<button class="fpill" id="hm-btn-recall" onclick="setHmMetric('recall')">Recall@5</button>
</div>
</div>
<div class="hm-scroll"><table class="hm-table" id="hm-table"></table></div>
<div class="hm-legend">
<span class="lang-en">Worst</span><span class="lang-fa" style="display:none">ضعیف‌ترین</span>
<div class="hm-legend-strip"></div>
<span class="lang-en">Best</span><span class="lang-fa" style="display:none">بهترین</span>
</div>
</div>
</div>
<!-- 04 METRICS -->
<div class="section">
<div class="section-head">
<span class="section-num">04</span>
<div>
<div class="section-title lang-en">About the Metrics</div>
<div class="section-title lang-fa" style="display:none">درباره معیارها</div>
</div>
</div>
<div class="explainer-grid">
<div class="explainer-card">
<div class="explainer-title" style="color:var(--accent)">MRR — Mean Reciprocal Rank</div>
<div class="explainer-body lang-en">Averages 1/rank across all queries. Rank 1 every time → 1.0; rank 5 every time → 0.20. Rewards getting the right answer to the top.</div>
<div class="explainer-body lang-fa fa" style="display:none">میانگین ۱/رتبه روی همه پرسش‌ها. همیشه رتبه ۱ → ۱.۰؛ همیشه رتبه ۵ → ۰.۲۰. معیار دقت در رتبه‌بندی.</div>
</div>
<div class="explainer-card">
<div class="explainer-title" style="color:var(--accent2)">Recall@5</div>
<div class="explainer-body lang-en">Fraction of queries where the correct document appears in the top-k results.</div>
<div class="explainer-body lang-fa fa" style="display:none">نسبت پرسش‌هایی که سند صحیح در top-k ظاهر می‌شود.</div>
</div>
<div class="explainer-card">
<div class="explainer-title" style="color:var(--accent3)">
<span class="lang-en">About cheRAGh</span>
<span class="lang-fa" style="display:none">درباره چراغ</span>
</div>
<div class="explainer-body lang-en">
<strong>cheRAGh (چراغ)</strong> is a unified benchmarking suite for Persian RAG systems,
covering embeddings, rerankers, retrieval quality, tool calling, and end-to-end pipeline performance.
</div>
<div class="explainer-body lang-fa fa" style="display:none">
پروژه <strong>چراغ (cheRAGh)</strong> برای محک سامانه‌های RAG در زبان فارسی است که
مدل‌های Embedding، Reranker، کیفیت بازیابی، فراخوانی ابزار و عملکرد مدل‌های زبانی بزرگ را پوشش می‌دهد.
</div>
</div>
</div>
</div>
<div class="footer">
<div>cheRAGh · <a href="https://huggingface.co/QomSSLab" target="_blank">HuggingFace</a> · 2026-06-30 07:38</div>
<div>
<span style="color:var(--high)">● ≥ 0.75</span> &ensp;
<span style="color:var(--mid)">● 0.50–0.74</span> &ensp;
<span style="color:var(--low)">● &lt; 0.50</span> &ensp;
<span style="color:var(--best)">● best</span>
</div>
</div>
</div>
<div style="display:none" id="leaderboard-static-wrapper">
<div class="table-controls">
<div class="sort-info">
<span class="sort-badge" id="sort-indicator">📊 Sorted by: Average MRR (descending)</span>
<span class="sort-hint">Click column headers to sort</span>
</div>
<div class="rank-info">
<span class="rank-badge" id="rank-badge">🏆 Rank by: Average MRR</span>
</div>
</div>
<div class="legend-note">
<span class="legend-icon">*</span> = Local model (running on local / Sentence Transformers)
</div>
<div class="table-wrapper">
<table class="professional-table leaderboard sortable" id="leaderboard-table" data-datasets='["Education", "General", "Legal", "Religious", "Scientific"]' data-recall-label="Recall@5">
<thead>
<tr>
<th rowspan="2" style="vertical-align:middle;text-align:center;width:50px;" onclick="sortByRank()"># <span class="sort-icon">⇅</span></th>
<th rowspan="2" style="vertical-align:middle;text-align:left;min-width:180px;" onclick="sortTable(1)">Model <span class="sort-icon">⇅</span></th>
<th rowspan="2" class="model-info-col" style="vertical-align:middle;text-align:center;font-size:0.75em;background:#3d4f6b;">Context Len</th><th rowspan="2" class="model-info-col" style="vertical-align:middle;text-align:center;font-size:0.75em;background:#3d4f6b;">Emb Dim</th><th rowspan="2" class="model-info-col" style="vertical-align:middle;text-align:center;font-size:0.75em;background:#3d4f6b;">Params</th><th rowspan="2" class="model-info-col" style="vertical-align:middle;text-align:center;font-size:0.75em;background:#3d4f6b;">Size</th><th rowspan="2" class="model-info-col" style="vertical-align:middle;text-align:center;font-size:0.75em;background:#3d4f6b;">Type</th><th colspan="2" style="text-align:center;background:linear-gradient(135deg,#5a67d8,#6b46c1);" onclick="sortByDataset(0)">Education <span class="sort-icon">⇅</span></th><th colspan="2" style="text-align:center;background:linear-gradient(135deg,#5a67d8,#6b46c1);" onclick="sortByDataset(1)">General <span class="sort-icon">⇅</span></th><th colspan="2" style="text-align:center;background:linear-gradient(135deg,#5a67d8,#6b46c1);" onclick="sortByDataset(2)">Legal <span class="sort-icon">⇅</span></th><th colspan="2" style="text-align:center;background:linear-gradient(135deg,#5a67d8,#6b46c1);" onclick="sortByDataset(3)">Religious <span class="sort-icon">⇅</span></th><th colspan="2" style="text-align:center;background:linear-gradient(135deg,#5a67d8,#6b46c1);" onclick="sortByDataset(4)">Scientific <span class="sort-icon">⇅</span></th><th colspan="2" style="text-align:center;background:linear-gradient(135deg,#6b46c1,#805ad5);" onclick="sortByAverage()">Avg <span class="sort-icon">⇅</span></th></tr><tr><th style="text-align:center;background:#4a5568;" onclick="sortByMetric('mrr',0)">MRR</th><th style="text-align:center;background:#4a5568;" onclick="sortByMetric('recall',0)">Recall@5</th><th style="text-align:center;background:#4a5568;" onclick="sortByMetric('mrr',1)">MRR</th><th style="text-align:center;background:#4a5568;" onclick="sortByMetric('recall',1)">Recall@5</th><th style="text-align:center;background:#4a5568;" onclick="sortByMetric('mrr',2)">MRR</th><th style="text-align:center;background:#4a5568;" onclick="sortByMetric('recall',2)">Recall@5</th><th style="text-align:center;background:#4a5568;" onclick="sortByMetric('mrr',3)">MRR</th><th style="text-align:center;background:#4a5568;" onclick="sortByMetric('recall',3)">Recall@5</th><th style="text-align:center;background:#4a5568;" onclick="sortByMetric('mrr',4)">MRR</th><th style="text-align:center;background:#4a5568;" onclick="sortByMetric('recall',4)">Recall@5</th><th style="text-align:center;background:#4a5568;" onclick="sortByMetric('avg_mrr')">MRR</th><th style="text-align:center;background:#4a5568;" onclick="sortByMetric('avg_recall')">Recall@5</th></tr></thead><tbody><tr data-model="codefuse-ai/F2LLM-v2-4B"><td style="text-align:center;font-weight:700;" class="rank-cell">🥇</td><td style="text-align:left;font-weight:600;"><strong>codefuse-ai/F2LLM-v2-4B</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">32768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">2560</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">4.0B</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~16 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Decoder-only (F2LLM-v2 embedding model)</td><td style="text-align:center;" data-mrr="0.8150"><span class="score-badge score-high">0.8150</span></td><td style="text-align:center;" data-recall="0.9463"><span class="score-badge score-high">0.9463</span></td><td style="text-align:center;" data-mrr="0.8693"><span class="score-badge score-high">0.8693</span></td><td style="text-align:center;" data-recall="0.9420"><span class="score-badge score-high">0.9420</span></td><td style="text-align:center;" data-mrr="0.9340"><span class="score-badge score-high">0.9340</span></td><td style="text-align:center;" data-recall="0.9800"><span class="score-badge score-high">0.9800</span></td><td style="text-align:center;" data-mrr="0.7899"><span class="score-badge score-high">0.7899</span></td><td style="text-align:center;" data-recall="0.8586"><span class="score-badge score-high">0.8586</span></td><td style="text-align:center;" data-mrr="0.9769"><span class="score-badge score-high">0.9769</span></td><td style="text-align:center;" data-recall="0.9920"><span class="score-badge score-high">0.9920</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8770"><span class="score-badge score-high"><strong>0.8770</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.9438"><span class="score-badge score-high"><strong>0.9438</strong></span></td></tr><tr data-model="Snowflake/snowflake-arctic-embed-l-v2.0 *"><td style="text-align:center;font-weight:700;" class="rank-cell">🥈</td><td style="text-align:left;font-weight:600;"><strong>Snowflake/snowflake-arctic-embed-l-v2.0 *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">8192</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">1024</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">568M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~2.2 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Transformer-based</td><td style="text-align:center;" data-mrr="0.8430"><span class="score-badge score-high">0.8430</span></td><td style="text-align:center;" data-recall="0.9756"><span class="score-badge score-high">0.9756</span></td><td style="text-align:center;" data-mrr="0.8235"><span class="score-badge score-high">0.8235</span></td><td style="text-align:center;" data-recall="0.9200"><span class="score-badge score-high">0.9200</span></td><td style="text-align:center;" data-mrr="0.9715"><span class="score-badge score-high">0.9715</span></td><td style="text-align:center;" data-recall="0.9980"><span class="score-badge score-high">0.9980</span></td><td style="text-align:center;" data-mrr="0.7555"><span class="score-badge score-high">0.7555</span></td><td style="text-align:center;" data-recall="0.8307"><span class="score-badge score-high">0.8307</span></td><td style="text-align:center;" data-mrr="0.9867"><span class="score-badge score-high">0.9867</span></td><td style="text-align:center;" data-recall="1.0000"><span class="score-badge score-high">1.0000</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8760"><span class="score-badge score-high"><strong>0.8760</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.9449"><span class="score-badge score-high"><strong>0.9449</strong></span></td></tr><tr data-model="Qwen/Qwen3-Embedding-8B"><td style="text-align:center;font-weight:700;" class="rank-cell">🥉</td><td style="text-align:left;font-weight:600;"><strong>Qwen/Qwen3-Embedding-8B</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">32k</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">4096</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">8.0B</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~32 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Decoder-only (Qwen3)</td><td style="text-align:center;" data-mrr="0.8642"><span class="score-badge score-high">0.8642</span></td><td style="text-align:center;" data-recall="0.9756"><span class="score-badge score-high">0.9756</span></td><td style="text-align:center;" data-mrr="0.8028"><span class="score-badge score-high">0.8028</span></td><td style="text-align:center;" data-recall="0.8760"><span class="score-badge score-high">0.8760</span></td><td style="text-align:center;" data-mrr="0.9516"><span class="score-badge score-high">0.9516</span></td><td style="text-align:center;" data-recall="0.9920"><span class="score-badge score-high">0.9920</span></td><td style="text-align:center;" data-mrr="0.7876"><span class="score-badge score-high">0.7876</span></td><td style="text-align:center;" data-recall="0.8586"><span class="score-badge score-high">0.8586</span></td><td style="text-align:center;" data-mrr="0.9721"><span class="score-badge score-high">0.9721</span></td><td style="text-align:center;" data-recall="0.9861"><span class="score-badge score-high">0.9861</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8756"><span class="score-badge score-high"><strong>0.8756</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.9376"><span class="score-badge score-high"><strong>0.9376</strong></span></td></tr><tr data-model="Octen/Octen-Embedding-8B"><td style="text-align:center;font-weight:700;" class="rank-cell">4</td><td style="text-align:left;font-weight:600;"><strong>Octen/Octen-Embedding-8B</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">32768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">4096</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">7.6B</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~30 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Decoder-only (Qwen3-based)</td><td style="text-align:center;" data-mrr="0.8545"><span class="score-badge score-high">0.8545</span></td><td style="text-align:center;" data-recall="0.9756"><span class="score-badge score-high">0.9756</span></td><td style="text-align:center;" data-mrr="0.8066"><span class="score-badge score-high">0.8066</span></td><td style="text-align:center;" data-recall="0.8920"><span class="score-badge score-high">0.8920</span></td><td style="text-align:center;" data-mrr="0.9298"><span class="score-badge score-high">0.9298</span></td><td style="text-align:center;" data-recall="0.9720"><span class="score-badge score-high">0.9720</span></td><td style="text-align:center;" data-mrr="0.7786"><span class="score-badge score-high">0.7786</span></td><td style="text-align:center;" data-recall="0.8486"><span class="score-badge score-high">0.8486</span></td><td style="text-align:center;" data-mrr="0.9875"><span class="score-badge score-high">0.9875</span></td><td style="text-align:center;" data-recall="0.9980"><span class="score-badge score-high">0.9980</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8714"><span class="score-badge score-high"><strong>0.8714</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.9372"><span class="score-badge score-high"><strong>0.9372</strong></span></td></tr><tr data-model="BAAI/bge-m3"><td style="text-align:center;font-weight:700;" class="rank-cell">5</td><td style="text-align:left;font-weight:600;"><strong>BAAI/bge-m3</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">8192</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">1024</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">568M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~2.3 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based</td><td style="text-align:center;" data-mrr="0.8056"><span class="score-badge score-high">0.8056</span></td><td style="text-align:center;" data-recall="0.9220"><span class="score-badge score-high">0.9220</span></td><td style="text-align:center;" data-mrr="0.8027"><span class="score-badge score-high">0.8027</span></td><td style="text-align:center;" data-recall="0.8740"><span class="score-badge score-high">0.8740</span></td><td style="text-align:center;" data-mrr="0.9766"><span class="score-badge score-high">0.9766</span></td><td style="text-align:center;" data-recall="0.9940"><span class="score-badge score-high">0.9940</span></td><td style="text-align:center;" data-mrr="0.7584"><span class="score-badge score-high">0.7584</span></td><td style="text-align:center;" data-recall="0.8287"><span class="score-badge score-high">0.8287</span></td><td style="text-align:center;" data-mrr="0.9813"><span class="score-badge score-high">0.9813</span></td><td style="text-align:center;" data-recall="0.9960"><span class="score-badge score-high">0.9960</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8649"><span class="score-badge score-high"><strong>0.8649</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.9229"><span class="score-badge score-high"><strong>0.9229</strong></span></td></tr><tr data-model="Qwen/Qwen3-Embedding-4B"><td style="text-align:center;font-weight:700;" class="rank-cell">6</td><td style="text-align:left;font-weight:600;"><strong>Qwen/Qwen3-Embedding-4B</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">32k</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">2560</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">4.0B</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~16 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Decoder-only (Qwen3)</td><td style="text-align:center;" data-mrr="0.8404"><span class="score-badge score-high">0.8404</span></td><td style="text-align:center;" data-recall="0.9659"><span class="score-badge score-high">0.9659</span></td><td style="text-align:center;" data-mrr="0.7854"><span class="score-badge score-high">0.7854</span></td><td style="text-align:center;" data-recall="0.8560"><span class="score-badge score-high">0.8560</span></td><td style="text-align:center;" data-mrr="0.9640"><span class="score-badge score-high">0.9640</span></td><td style="text-align:center;" data-recall="0.9860"><span class="score-badge score-high">0.9860</span></td><td style="text-align:center;" data-mrr="0.7260"><span class="score-badge score-medium">0.7260</span></td><td style="text-align:center;" data-recall="0.8088"><span class="score-badge score-high">0.8088</span></td><td style="text-align:center;" data-mrr="0.9725"><span class="score-badge score-high">0.9725</span></td><td style="text-align:center;" data-recall="0.9841"><span class="score-badge score-high">0.9841</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8577"><span class="score-badge score-high"><strong>0.8577</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.9201"><span class="score-badge score-high"><strong>0.9201</strong></span></td></tr><tr data-model="Octen/Octen-Embedding-4B"><td style="text-align:center;font-weight:700;" class="rank-cell">7</td><td style="text-align:left;font-weight:600;"><strong>Octen/Octen-Embedding-4B</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">32768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">2560</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">4.0B</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~16 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Decoder-only (Qwen3-based)</td><td style="text-align:center;" data-mrr="0.8510"><span class="score-badge score-high">0.8510</span></td><td style="text-align:center;" data-recall="0.9610"><span class="score-badge score-high">0.9610</span></td><td style="text-align:center;" data-mrr="0.7917"><span class="score-badge score-high">0.7917</span></td><td style="text-align:center;" data-recall="0.8840"><span class="score-badge score-high">0.8840</span></td><td style="text-align:center;" data-mrr="0.9375"><span class="score-badge score-high">0.9375</span></td><td style="text-align:center;" data-recall="0.9820"><span class="score-badge score-high">0.9820</span></td><td style="text-align:center;" data-mrr="0.7230"><span class="score-badge score-medium">0.7230</span></td><td style="text-align:center;" data-recall="0.8068"><span class="score-badge score-high">0.8068</span></td><td style="text-align:center;" data-mrr="0.9838"><span class="score-badge score-high">0.9838</span></td><td style="text-align:center;" data-recall="0.9900"><span class="score-badge score-high">0.9900</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8574"><span class="score-badge score-high"><strong>0.8574</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.9248"><span class="score-badge score-high"><strong>0.9248</strong></span></td></tr><tr data-model="bflhc/MoD-Embedding"><td style="text-align:center;font-weight:700;" class="rank-cell">8</td><td style="text-align:left;font-weight:600;"><strong>bflhc/MoD-Embedding</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">32768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">2560</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">4.0B</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~16 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Decoder-only (Qwen3-Embedding-4B + LoRA)</td><td style="text-align:center;" data-mrr="0.8365"><span class="score-badge score-high">0.8365</span></td><td style="text-align:center;" data-recall="0.9707"><span class="score-badge score-high">0.9707</span></td><td style="text-align:center;" data-mrr="0.7947"><span class="score-badge score-high">0.7947</span></td><td style="text-align:center;" data-recall="0.8800"><span class="score-badge score-high">0.8800</span></td><td style="text-align:center;" data-mrr="0.9405"><span class="score-badge score-high">0.9405</span></td><td style="text-align:center;" data-recall="0.9800"><span class="score-badge score-high">0.9800</span></td><td style="text-align:center;" data-mrr="0.7249"><span class="score-badge score-medium">0.7249</span></td><td style="text-align:center;" data-recall="0.8187"><span class="score-badge score-high">0.8187</span></td><td style="text-align:center;" data-mrr="0.9767"><span class="score-badge score-high">0.9767</span></td><td style="text-align:center;" data-recall="0.9900"><span class="score-badge score-high">0.9900</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8547"><span class="score-badge score-high"><strong>0.8547</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.9279"><span class="score-badge score-high"><strong>0.9279</strong></span></td></tr><tr data-model="nvidia/llama-nemotron-embed-1b-v2 *"><td style="text-align:center;font-weight:700;" class="rank-cell">9</td><td style="text-align:left;font-weight:600;"><strong>nvidia/llama-nemotron-embed-1b-v2 *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">8192</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">2048</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">1.2B</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~4 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Decoder-only (Llama-based)</td><td style="text-align:center;" data-mrr="0.8693"><span class="score-badge score-high">0.8693</span></td><td style="text-align:center;" data-recall="0.9610"><span class="score-badge score-high">0.9610</span></td><td style="text-align:center;" data-mrr="0.7814"><span class="score-badge score-high">0.7814</span></td><td style="text-align:center;" data-recall="0.8720"><span class="score-badge score-high">0.8720</span></td><td style="text-align:center;" data-mrr="0.9745"><span class="score-badge score-high">0.9745</span></td><td style="text-align:center;" data-recall="0.9960"><span class="score-badge score-high">0.9960</span></td><td style="text-align:center;" data-mrr="0.6602"><span class="score-badge score-medium">0.6602</span></td><td style="text-align:center;" data-recall="0.7510"><span class="score-badge score-high">0.7510</span></td><td style="text-align:center;" data-mrr="0.9849"><span class="score-badge score-high">0.9849</span></td><td style="text-align:center;" data-recall="0.9980"><span class="score-badge score-high">0.9980</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8540"><span class="score-badge score-high"><strong>0.8540</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.9156"><span class="score-badge score-high"><strong>0.9156</strong></span></td></tr><tr data-model="jinaai/jina-embeddings-v3 *"><td style="text-align:center;font-weight:700;" class="rank-cell">10</td><td style="text-align:left;font-weight:600;"><strong>jinaai/jina-embeddings-v3 *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">8192</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">1024</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">570M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~2.0–2.4 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Transformer (BERT-style)</td><td style="text-align:center;" data-mrr="0.7321"><span class="score-badge score-medium">0.7321</span></td><td style="text-align:center;" data-recall="0.9024"><span class="score-badge score-high">0.9024</span></td><td style="text-align:center;" data-mrr="0.8044"><span class="score-badge score-high">0.8044</span></td><td style="text-align:center;" data-recall="0.8860"><span class="score-badge score-high">0.8860</span></td><td style="text-align:center;" data-mrr="0.9351"><span class="score-badge score-high">0.9351</span></td><td style="text-align:center;" data-recall="0.9900"><span class="score-badge score-high">0.9900</span></td><td style="text-align:center;" data-mrr="0.7309"><span class="score-badge score-medium">0.7309</span></td><td style="text-align:center;" data-recall="0.8167"><span class="score-badge score-high">0.8167</span></td><td style="text-align:center;" data-mrr="0.9648"><span class="score-badge score-high">0.9648</span></td><td style="text-align:center;" data-recall="0.9861"><span class="score-badge score-high">0.9861</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8334"><span class="score-badge score-high"><strong>0.8334</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.9162"><span class="score-badge score-high"><strong>0.9162</strong></span></td></tr><tr data-model="intfloat/multilingual-e5-large-instruct *"><td style="text-align:center;font-weight:700;" class="rank-cell">11</td><td style="text-align:left;font-weight:600;"><strong>intfloat/multilingual-e5-large-instruct *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">512</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">1024</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">560M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~2.2 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based (with instruction tuning)</td><td style="text-align:center;" data-mrr="0.7644"><span class="score-badge score-high">0.7644</span></td><td style="text-align:center;" data-recall="0.9122"><span class="score-badge score-high">0.9122</span></td><td style="text-align:center;" data-mrr="0.7687"><span class="score-badge score-high">0.7687</span></td><td style="text-align:center;" data-recall="0.8560"><span class="score-badge score-high">0.8560</span></td><td style="text-align:center;" data-mrr="0.9498"><span class="score-badge score-high">0.9498</span></td><td style="text-align:center;" data-recall="0.9840"><span class="score-badge score-high">0.9840</span></td><td style="text-align:center;" data-mrr="0.6598"><span class="score-badge score-medium">0.6598</span></td><td style="text-align:center;" data-recall="0.7390"><span class="score-badge score-medium">0.7390</span></td><td style="text-align:center;" data-mrr="0.9787"><span class="score-badge score-high">0.9787</span></td><td style="text-align:center;" data-recall="0.9940"><span class="score-badge score-high">0.9940</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8243"><span class="score-badge score-high"><strong>0.8243</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.8971"><span class="score-badge score-high"><strong>0.8971</strong></span></td></tr><tr data-model="jinaai/jina-embeddings-v5-text-small *"><td style="text-align:center;font-weight:700;" class="rank-cell">12</td><td style="text-align:left;font-weight:600;"><strong>jinaai/jina-embeddings-v5-text-small *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">32768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">1024</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">677M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~2.7 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Decoder-only (Qwen3-based)</td><td style="text-align:center;" data-mrr="0.8128"><span class="score-badge score-high">0.8128</span></td><td style="text-align:center;" data-recall="0.9317"><span class="score-badge score-high">0.9317</span></td><td style="text-align:center;" data-mrr="0.7461"><span class="score-badge score-medium">0.7461</span></td><td style="text-align:center;" data-recall="0.8400"><span class="score-badge score-high">0.8400</span></td><td style="text-align:center;" data-mrr="0.9137"><span class="score-badge score-high">0.9137</span></td><td style="text-align:center;" data-recall="0.9800"><span class="score-badge score-high">0.9800</span></td><td style="text-align:center;" data-mrr="0.6333"><span class="score-badge score-medium">0.6333</span></td><td style="text-align:center;" data-recall="0.7112"><span class="score-badge score-medium">0.7112</span></td><td style="text-align:center;" data-mrr="0.9722"><span class="score-badge score-high">0.9722</span></td><td style="text-align:center;" data-recall="0.9900"><span class="score-badge score-high">0.9900</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8156"><span class="score-badge score-high"><strong>0.8156</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.8906"><span class="score-badge score-high"><strong>0.8906</strong></span></td></tr><tr data-model="microsoft/harrier-oss-v1-0.6b *"><td style="text-align:center;font-weight:700;" class="rank-cell">13</td><td style="text-align:left;font-weight:600;"><strong>microsoft/harrier-oss-v1-0.6b *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">32768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">1024</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">0.6B</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~2.4 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Decoder-only (Harrier-based)</td><td style="text-align:center;" data-mrr="0.8210"><span class="score-badge score-high">0.8210</span></td><td style="text-align:center;" data-recall="0.9463"><span class="score-badge score-high">0.9463</span></td><td style="text-align:center;" data-mrr="0.7300"><span class="score-badge score-medium">0.7300</span></td><td style="text-align:center;" data-recall="0.8240"><span class="score-badge score-high">0.8240</span></td><td style="text-align:center;" data-mrr="0.9291"><span class="score-badge score-high">0.9291</span></td><td style="text-align:center;" data-recall="0.9700"><span class="score-badge score-high">0.9700</span></td><td style="text-align:center;" data-mrr="0.6187"><span class="score-badge score-medium">0.6187</span></td><td style="text-align:center;" data-recall="0.6992"><span class="score-badge score-medium">0.6992</span></td><td style="text-align:center;" data-mrr="0.9699"><span class="score-badge score-high">0.9699</span></td><td style="text-align:center;" data-recall="0.9920"><span class="score-badge score-high">0.9920</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8138"><span class="score-badge score-high"><strong>0.8138</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.8863"><span class="score-badge score-high"><strong>0.8863</strong></span></td></tr><tr data-model="ibm-granite/granite-embedding-311m-multilingual-r2 *"><td style="text-align:center;font-weight:700;" class="rank-cell">14</td><td style="text-align:left;font-weight:600;"><strong>ibm-granite/granite-embedding-311m-multilingual-r2 *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">512</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">311M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~1.2 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based</td><td style="text-align:center;" data-mrr="0.7504"><span class="score-badge score-high">0.7504</span></td><td style="text-align:center;" data-recall="0.9024"><span class="score-badge score-high">0.9024</span></td><td style="text-align:center;" data-mrr="0.7799"><span class="score-badge score-high">0.7799</span></td><td style="text-align:center;" data-recall="0.8700"><span class="score-badge score-high">0.8700</span></td><td style="text-align:center;" data-mrr="0.9195"><span class="score-badge score-high">0.9195</span></td><td style="text-align:center;" data-recall="0.9720"><span class="score-badge score-high">0.9720</span></td><td style="text-align:center;" data-mrr="0.6289"><span class="score-badge score-medium">0.6289</span></td><td style="text-align:center;" data-recall="0.7092"><span class="score-badge score-medium">0.7092</span></td><td style="text-align:center;" data-mrr="0.9673"><span class="score-badge score-high">0.9673</span></td><td style="text-align:center;" data-recall="0.9920"><span class="score-badge score-high">0.9920</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.8092"><span class="score-badge score-high"><strong>0.8092</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.8891"><span class="score-badge score-high"><strong>0.8891</strong></span></td></tr><tr data-model="jinaai/jina-embeddings-v5-text-nano *"><td style="text-align:center;font-weight:700;" class="rank-cell">15</td><td style="text-align:left;font-weight:600;"><strong>jinaai/jina-embeddings-v5-text-nano *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">8192</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">239M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~0.9 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based (EuroBERT)</td><td style="text-align:center;" data-mrr="0.7638"><span class="score-badge score-high">0.7638</span></td><td style="text-align:center;" data-recall="0.9122"><span class="score-badge score-high">0.9122</span></td><td style="text-align:center;" data-mrr="0.7447"><span class="score-badge score-medium">0.7447</span></td><td style="text-align:center;" data-recall="0.8380"><span class="score-badge score-high">0.8380</span></td><td style="text-align:center;" data-mrr="0.9208"><span class="score-badge score-high">0.9208</span></td><td style="text-align:center;" data-recall="0.9720"><span class="score-badge score-high">0.9720</span></td><td style="text-align:center;" data-mrr="0.5895"><span class="score-badge score-medium">0.5895</span></td><td style="text-align:center;" data-recall="0.6912"><span class="score-badge score-medium">0.6912</span></td><td style="text-align:center;" data-mrr="0.9716"><span class="score-badge score-high">0.9716</span></td><td style="text-align:center;" data-recall="0.9880"><span class="score-badge score-high">0.9880</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.7981"><span class="score-badge score-high"><strong>0.7981</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.8803"><span class="score-badge score-high"><strong>0.8803</strong></span></td></tr><tr data-model="PartAI/Tooka-SBERT-V2-Large *"><td style="text-align:center;font-weight:700;" class="rank-cell">16</td><td style="text-align:left;font-weight:600;"><strong>PartAI/Tooka-SBERT-V2-Large *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">512</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">1024</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">353M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~1.4 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based (Sentence Transformer)</td><td style="text-align:center;" data-mrr="0.7774"><span class="score-badge score-high">0.7774</span></td><td style="text-align:center;" data-recall="0.9073"><span class="score-badge score-high">0.9073</span></td><td style="text-align:center;" data-mrr="0.7411"><span class="score-badge score-medium">0.7411</span></td><td style="text-align:center;" data-recall="0.8440"><span class="score-badge score-high">0.8440</span></td><td style="text-align:center;" data-mrr="0.8718"><span class="score-badge score-high">0.8718</span></td><td style="text-align:center;" data-recall="0.9480"><span class="score-badge score-high">0.9480</span></td><td style="text-align:center;" data-mrr="0.6435"><span class="score-badge score-medium">0.6435</span></td><td style="text-align:center;" data-recall="0.7410"><span class="score-badge score-medium">0.7410</span></td><td style="text-align:center;" data-mrr="0.9514"><span class="score-badge score-high">0.9514</span></td><td style="text-align:center;" data-recall="0.9861"><span class="score-badge score-high">0.9861</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.7971"><span class="score-badge score-high"><strong>0.7971</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.8853"><span class="score-badge score-high"><strong>0.8853</strong></span></td></tr><tr data-model="jinaai/jina-embeddings-v4-vllm-retrieval *"><td style="text-align:center;font-weight:700;" class="rank-cell">17</td><td style="text-align:left;font-weight:600;"><strong>jinaai/jina-embeddings-v4-vllm-retrieval *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">32768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">2048</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">3.8B</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~15 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Multimodal (Qwen2.5-VL-3B + retrieval LoRA)</td><td style="text-align:center;" data-mrr="0.7518"><span class="score-badge score-high">0.7518</span></td><td style="text-align:center;" data-recall="0.8780"><span class="score-badge score-high">0.8780</span></td><td style="text-align:center;" data-mrr="0.7193"><span class="score-badge score-medium">0.7193</span></td><td style="text-align:center;" data-recall="0.8200"><span class="score-badge score-high">0.8200</span></td><td style="text-align:center;" data-mrr="0.8918"><span class="score-badge score-high">0.8918</span></td><td style="text-align:center;" data-recall="0.9520"><span class="score-badge score-high">0.9520</span></td><td style="text-align:center;" data-mrr="0.6185"><span class="score-badge score-medium">0.6185</span></td><td style="text-align:center;" data-recall="0.7012"><span class="score-badge score-medium">0.7012</span></td><td style="text-align:center;" data-mrr="0.9455"><span class="score-badge score-high">0.9455</span></td><td style="text-align:center;" data-recall="0.9681"><span class="score-badge score-high">0.9681</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.7854"><span class="score-badge score-high"><strong>0.7854</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.8639"><span class="score-badge score-high"><strong>0.8639</strong></span></td></tr><tr data-model="Octen/Octen-Embedding-0.6B"><td style="text-align:center;font-weight:700;" class="rank-cell">18</td><td style="text-align:left;font-weight:600;"><strong>Octen/Octen-Embedding-0.6B</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">32768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">1024</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">0.6B</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~2.4 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Decoder-only (Qwen3-based)</td><td style="text-align:center;" data-mrr="0.7725"><span class="score-badge score-high">0.7725</span></td><td style="text-align:center;" data-recall="0.9073"><span class="score-badge score-high">0.9073</span></td><td style="text-align:center;" data-mrr="0.7071"><span class="score-badge score-medium">0.7071</span></td><td style="text-align:center;" data-recall="0.8040"><span class="score-badge score-high">0.8040</span></td><td style="text-align:center;" data-mrr="0.8719"><span class="score-badge score-high">0.8719</span></td><td style="text-align:center;" data-recall="0.9520"><span class="score-badge score-high">0.9520</span></td><td style="text-align:center;" data-mrr="0.5512"><span class="score-badge score-medium">0.5512</span></td><td style="text-align:center;" data-recall="0.6434"><span class="score-badge score-medium">0.6434</span></td><td style="text-align:center;" data-mrr="0.9546"><span class="score-badge score-high">0.9546</span></td><td style="text-align:center;" data-recall="0.9821"><span class="score-badge score-high">0.9821</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.7715"><span class="score-badge score-high"><strong>0.7715</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.8578"><span class="score-badge score-high"><strong>0.8578</strong></span></td></tr><tr data-model="PartAI/Tooka-SBERT-V2-Small *"><td style="text-align:center;font-weight:700;" class="rank-cell">19</td><td style="text-align:left;font-weight:600;"><strong>PartAI/Tooka-SBERT-V2-Small *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">512</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">123M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~0.5 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based (Sentence Transformer)</td><td style="text-align:center;" data-mrr="0.7714"><span class="score-badge score-high">0.7714</span></td><td style="text-align:center;" data-recall="0.8732"><span class="score-badge score-high">0.8732</span></td><td style="text-align:center;" data-mrr="0.6868"><span class="score-badge score-medium">0.6868</span></td><td style="text-align:center;" data-recall="0.8000"><span class="score-badge score-high">0.8000</span></td><td style="text-align:center;" data-mrr="0.8719"><span class="score-badge score-high">0.8719</span></td><td style="text-align:center;" data-recall="0.9380"><span class="score-badge score-high">0.9380</span></td><td style="text-align:center;" data-mrr="0.5409"><span class="score-badge score-medium">0.5409</span></td><td style="text-align:center;" data-recall="0.6275"><span class="score-badge score-medium">0.6275</span></td><td style="text-align:center;" data-mrr="0.9573"><span class="score-badge score-high">0.9573</span></td><td style="text-align:center;" data-recall="0.9861"><span class="score-badge score-high">0.9861</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.7657"><span class="score-badge score-high"><strong>0.7657</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.8449"><span class="score-badge score-high"><strong>0.8449</strong></span></td></tr><tr data-model="Qwen/Qwen3-Embedding-0.6B"><td style="text-align:center;font-weight:700;" class="rank-cell">20</td><td style="text-align:left;font-weight:600;"><strong>Qwen/Qwen3-Embedding-0.6B</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">32k</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">1024</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">0.6B</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~2.4 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Decoder-only (Qwen3)</td><td style="text-align:center;" data-mrr="0.7470"><span class="score-badge score-medium">0.7470</span></td><td style="text-align:center;" data-recall="0.8780"><span class="score-badge score-high">0.8780</span></td><td style="text-align:center;" data-mrr="0.6877"><span class="score-badge score-medium">0.6877</span></td><td style="text-align:center;" data-recall="0.7900"><span class="score-badge score-high">0.7900</span></td><td style="text-align:center;" data-mrr="0.8870"><span class="score-badge score-high">0.8870</span></td><td style="text-align:center;" data-recall="0.9560"><span class="score-badge score-high">0.9560</span></td><td style="text-align:center;" data-mrr="0.5518"><span class="score-badge score-medium">0.5518</span></td><td style="text-align:center;" data-recall="0.6414"><span class="score-badge score-medium">0.6414</span></td><td style="text-align:center;" data-mrr="0.9499"><span class="score-badge score-high">0.9499</span></td><td style="text-align:center;" data-recall="0.9801"><span class="score-badge score-high">0.9801</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.7647"><span class="score-badge score-high"><strong>0.7647</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.8491"><span class="score-badge score-high"><strong>0.8491</strong></span></td></tr><tr data-model="ibm-granite/granite-embedding-97m-multilingual-r2 *"><td style="text-align:center;font-weight:700;" class="rank-cell">21</td><td style="text-align:left;font-weight:600;"><strong>ibm-granite/granite-embedding-97m-multilingual-r2 *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">512</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">97M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~0.4 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based</td><td style="text-align:center;" data-mrr="0.6654"><span class="score-badge score-medium">0.6654</span></td><td style="text-align:center;" data-recall="0.8390"><span class="score-badge score-high">0.8390</span></td><td style="text-align:center;" data-mrr="0.7277"><span class="score-badge score-medium">0.7277</span></td><td style="text-align:center;" data-recall="0.8400"><span class="score-badge score-high">0.8400</span></td><td style="text-align:center;" data-mrr="0.8716"><span class="score-badge score-high">0.8716</span></td><td style="text-align:center;" data-recall="0.9460"><span class="score-badge score-high">0.9460</span></td><td style="text-align:center;" data-mrr="0.5093"><span class="score-badge score-medium">0.5093</span></td><td style="text-align:center;" data-recall="0.5837"><span class="score-badge score-medium">0.5837</span></td><td style="text-align:center;" data-mrr="0.9319"><span class="score-badge score-high">0.9319</span></td><td style="text-align:center;" data-recall="0.9681"><span class="score-badge score-high">0.9681</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.7412"><span class="score-badge score-medium"><strong>0.7412</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.8354"><span class="score-badge score-high"><strong>0.8354</strong></span></td></tr><tr data-model="PartAI/Tooka-SBERT *"><td style="text-align:center;font-weight:700;" class="rank-cell">22</td><td style="text-align:left;font-weight:600;"><strong>PartAI/Tooka-SBERT *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">512</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">1024</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">353M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~1.4 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based (Sentence Transformer)</td><td style="text-align:center;" data-mrr="0.6900"><span class="score-badge score-medium">0.6900</span></td><td style="text-align:center;" data-recall="0.8341"><span class="score-badge score-high">0.8341</span></td><td style="text-align:center;" data-mrr="0.6819"><span class="score-badge score-medium">0.6819</span></td><td style="text-align:center;" data-recall="0.7820"><span class="score-badge score-high">0.7820</span></td><td style="text-align:center;" data-mrr="0.7805"><span class="score-badge score-high">0.7805</span></td><td style="text-align:center;" data-recall="0.8900"><span class="score-badge score-high">0.8900</span></td><td style="text-align:center;" data-mrr="0.5302"><span class="score-badge score-medium">0.5302</span></td><td style="text-align:center;" data-recall="0.6355"><span class="score-badge score-medium">0.6355</span></td><td style="text-align:center;" data-mrr="0.9495"><span class="score-badge score-high">0.9495</span></td><td style="text-align:center;" data-recall="0.9761"><span class="score-badge score-high">0.9761</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.7264"><span class="score-badge score-medium"><strong>0.7264</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.8235"><span class="score-badge score-high"><strong>0.8235</strong></span></td></tr><tr data-model="geevec-ai/geevec-embeddings-1.0-lite *"><td style="text-align:center;font-weight:700;" class="rank-cell">23</td><td style="text-align:left;font-weight:600;"><strong>geevec-ai/geevec-embeddings-1.0-lite *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">32768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">4096</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">349M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~1.4 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Decoder-only (Qwen3-style PseudoMoE)</td><td style="text-align:center;" data-mrr="0.6665"><span class="score-badge score-medium">0.6665</span></td><td style="text-align:center;" data-recall="0.7854"><span class="score-badge score-high">0.7854</span></td><td style="text-align:center;" data-mrr="0.6117"><span class="score-badge score-medium">0.6117</span></td><td style="text-align:center;" data-recall="0.7060"><span class="score-badge score-medium">0.7060</span></td><td style="text-align:center;" data-mrr="0.8640"><span class="score-badge score-high">0.8640</span></td><td style="text-align:center;" data-recall="0.9400"><span class="score-badge score-high">0.9400</span></td><td style="text-align:center;" data-mrr="0.4233"><span class="score-badge score-low">0.4233</span></td><td style="text-align:center;" data-recall="0.4940"><span class="score-badge score-low">0.4940</span></td><td style="text-align:center;" data-mrr="0.9586"><span class="score-badge score-high">0.9586</span></td><td style="text-align:center;" data-recall="0.9801"><span class="score-badge score-high">0.9801</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.7048"><span class="score-badge score-medium"><strong>0.7048</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.7811"><span class="score-badge score-high"><strong>0.7811</strong></span></td></tr><tr data-model="sentence-transformers/LaBSE *"><td style="text-align:center;font-weight:700;" class="rank-cell">24</td><td style="text-align:left;font-weight:600;"><strong>sentence-transformers/LaBSE *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">256</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">471M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~1.8 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based (Sentence Transformer)</td><td style="text-align:center;" data-mrr="0.4937"><span class="score-badge score-low">0.4937</span></td><td style="text-align:center;" data-recall="0.6488"><span class="score-badge score-medium">0.6488</span></td><td style="text-align:center;" data-mrr="0.5074"><span class="score-badge score-medium">0.5074</span></td><td style="text-align:center;" data-recall="0.6160"><span class="score-badge score-medium">0.6160</span></td><td style="text-align:center;" data-mrr="0.5753"><span class="score-badge score-medium">0.5753</span></td><td style="text-align:center;" data-recall="0.6660"><span class="score-badge score-medium">0.6660</span></td><td style="text-align:center;" data-mrr="0.3158"><span class="score-badge score-low">0.3158</span></td><td style="text-align:center;" data-recall="0.3984"><span class="score-badge score-low">0.3984</span></td><td style="text-align:center;" data-mrr="0.7549"><span class="score-badge score-high">0.7549</span></td><td style="text-align:center;" data-recall="0.8725"><span class="score-badge score-high">0.8725</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.5294"><span class="score-badge score-medium"><strong>0.5294</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.6403"><span class="score-badge score-medium"><strong>0.6403</strong></span></td></tr><tr data-model="google/embeddinggemma-300m *"><td style="text-align:center;font-weight:700;" class="rank-cell">25</td><td style="text-align:left;font-weight:600;"><strong>google/embeddinggemma-300m *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">8192</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">300M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~1.2 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">Decoder-only (Gemma-based)</td><td style="text-align:center;" data-mrr="0.3440"><span class="score-badge score-low">0.3440</span></td><td style="text-align:center;" data-recall="0.4585"><span class="score-badge score-low">0.4585</span></td><td style="text-align:center;" data-mrr="0.3714"><span class="score-badge score-low">0.3714</span></td><td style="text-align:center;" data-recall="0.4660"><span class="score-badge score-low">0.4660</span></td><td style="text-align:center;" data-mrr="0.4248"><span class="score-badge score-low">0.4248</span></td><td style="text-align:center;" data-recall="0.5340"><span class="score-badge score-medium">0.5340</span></td><td style="text-align:center;" data-mrr="0.1662"><span class="score-badge score-low">0.1662</span></td><td style="text-align:center;" data-recall="0.2072"><span class="score-badge score-low">0.2072</span></td><td style="text-align:center;" data-mrr="0.4668"><span class="score-badge score-low">0.4668</span></td><td style="text-align:center;" data-recall="0.5837"><span class="score-badge score-medium">0.5837</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.3546"><span class="score-badge score-low"><strong>0.3546</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.4499"><span class="score-badge score-low"><strong>0.4499</strong></span></td></tr><tr data-model="nomic-ai/nomic-embed-text-v1.5 *"><td style="text-align:center;font-weight:700;" class="rank-cell">26</td><td style="text-align:left;font-weight:600;"><strong>nomic-ai/nomic-embed-text-v1.5 *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">8192</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">0.1B</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~0.4 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based</td><td style="text-align:center;" data-mrr="0.1759"><span class="score-badge score-low">0.1759</span></td><td style="text-align:center;" data-recall="0.2439"><span class="score-badge score-low">0.2439</span></td><td style="text-align:center;" data-mrr="0.1758"><span class="score-badge score-low">0.1758</span></td><td style="text-align:center;" data-recall="0.2100"><span class="score-badge score-low">0.2100</span></td><td style="text-align:center;" data-mrr="0.1364"><span class="score-badge score-low">0.1364</span></td><td style="text-align:center;" data-recall="0.1720"><span class="score-badge score-low">0.1720</span></td><td style="text-align:center;" data-mrr="0.0476"><span class="score-badge score-low">0.0476</span></td><td style="text-align:center;" data-recall="0.0598"><span class="score-badge score-low">0.0598</span></td><td style="text-align:center;" data-mrr="0.0928"><span class="score-badge score-low">0.0928</span></td><td style="text-align:center;" data-recall="0.1175"><span class="score-badge score-low">0.1175</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.1257"><span class="score-badge score-low"><strong>0.1257</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.1606"><span class="score-badge score-low"><strong>0.1606</strong></span></td></tr><tr data-model="nomic-ai/nomic-embed-text-v1 *"><td style="text-align:center;font-weight:700;" class="rank-cell">27</td><td style="text-align:left;font-weight:600;"><strong>nomic-ai/nomic-embed-text-v1 *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">8192</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">768</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">0.1B</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~0.4 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based</td><td style="text-align:center;" data-mrr="0.1733"><span class="score-badge score-low">0.1733</span></td><td style="text-align:center;" data-recall="0.2341"><span class="score-badge score-low">0.2341</span></td><td style="text-align:center;" data-mrr="0.1155"><span class="score-badge score-low">0.1155</span></td><td style="text-align:center;" data-recall="0.1540"><span class="score-badge score-low">0.1540</span></td><td style="text-align:center;" data-mrr="0.1475"><span class="score-badge score-low">0.1475</span></td><td style="text-align:center;" data-recall="0.1840"><span class="score-badge score-low">0.1840</span></td><td style="text-align:center;" data-mrr="0.0323"><span class="score-badge score-low">0.0323</span></td><td style="text-align:center;" data-recall="0.0319"><span class="score-badge score-low">0.0319</span></td><td style="text-align:center;" data-mrr="0.1346"><span class="score-badge score-low">0.1346</span></td><td style="text-align:center;" data-recall="0.1733"><span class="score-badge score-low">0.1733</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.1207"><span class="score-badge score-low"><strong>0.1207</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.1555"><span class="score-badge score-low"><strong>0.1555</strong></span></td></tr><tr data-model="intfloat/e5-large-v2 *"><td style="text-align:center;font-weight:700;" class="rank-cell">28</td><td style="text-align:left;font-weight:600;"><strong>intfloat/e5-large-v2 *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">512</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">1024</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">335M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~1.3 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based</td><td style="text-align:center;" data-mrr="0.1235"><span class="score-badge score-low">0.1235</span></td><td style="text-align:center;" data-recall="0.1659"><span class="score-badge score-low">0.1659</span></td><td style="text-align:center;" data-mrr="0.2033"><span class="score-badge score-low">0.2033</span></td><td style="text-align:center;" data-recall="0.2440"><span class="score-badge score-low">0.2440</span></td><td style="text-align:center;" data-mrr="0.0679"><span class="score-badge score-low">0.0679</span></td><td style="text-align:center;" data-recall="0.0920"><span class="score-badge score-low">0.0920</span></td><td style="text-align:center;" data-mrr="0.0516"><span class="score-badge score-low">0.0516</span></td><td style="text-align:center;" data-recall="0.0578"><span class="score-badge score-low">0.0578</span></td><td style="text-align:center;" data-mrr="0.0775"><span class="score-badge score-low">0.0775</span></td><td style="text-align:center;" data-recall="0.1056"><span class="score-badge score-low">0.1056</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.1048"><span class="score-badge score-low"><strong>0.1048</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.1330"><span class="score-badge score-low"><strong>0.1330</strong></span></td></tr><tr data-model="mixedbread-ai/mxbai-embed-large-v1 *"><td style="text-align:center;font-weight:700;" class="rank-cell">29</td><td style="text-align:left;font-weight:600;"><strong>mixedbread-ai/mxbai-embed-large-v1 *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">512</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">1024</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">335M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~1.34 GB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based (Mixedbread AI)</td><td style="text-align:center;" data-mrr="0.1406"><span class="score-badge score-low">0.1406</span></td><td style="text-align:center;" data-recall="0.1902"><span class="score-badge score-low">0.1902</span></td><td style="text-align:center;" data-mrr="0.1032"><span class="score-badge score-low">0.1032</span></td><td style="text-align:center;" data-recall="0.1200"><span class="score-badge score-low">0.1200</span></td><td style="text-align:center;" data-mrr="0.1036"><span class="score-badge score-low">0.1036</span></td><td style="text-align:center;" data-recall="0.1380"><span class="score-badge score-low">0.1380</span></td><td style="text-align:center;" data-mrr="0.0399"><span class="score-badge score-low">0.0399</span></td><td style="text-align:center;" data-recall="0.0518"><span class="score-badge score-low">0.0518</span></td><td style="text-align:center;" data-mrr="0.1055"><span class="score-badge score-low">0.1055</span></td><td style="text-align:center;" data-recall="0.1315"><span class="score-badge score-low">0.1315</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.0985"><span class="score-badge score-low"><strong>0.0985</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.1263"><span class="score-badge score-low"><strong>0.1263</strong></span></td></tr><tr data-model="sentence-transformers/all-MiniLM-L12-v2 *"><td style="text-align:center;font-weight:700;" class="rank-cell">30</td><td style="text-align:left;font-weight:600;"><strong>sentence-transformers/all-MiniLM-L12-v2 *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">256</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">384</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">33.4M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~120 MB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based</td><td style="text-align:center;" data-mrr="0.0673"><span class="score-badge score-low">0.0673</span></td><td style="text-align:center;" data-recall="0.0878"><span class="score-badge score-low">0.0878</span></td><td style="text-align:center;" data-mrr="0.0789"><span class="score-badge score-low">0.0789</span></td><td style="text-align:center;" data-recall="0.1120"><span class="score-badge score-low">0.1120</span></td><td style="text-align:center;" data-mrr="0.0535"><span class="score-badge score-low">0.0535</span></td><td style="text-align:center;" data-recall="0.0620"><span class="score-badge score-low">0.0620</span></td><td style="text-align:center;" data-mrr="0.0449"><span class="score-badge score-low">0.0449</span></td><td style="text-align:center;" data-recall="0.0498"><span class="score-badge score-low">0.0498</span></td><td style="text-align:center;" data-mrr="0.0208"><span class="score-badge score-low">0.0208</span></td><td style="text-align:center;" data-recall="0.0259"><span class="score-badge score-low">0.0259</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.0531"><span class="score-badge score-low"><strong>0.0531</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.0675"><span class="score-badge score-low"><strong>0.0675</strong></span></td></tr><tr data-model="sentence-transformers/all-MiniLM-L6-v2 *"><td style="text-align:center;font-weight:700;" class="rank-cell">31</td><td style="text-align:left;font-weight:600;"><strong>sentence-transformers/all-MiniLM-L6-v2 *</strong></td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">256</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">384</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">22.7M</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">~90 MB</td><td class="model-info-col" style="text-align:center;font-size:0.8em;color:#94a3b8;">BERT-based</td><td style="text-align:center;" data-mrr="0.0095"><span class="score-badge score-low">0.0095</span></td><td style="text-align:center;" data-recall="0.0000"><span class="score-badge score-low">0.0000</span></td><td style="text-align:center;" data-mrr="0.0641"><span class="score-badge score-low">0.0641</span></td><td style="text-align:center;" data-recall="0.0940"><span class="score-badge score-low">0.0940</span></td><td style="text-align:center;" data-mrr="0.0183"><span class="score-badge score-low">0.0183</span></td><td style="text-align:center;" data-recall="0.0260"><span class="score-badge score-low">0.0260</span></td><td style="text-align:center;" data-mrr="0.0294"><span class="score-badge score-low">0.0294</span></td><td style="text-align:center;" data-recall="0.0339"><span class="score-badge score-low">0.0339</span></td><td style="text-align:center;" data-mrr="0.0065"><span class="score-badge score-low">0.0065</span></td><td style="text-align:center;" data-recall="0.0100"><span class="score-badge score-low">0.0100</span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-mrr="0.0256"><span class="score-badge score-low"><strong>0.0256</strong></span></td><td style="text-align:center;background:rgba(102,126,234,0.15);" data-avg-recall="0.0328"><span class="score-badge score-low"><strong>0.0328</strong></span></td></tr></tbody></table></div></div>
<script>
const MODELS=["BAAI/bge-m3", "Octen/Octen-Embedding-0.6B", "Octen/Octen-Embedding-4B", "Octen/Octen-Embedding-8B", "PartAI/Tooka-SBERT *", "PartAI/Tooka-SBERT-V2-Large *", "PartAI/Tooka-SBERT-V2-Small *", "Qwen/Qwen3-Embedding-0.6B", "Qwen/Qwen3-Embedding-4B", "Qwen/Qwen3-Embedding-8B", "Snowflake/snowflake-arctic-embed-l-v2.0 *", "bflhc/MoD-Embedding", "codefuse-ai/F2LLM-v2-4B", "geevec-ai/geevec-embeddings-1.0-lite *", "google/embeddinggemma-300m *", "ibm-granite/granite-embedding-311m-multilingual-r2 *", "ibm-granite/granite-embedding-97m-multilingual-r2 *", "intfloat/e5-large-v2 *", "intfloat/multilingual-e5-large-instruct *", "jinaai/jina-embeddings-v3 *", "jinaai/jina-embeddings-v4-vllm-retrieval *", "jinaai/jina-embeddings-v5-text-nano *", "jinaai/jina-embeddings-v5-text-small *", "microsoft/harrier-oss-v1-0.6b *", "mixedbread-ai/mxbai-embed-large-v1 *", "nomic-ai/nomic-embed-text-v1 *", "nomic-ai/nomic-embed-text-v1.5 *", "nvidia/llama-nemotron-embed-1b-v2 *", "sentence-transformers/LaBSE *", "sentence-transformers/all-MiniLM-L12-v2 *", "sentence-transformers/all-MiniLM-L6-v2 *"],DATASETS=["Education", "General", "Legal", "Religious", "Scientific"];
const MRR_DATA={"BAAI/bge-m3": {"Education": 0.8056169034217815, "General": 0.8027085484585654, "Legal": 0.9765984848484849, "Religious": 0.7583844931722903, "Scientific": 0.9813081009296148}, "Octen/Octen-Embedding-0.6B": {"Education": 0.7724994790320846, "General": 0.7071149164311511, "Legal": 0.8719096286170627, "Religious": 0.5512422630429842, "Scientific": 0.9546408383559778}, "Octen/Octen-Embedding-4B": {"Education": 0.8509729608574281, "General": 0.7917004804695896, "Legal": 0.9375018697833604, "Religious": 0.7230007760270486, "Scientific": 0.9838416895189804}, "Octen/Octen-Embedding-8B": {"Education": 0.8545257452574527, "General": 0.8065709184133578, "Legal": 0.9298234341372419, "Religious": 0.7786450293390469, "Scientific": 0.9874833997343957}, "PartAI/Tooka-SBERT *": {"Education": 0.6899960870865064, "General": 0.6819081204594979, "Legal": 0.7805422353432414, "Religious": 0.5302043784722223, "Scientific": 0.9494621476121786}, "PartAI/Tooka-SBERT-V2-Large *": {"Education": 0.7774206377213105, "General": 0.7410936880759581, "Legal": 0.8718408096747617, "Religious": 0.643544593798765, "Scientific": 0.9514121345558751}, "PartAI/Tooka-SBERT-V2-Small *": {"Education": 0.771385408221153, "General": 0.6867911981864011, "Legal": 0.8718887357499672, "Religious": 0.5408867158452203, "Scientific": 0.9573073506838445}, "Qwen/Qwen3-Embedding-0.6B": {"Education": 0.7469525878199583, "General": 0.6876941681403586, "Legal": 0.8869875308210391, "Religious": 0.5517815069588766, "Scientific": 0.9499393695061025}, "Qwen/Qwen3-Embedding-4B": {"Education": 0.8404492895233768, "General": 0.7853971286466274, "Legal": 0.963957287157287, "Religious": 0.7260078178934363, "Scientific": 0.9725294053393421}, "Qwen/Qwen3-Embedding-8B": {"Education": 0.8641814124023595, "General": 0.8028218849997026, "Legal": 0.9516147869674184, "Religious": 0.7875534587791769, "Scientific": 0.972063010583927}, "Snowflake/snowflake-arctic-embed-l-v2.0 *": {"Education": 0.842983862591239, "General": 0.8234644544198769, "Legal": 0.9714999999999999, "Religious": 0.7554954774990302, "Scientific": 0.9867197875166003}, "bflhc/MoD-Embedding": {"Education": 0.836519116809344, "General": 0.7947493969555721, "Legal": 0.9405440179997104, "Religious": 0.7249145850545808, "Scientific": 0.9766857893102913}, "codefuse-ai/F2LLM-v2-4B": {"Education": 0.8150350524740768, "General": 0.8692766304603462, "Legal": 0.9339728819339751, "Religious": 0.7898725948249361, "Scientific": 0.9769130548513018}, "geevec-ai/geevec-embeddings-1.0-lite *": {"Education": 0.6665279264503521, "General": 0.6116537245244064, "Legal": 0.8639870280016136, "Religious": 0.42327650694005686, "Scientific": 0.9586229321957832}, "google/embeddinggemma-300m *": {"Education": 0.3439977163239781, "General": 0.3714403209571468, "Legal": 0.424768704397482, "Religious": 0.1661887548816384, "Scientific": 0.46684459285857516}, "ibm-granite/granite-embedding-311m-multilingual-r2 *": {"Education": 0.7503731926080347, "General": 0.7798746817771881, "Legal": 0.9194572659936999, "Religious": 0.6289143393681224, "Scientific": 0.9672832479605389}, "ibm-granite/granite-embedding-97m-multilingual-r2 *": {"Education": 0.6654027795922403, "General": 0.7276691185139802, "Legal": 0.8716223669455828, "Religious": 0.5093119900402573, "Scientific": 0.9318547837197376}, "intfloat/e5-large-v2 *": {"Education": 0.12354729904864084, "General": 0.2032500146686691, "Legal": 0.06794082548957502, "Religious": 0.05158017259572677, "Scientific": 0.0774645320865943}, "intfloat/multilingual-e5-large-instruct *": {"Education": 0.7644403736720432, "General": 0.7686564780381786, "Legal": 0.9498151515151516, "Religious": 0.659785954918176, "Scientific": 0.9786781445645987}, "jinaai/jina-embeddings-v3 *": {"Education": 0.7321272181244656, "General": 0.8043596386147862, "Legal": 0.9350597883597882, "Religious": 0.7308782198343893, "Scientific": 0.9647959748308353}, "jinaai/jina-embeddings-v4-vllm-retrieval *": {"Education": 0.7518193368258324, "General": 0.7193059668238532, "Legal": 0.891800233138509, "Religious": 0.6184905073256123, "Scientific": 0.945485809749176}, "jinaai/jina-embeddings-v5-text-nano *": {"Education": 0.7637675874777022, "General": 0.7446925096508076, "Legal": 0.920836851192578, "Religious": 0.589526968086716, "Scientific": 0.9715901615416558}, "jinaai/jina-embeddings-v5-text-small *": {"Education": 0.8127521870097195, "General": 0.7460740186511176, "Legal": 0.9136995725904797, "Religious": 0.6332967278031888, "Scientific": 0.9722356107814275}, "microsoft/harrier-oss-v1-0.6b *": {"Education": 0.8210035265532787, "General": 0.7300212227608561, "Legal": 0.9291202729044835, "Religious": 0.6187052459277221, "Scientific": 0.9699241495556236}, "mixedbread-ai/mxbai-embed-large-v1 *": {"Education": 0.14056688482544247, "General": 0.10324545336837117, "Legal": 0.10356432758041942, "Religious": 0.039854012440511156, "Scientific": 0.10545252799910732}, "nomic-ai/nomic-embed-text-v1 *": {"Education": 0.1733111206541835, "General": 0.11551857853078205, "Legal": 0.14750100555250564, "Religious": 0.03231315167810946, "Scientific": 0.1346415657802734}, "nomic-ai/nomic-embed-text-v1.5 *": {"Education": 0.17586058346845873, "General": 0.1758354345454899, "Legal": 0.1364248874270954, "Religious": 0.04757970446610652, "Scientific": 0.09280071280932657}, "nvidia/llama-nemotron-embed-1b-v2 *": {"Education": 0.8693094179874005, "General": 0.7813833978557855, "Legal": 0.9744523809523808, "Religious": 0.6601509259195927, "Scientific": 0.9849127300322518}, "sentence-transformers/LaBSE *": {"Education": 0.49372860715424144, "General": 0.5073658077815619, "Legal": 0.575344477102608, "Religious": 0.31580415089172126, "Scientific": 0.7548560696830915}, "sentence-transformers/all-MiniLM-L12-v2 *": {"Education": 0.06726691484414031, "General": 0.07892310131624539, "Legal": 0.053511560423854396, "Religious": 0.044913580501650716, "Scientific": 0.020842542774986674}, "sentence-transformers/all-MiniLM-L6-v2 *": {"Education": 0.009465622586277407, "General": 0.06408218766296021, "Legal": 0.018270702743476086, "Religious": 0.02942663526521513, "Scientific": 0.006531567130151537}},REC_DATA={"BAAI/bge-m3": {"Education": 0.9219512195121952, "General": 0.874, "Legal": 0.994, "Religious": 0.8286852589641435, "Scientific": 0.9960159362549801}, "Octen/Octen-Embedding-0.6B": {"Education": 0.9073170731707317, "General": 0.804, "Legal": 0.952, "Religious": 0.6434262948207171, "Scientific": 0.9820717131474104}, "Octen/Octen-Embedding-4B": {"Education": 0.9609756097560975, "General": 0.884, "Legal": 0.982, "Religious": 0.8067729083665338, "Scientific": 0.9900398406374502}, "Octen/Octen-Embedding-8B": {"Education": 0.975609756097561, "General": 0.892, "Legal": 0.972, "Religious": 0.848605577689243, "Scientific": 0.99800796812749}, "PartAI/Tooka-SBERT *": {"Education": 0.8341463414634146, "General": 0.782, "Legal": 0.89, "Religious": 0.6354581673306773, "Scientific": 0.9760956175298805}, "PartAI/Tooka-SBERT-V2-Large *": {"Education": 0.9073170731707317, "General": 0.844, "Legal": 0.948, "Religious": 0.7410358565737052, "Scientific": 0.9860557768924303}, "PartAI/Tooka-SBERT-V2-Small *": {"Education": 0.8731707317073171, "General": 0.8, "Legal": 0.938, "Religious": 0.6274900398406374, "Scientific": 0.9860557768924303}, "Qwen/Qwen3-Embedding-0.6B": {"Education": 0.8780487804878049, "General": 0.79, "Legal": 0.956, "Religious": 0.6414342629482072, "Scientific": 0.9800796812749004}, "Qwen/Qwen3-Embedding-4B": {"Education": 0.9658536585365853, "General": 0.856, "Legal": 0.986, "Religious": 0.8087649402390438, "Scientific": 0.9840637450199203}, "Qwen/Qwen3-Embedding-8B": {"Education": 0.975609756097561, "General": 0.876, "Legal": 0.992, "Religious": 0.8585657370517928, "Scientific": 0.9860557768924303}, "Snowflake/snowflake-arctic-embed-l-v2.0 *": {"Education": 0.975609756097561, "General": 0.92, "Legal": 0.998, "Religious": 0.8306772908366534, "Scientific": 1.0}, "bflhc/MoD-Embedding": {"Education": 0.9707317073170731, "General": 0.88, "Legal": 0.98, "Religious": 0.8187250996015937, "Scientific": 0.9900398406374502}, "codefuse-ai/F2LLM-v2-4B": {"Education": 0.9463414634146341, "General": 0.942, "Legal": 0.98, "Religious": 0.8585657370517928, "Scientific": 0.9920318725099602}, "geevec-ai/geevec-embeddings-1.0-lite *": {"Education": 0.7853658536585366, "General": 0.706, "Legal": 0.94, "Religious": 0.4940239043824701, "Scientific": 0.9800796812749004}, "google/embeddinggemma-300m *": {"Education": 0.4585365853658537, "General": 0.466, "Legal": 0.534, "Religious": 0.20717131474103587, "Scientific": 0.5836653386454184}, "ibm-granite/granite-embedding-311m-multilingual-r2 *": {"Education": 0.9024390243902439, "General": 0.87, "Legal": 0.972, "Religious": 0.7091633466135459, "Scientific": 0.9920318725099602}, "ibm-granite/granite-embedding-97m-multilingual-r2 *": {"Education": 0.8390243902439024, "General": 0.84, "Legal": 0.946, "Religious": 0.5836653386454184, "Scientific": 0.9681274900398407}, "intfloat/e5-large-v2 *": {"Education": 0.16585365853658537, "General": 0.244, "Legal": 0.092, "Religious": 0.05776892430278884, "Scientific": 0.10557768924302789}, "intfloat/multilingual-e5-large-instruct *": {"Education": 0.9121951219512195, "General": 0.856, "Legal": 0.984, "Religious": 0.7390438247011952, "Scientific": 0.9940239043824701}, "jinaai/jina-embeddings-v3 *": {"Education": 0.9024390243902439, "General": 0.886, "Legal": 0.99, "Religious": 0.8167330677290837, "Scientific": 0.9860557768924303}, "jinaai/jina-embeddings-v4-vllm-retrieval *": {"Education": 0.8780487804878049, "General": 0.82, "Legal": 0.952, "Religious": 0.701195219123506, "Scientific": 0.9681274900398407}, "jinaai/jina-embeddings-v5-text-nano *": {"Education": 0.9121951219512195, "General": 0.838, "Legal": 0.972, "Religious": 0.6912350597609562, "Scientific": 0.9880478087649402}, "jinaai/jina-embeddings-v5-text-small *": {"Education": 0.9317073170731708, "General": 0.84, "Legal": 0.98, "Religious": 0.7111553784860558, "Scientific": 0.9900398406374502}, "microsoft/harrier-oss-v1-0.6b *": {"Education": 0.9463414634146341, "General": 0.824, "Legal": 0.97, "Religious": 0.6992031872509961, "Scientific": 0.9920318725099602}, "mixedbread-ai/mxbai-embed-large-v1 *": {"Education": 0.1902439024390244, "General": 0.12, "Legal": 0.138, "Religious": 0.05179282868525897, "Scientific": 0.13147410358565736}, "nomic-ai/nomic-embed-text-v1 *": {"Education": 0.23414634146341465, "General": 0.154, "Legal": 0.184, "Religious": 0.03187250996015936, "Scientific": 0.17330677290836655}, "nomic-ai/nomic-embed-text-v1.5 *": {"Education": 0.24390243902439024, "General": 0.21, "Legal": 0.172, "Religious": 0.05976095617529881, "Scientific": 0.11752988047808766}, "nvidia/llama-nemotron-embed-1b-v2 *": {"Education": 0.9609756097560975, "General": 0.872, "Legal": 0.996, "Religious": 0.750996015936255, "Scientific": 0.99800796812749}, "sentence-transformers/LaBSE *": {"Education": 0.6487804878048781, "General": 0.616, "Legal": 0.666, "Religious": 0.398406374501992, "Scientific": 0.8725099601593626}, "sentence-transformers/all-MiniLM-L12-v2 *": {"Education": 0.08780487804878048, "General": 0.112, "Legal": 0.062, "Religious": 0.049800796812749, "Scientific": 0.025896414342629483}, "sentence-transformers/all-MiniLM-L6-v2 *": {"Education": 0.0, "General": 0.094, "Legal": 0.026, "Religious": 0.03386454183266932, "Scientific": 0.0099601593625498}};
const IS_LOCAL={"BAAI/bge-m3": false, "Octen/Octen-Embedding-0.6B": false, "Octen/Octen-Embedding-4B": false, "Octen/Octen-Embedding-8B": false, "PartAI/Tooka-SBERT *": true, "PartAI/Tooka-SBERT-V2-Large *": true, "PartAI/Tooka-SBERT-V2-Small *": true, "Qwen/Qwen3-Embedding-0.6B": false, "Qwen/Qwen3-Embedding-4B": false, "Qwen/Qwen3-Embedding-8B": false, "Snowflake/snowflake-arctic-embed-l-v2.0 *": true, "bflhc/MoD-Embedding": false, "codefuse-ai/F2LLM-v2-4B": false, "geevec-ai/geevec-embeddings-1.0-lite *": true, "google/embeddinggemma-300m *": true, "ibm-granite/granite-embedding-311m-multilingual-r2 *": true, "ibm-granite/granite-embedding-97m-multilingual-r2 *": true, "intfloat/e5-large-v2 *": true, "intfloat/multilingual-e5-large-instruct *": true, "jinaai/jina-embeddings-v3 *": true, "jinaai/jina-embeddings-v4-vllm-retrieval *": true, "jinaai/jina-embeddings-v5-text-nano *": true, "jinaai/jina-embeddings-v5-text-small *": true, "microsoft/harrier-oss-v1-0.6b *": true, "mixedbread-ai/mxbai-embed-large-v1 *": true, "nomic-ai/nomic-embed-text-v1 *": true, "nomic-ai/nomic-embed-text-v1.5 *": true, "nvidia/llama-nemotron-embed-1b-v2 *": true, "sentence-transformers/LaBSE *": true, "sentence-transformers/all-MiniLM-L12-v2 *": true, "sentence-transformers/all-MiniLM-L6-v2 *": true},HF_LINKS={"BAAI/bge-m3": "https://huggingface.co/BAAI/bge-m3", "Octen/Octen-Embedding-0.6B": "https://huggingface.co/Octen/Octen-Embedding-0.6B", "Octen/Octen-Embedding-4B": "https://huggingface.co/Octen/Octen-Embedding-4B", "Octen/Octen-Embedding-8B": "https://huggingface.co/Octen/Octen-Embedding-8B", "PartAI/Tooka-SBERT *": "https://huggingface.co/PartAI/Tooka-SBERT", "PartAI/Tooka-SBERT-V2-Large *": "https://huggingface.co/PartAI/Tooka-SBERT-V2-Large", "PartAI/Tooka-SBERT-V2-Small *": "https://huggingface.co/PartAI/Tooka-SBERT-V2-Small", "Qwen/Qwen3-Embedding-0.6B": "https://huggingface.co/Qwen/Qwen3-Embedding-0.6B", "Qwen/Qwen3-Embedding-4B": "https://huggingface.co/Qwen/Qwen3-Embedding-4B", "Qwen/Qwen3-Embedding-8B": "https://huggingface.co/Qwen/Qwen3-Embedding-8B", "Snowflake/snowflake-arctic-embed-l-v2.0 *": "https://huggingface.co/Snowflake/snowflake-arctic-embed-l-v2.0", "bflhc/MoD-Embedding": "https://huggingface.co/bflhc/MoD-Embedding", "codefuse-ai/F2LLM-v2-4B": "https://huggingface.co/codefuse-ai/F2LLM-v2-4B", "geevec-ai/geevec-embeddings-1.0-lite *": "https://huggingface.co/geevec-ai/geevec-embeddings-1.0-lite", "google/embeddinggemma-300m *": "https://huggingface.co/google/embeddinggemma-300m", "ibm-granite/granite-embedding-311m-multilingual-r2 *": "https://huggingface.co/ibm-granite/granite-embedding-311m-multilingual-r2", "ibm-granite/granite-embedding-97m-multilingual-r2 *": "https://huggingface.co/ibm-granite/granite-embedding-97m-multilingual-r2", "intfloat/e5-large-v2 *": "https://huggingface.co/intfloat/e5-large-v2", "intfloat/multilingual-e5-large-instruct *": "https://huggingface.co/intfloat/multilingual-e5-large-instruct", "jinaai/jina-embeddings-v3 *": "https://huggingface.co/jinaai/jina-embeddings-v3", "jinaai/jina-embeddings-v4-vllm-retrieval *": "https://huggingface.co/jinaai/jina-embeddings-v4-vllm-retrieval", "jinaai/jina-embeddings-v5-text-nano *": "https://huggingface.co/jinaai/jina-embeddings-v5-text-nano", "jinaai/jina-embeddings-v5-text-small *": "https://huggingface.co/jinaai/jina-embeddings-v5-text-small", "microsoft/harrier-oss-v1-0.6b *": "https://huggingface.co/microsoft/harrier-oss-v1-0.6b", "mixedbread-ai/mxbai-embed-large-v1 *": "https://huggingface.co/mixedbread-ai/mxbai-embed-large-v1", "nomic-ai/nomic-embed-text-v1 *": "https://huggingface.co/nomic-ai/nomic-embed-text-v1", "nomic-ai/nomic-embed-text-v1.5 *": "https://huggingface.co/nomic-ai/nomic-embed-text-v1.5", "nvidia/llama-nemotron-embed-1b-v2 *": "https://huggingface.co/nvidia/llama-nemotron-embed-1b-v2", "sentence-transformers/LaBSE *": "https://huggingface.co/sentence-transformers/LaBSE", "sentence-transformers/all-MiniLM-L12-v2 *": "https://huggingface.co/sentence-transformers/all-MiniLM-L12-v2", "sentence-transformers/all-MiniLM-L6-v2 *": "https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2"};
const BEST_MRR={"Education": 0.8693094179874005, "General": 0.8692766304603462, "Legal": 0.9765984848484849, "Religious": 0.7898725948249361, "Scientific": 0.9874833997343957},BEST_REC={"Education": 0.975609756097561, "General": 0.942, "Legal": 0.998, "Religious": 0.8585657370517928, "Scientific": 1.0};
const AVG_MRRS={"BAAI/bge-m3": 0.8649233061661474, "Octen/Octen-Embedding-0.6B": 0.771481425095852, "Octen/Octen-Embedding-4B": 0.8574035553312814, "Octen/Octen-Embedding-8B": 0.8714097053762989, "PartAI/Tooka-SBERT *": 0.7264225937947293, "PartAI/Tooka-SBERT-V2-Large *": 0.7970623727653342, "PartAI/Tooka-SBERT-V2-Small *": 0.7656518817373172, "Qwen/Qwen3-Embedding-0.6B": 0.764671032649267, "Qwen/Qwen3-Embedding-4B": 0.8576681857120139, "Qwen/Qwen3-Embedding-8B": 0.8756469107465168, "Snowflake/snowflake-arctic-embed-l-v2.0 *": 0.8760327164053493, "bflhc/MoD-Embedding": 0.8546825812258998, "codefuse-ai/F2LLM-v2-4B": 0.8770140429089273, "geevec-ai/geevec-embeddings-1.0-lite *": 0.7048136236224425, "google/embeddinggemma-300m *": 0.35464801788376404, "ibm-granite/granite-embedding-311m-multilingual-r2 *": 0.8091805455415167, "ibm-granite/granite-embedding-97m-multilingual-r2 *": 0.7411722077623596, "intfloat/e5-large-v2 *": 0.1047565687778412, "intfloat/multilingual-e5-large-instruct *": 0.8242752205416297, "jinaai/jina-embeddings-v3 *": 0.8334441679528529, "jinaai/jina-embeddings-v4-vllm-retrieval *": 0.7853803707725965, "jinaai/jina-embeddings-v5-text-nano *": 0.7980828155898919, "jinaai/jina-embeddings-v5-text-small *": 0.8156116233671866, "microsoft/harrier-oss-v1-0.6b *": 0.8137548835403928, "mixedbread-ai/mxbai-embed-large-v1 *": 0.09853664124277031, "nomic-ai/nomic-embed-text-v1 *": 0.12065708443917081, "nomic-ai/nomic-embed-text-v1.5 *": 0.12570026454329541, "nvidia/llama-nemotron-embed-1b-v2 *": 0.8540417705494823, "sentence-transformers/LaBSE *": 0.5294198225226449, "sentence-transformers/all-MiniLM-L12-v2 *": 0.05309153997217549, "sentence-transformers/all-MiniLM-L6-v2 *": 0.025555343077616078},AVG_RECS={"BAAI/bge-m3": 0.9229304829462638, "Octen/Octen-Embedding-0.6B": 0.8577630162277717, "Octen/Octen-Embedding-4B": 0.9247576717520161, "Octen/Octen-Embedding-8B": 0.9372446603828589, "PartAI/Tooka-SBERT *": 0.8235400252647945, "PartAI/Tooka-SBERT-V2-Large *": 0.8852817413273734, "PartAI/Tooka-SBERT-V2-Small *": 0.8449433096880771, "Qwen/Qwen3-Embedding-0.6B": 0.8491125449421825, "Qwen/Qwen3-Embedding-4B": 0.9201364687591098, "Qwen/Qwen3-Embedding-8B": 0.9376462540083569, "Snowflake/snowflake-arctic-embed-l-v2.0 *": 0.944857409386843, "bflhc/MoD-Embedding": 0.9278993295112233, "codefuse-ai/F2LLM-v2-4B": 0.9437878145952773, "geevec-ai/geevec-embeddings-1.0-lite *": 0.7810938878631813, "google/embeddinggemma-300m *": 0.4498746477504616, "ibm-granite/granite-embedding-311m-multilingual-r2 *": 0.8891268487027499, "ibm-granite/granite-embedding-97m-multilingual-r2 *": 0.8353634437858322, "intfloat/e5-large-v2 *": 0.13304005441648042, "intfloat/multilingual-e5-large-instruct *": 0.8970525702069768, "jinaai/jina-embeddings-v3 *": 0.9162455738023517, "jinaai/jina-embeddings-v4-vllm-retrieval *": 0.8638742979302304, "jinaai/jina-embeddings-v5-text-nano *": 0.8802955980954232, "jinaai/jina-embeddings-v5-text-small *": 0.8905805072393352, "microsoft/harrier-oss-v1-0.6b *": 0.886315304635118, "mixedbread-ai/mxbai-embed-large-v1 *": 0.12630216694198815, "nomic-ai/nomic-embed-text-v1 *": 0.15546512486638814, "nomic-ai/nomic-embed-text-v1.5 *": 0.1606386551355553, "nvidia/llama-nemotron-embed-1b-v2 *": 0.9155959187639684, "sentence-transformers/LaBSE *": 0.6403393644932466, "sentence-transformers/all-MiniLM-L12-v2 *": 0.0675004178408318, "sentence-transformers/all-MiniLM-L6-v2 *": 0.03276494023904382};
const RECALL_LABEL="Recall@5";
const PALETTE=["#38bdf8","#818cf8","#34d399","#fb923c","#f472b6","#a78bfa","#fbbf24","#60a5fa","#4ade80","#f97316","#e879f9","#22d3ee","#fb7185","#86efac","#fde68a","#c4b5fd","#67e8f9","#fca5a5","#6ee7b7","#fcd34d"];
const bestAvgMrr=Math.max(...MODELS.map(m=>AVG_MRRS[m]));
const bestAvgRecall=Math.max(...MODELS.map(m=>AVG_RECS[m]));
/* INFO CACHE */
const _ic={};
(function(){
const st=document.getElementById('leaderboard-table');
if(!st)return;
st.querySelectorAll('tbody tr').forEach(row=>{
const tds=row.querySelectorAll('td');
if(tds.length<2)return;
const mn=tds[1].textContent.replace('*','').trim();
_ic[mn]=Array.from(row.querySelectorAll('.model-info-col')).map(td=>td.textContent.trim());
});
})();
/* THEME */
let currentTheme=localStorage.getItem('hf-theme')||'dark';
function applyTheme(t){
const dark=t==='auto'?!window.matchMedia('(prefers-color-scheme: light)').matches:t==='dark';
document.documentElement.setAttribute('data-theme',dark?'dark':'light');
['dark','light','auto'].forEach(x=>document.getElementById('theme-btn-'+x).classList.toggle('active',x===t));
setTimeout(rebuildCharts,60);setTimeout(buildHeatmap,60);
}
function setTheme(t){currentTheme=t;localStorage.setItem('hf-theme',t);applyTheme(t);}
window.matchMedia('(prefers-color-scheme: light)').addEventListener('change',()=>{if(currentTheme==='auto')applyTheme('auto');});
applyTheme(currentTheme);
/* LANGUAGE */
let currentLang=localStorage.getItem('hf-lang')||'en';
function applyLang(l){
document.documentElement.setAttribute('data-lang',l);
['en','fa'].forEach(x=>document.getElementById('lang-btn-'+x).classList.toggle('active',x===l));
// sidebar lang-fa/lang-en visibility handled by CSS [data-lang] rules
// but inline display:none needs manual sync for elements with style attr
document.querySelectorAll('.lang-fa,.lang-en').forEach(el=>{
const isfa=el.classList.contains('lang-fa');
el.style.display=(isfa&&l==='fa')||((!isfa)&&l==='en')?'':'none';
});
document.documentElement.setAttribute('dir',l==='fa'?'rtl':'ltr');
document.documentElement.setAttribute('lang',l);
}
function setLang(l){currentLang=l;localStorage.setItem('hf-lang',l);applyLang(l);}
applyLang(currentLang);
/* SIDEBAR */
let sidebarOpen=false;
function toggleSidebar(){
sidebarOpen=!sidebarOpen;
document.getElementById('filter-sidebar').classList.toggle('open',sidebarOpen);
document.getElementById('sidebar-overlay').classList.toggle('open',sidebarOpen);
document.getElementById('sidebar-toggle-btn').classList.toggle('open',sidebarOpen);
}
/* HELPERS */
function scoreClass(v){if(v==null)return 'badge-na';if(v>=0.70)return 'badge-hi';if(v>=0.50)return 'badge-mid';return 'badge-lo';}
function badge(val,isBest,isAvg=false){
if(val==null)return`<span class="badge badge-na">—</span>`;
const cls=isAvg?'badge-avg':(isBest?'':scoreClass(val));
return`<span class="badge ${cls}${isBest?' badge-best':''}">${val.toFixed(4)}</span>`;
}
function rankIcon(r){return['','🥇','🥈','🥉'][r]||String(r);}
function cleanName(n){return n.split('*')[0].trim();}
function shortName(n){return cleanName(n).split('/').pop();}
/* FILTERS */
let searchQuery='';
let fCtxMin='',fCtxMax='',fDimMin='',fDimMax='',fMrrMin='',fMrrMax='',fRecMin='',fRecMax='';
function getInfo(m,i){const cn=cleanName(m);return parseFloat((_ic[cn]||_ic[m]||[])[i])||null;}
function passesFilters(m){
if(searchQuery&&!m.toLowerCase().includes(searchQuery.toLowerCase()))return false;
const am=AVG_MRRS[m],ar=AVG_RECS[m];
if(fMrrMin!==''&&am<parseFloat(fMrrMin))return false;
if(fMrrMax!==''&&am>parseFloat(fMrrMax))return false;
if(fRecMin!==''&&ar<parseFloat(fRecMin))return false;
if(fRecMax!==''&&ar>parseFloat(fRecMax))return false;
const ctx=getInfo(m,0);if(ctx!=null){if(fCtxMin!==''&&ctx<parseFloat(fCtxMin))return false;if(fCtxMax!==''&&ctx>parseFloat(fCtxMax))return false;}
const dim=getInfo(m,1);if(dim!=null){if(fDimMin!==''&&dim<parseFloat(fDimMin))return false;if(fDimMax!==''&&dim>parseFloat(fDimMax))return false;}
return true;
}
function applyFilters(){
searchQuery=document.getElementById('model-search').value;
fCtxMin=document.getElementById('f-ctx-min').value;fCtxMax=document.getElementById('f-ctx-max').value;
fDimMin=document.getElementById('f-dim-min').value;fDimMax=document.getElementById('f-dim-max').value;
fMrrMin=document.getElementById('f-mrr-min').value;fMrrMax=document.getElementById('f-mrr-max').value;
fRecMin=document.getElementById('f-rec-min').value;fRecMax=document.getElementById('f-rec-max').value;
renderTable();renderChips();
}
function resetFilters(){
searchQuery='';fCtxMin=fCtxMax=fDimMin=fDimMax=fMrrMin=fMrrMax=fRecMin=fRecMax='';
document.getElementById('model-search').value='';
['f-ctx-min','f-ctx-max','f-dim-min','f-dim-max','f-mrr-min','f-mrr-max','f-rec-min','f-rec-max'].forEach(id=>document.getElementById(id).value='');
renderTable();renderChips();
}
function renderChips(){
const bar=document.getElementById('active-filters-bar'),chips=[];
if(searchQuery)chips.push(`<span class="active-filter-chip">"${searchQuery}"<button onclick="document.getElementById('model-search').value='';applyFilters()">×</button></span>`);
if(fMrrMin||fMrrMax)chips.push(`<span class="active-filter-chip">MRR: ${fMrrMin||'0'}–${fMrrMax||'1'}<button onclick="document.getElementById('f-mrr-min').value='';document.getElementById('f-mrr-max').value='';applyFilters()">×</button></span>`);
bar.innerHTML=chips.join('');
}
/* LEADERBOARD */
let sortState={by:'avg_mrr',dir:'desc',ds:null};
let infoVisible=true;
function renderTable(){
const filtered=MODELS.filter(passesFilters);
const sorted=[...filtered].sort((a,b)=>{
let va,vb;const s=sortState;
if(s.by==='name')return s.dir==='asc'?a.localeCompare(b):b.localeCompare(a);
if(s.by==='ds_avg'){va=(MRR_DATA[a][s.ds]??0)+(REC_DATA[a][s.ds]??0);vb=(MRR_DATA[b][s.ds]??0)+(REC_DATA[b][s.ds]??0);}
else if(s.by==='ds_mrr'){va=MRR_DATA[a][s.ds]??0;vb=MRR_DATA[b][s.ds]??0;}
else if(s.by==='ds_recall'){va=REC_DATA[a][s.ds]??0;vb=REC_DATA[b][s.ds]??0;}
else if(s.by==='avg_recall'){va=AVG_RECS[a];vb=AVG_RECS[b];}
else{va=AVG_MRRS[a];vb=AVG_MRRS[b];}
return s.dir==='asc'?va-vb:vb-va;
});
const id=infoVisible?'':'display:none';
document.getElementById('lb-body').innerHTML=sorted.map((m,i)=>{
const cn=cleanName(m);
const info=_ic[cn]||_ic[m]||[];
const ic=[0,1,2,3,4].map(j=>`<td class="info-col" style="${id}">${info[j]||'—'}</td>`).join('');
const dc=DATASETS.map(d=>`<td>${badge(MRR_DATA[m][d],MRR_DATA[m][d]!=null&&MRR_DATA[m][d]===BEST_MRR[d])}</td><td>${badge(REC_DATA[m][d],REC_DATA[m][d]!=null&&REC_DATA[m][d]===BEST_REC[d])}</td>`).join('');
return`<tr><td class="rank-cell">${rankIcon(i+1)}</td><td class="col-model"><a class="model-link" href="${HF_LINKS[m]}" target="_blank">${cn}</a></td>${ic}${dc}<td>${badge(AVG_MRRS[m],AVG_MRRS[m]===bestAvgMrr,true)}</td><td>${badge(AVG_RECS[m],AVG_RECS[m]===bestAvgRecall,true)}</td></tr>`;
}).join('');
const tot=MODELS.length,sh=sorted.length;
document.getElementById('results-count').textContent=sh===tot?`${tot} models`:`${sh} / ${tot} models`;
const dir=sortState.dir==='desc'?' ↓':' ↑';
const lbl={avg_mrr:'Average MRR',avg_recall:'Average '+RECALL_LABEL,ds_avg:'Dataset avg',ds_mrr:'Dataset MRR',ds_recall:'Dataset '+RECALL_LABEL,name:'Model'};
document.getElementById('sort-label').innerHTML=`Sorted by <strong>${(lbl[sortState.by]||sortState.by)+(sortState.ds?` (${sortState.ds})`:'')+dir}</strong>`;
}
function setSort(by,ds=null){sortState=sortState.by===by&&sortState.ds===ds?{...sortState,dir:sortState.dir==='desc'?'asc':'desc'}:{by,ds,dir:'desc'};renderTable();}
function sortByRank(){setSort('avg_mrr');}
function sortByModel(){if(sortState.by==='name'){sortState.dir=sortState.dir==='desc'?'asc':'desc';renderTable();}else{setSort('name');sortState.dir='asc';renderTable();}}
function sortByDs(i){setSort('ds_avg',DATASETS[i]);}
function sortByAvg(){setSort('avg_mrr');}
function sortByMetric(m,di){if(di===null)setSort(m==='mrr'?'avg_mrr':'avg_recall');else setSort(m==='mrr'?'ds_mrr':'ds_recall',DATASETS[di]);}
function sortInfoNum(){}
function toggleInfo(){
infoVisible=!infoVisible;
const btn=document.getElementById('btn-info');
btn.querySelector('.lang-en').textContent=infoVisible?'Hide model info':'Show model info';
btn.querySelector('.lang-fa').textContent=infoVisible?'پنهان کردن اطلاعات مدل':'نمایش اطلاعات مدل';
btn.classList.toggle('active',infoVisible);
document.querySelectorAll('.info-col-th').forEach(th=>th.style.display=infoVisible?'':'none');
renderTable();
}
/* HEATMAP */
let hmMetric='mrr';
function heatColor(t){
const s=[[0,[192,57,43]],[0.25,[230,126,34]],[0.5,[241,196,15]],[0.75,[39,174,96]],[1,[20,143,71]]];
let lo=s[0][1],hi=s[0][1],f=0;
for(let i=0;i<s.length-1;i++){if(t>=s[i][0]&&t<=s[i+1][0]){f=(t-s[i][0])/(s[i+1][0]-s[i][0]);lo=s[i][1];hi=s[i+1][1];break;}}
return[Math.round(lo[0]+(hi[0]-lo[0])*f),Math.round(lo[1]+(hi[1]-lo[1])*f),Math.round(lo[2]+(hi[2]-lo[2])*f)];
}
function hmCell(v,gMin,gMax,m,d,bold=false){
if(v==null)return`<td class="hm-cell"><span class="hm-na">—</span></td>`;
const t=gMax===gMin?0.5:(v-gMin)/(gMax-gMin);
const[r,g,b]=heatColor(t);
const lum=(0.299*r+0.587*g+0.114*b)/255;
const fg=lum>0.52?'rgba(0,0,0,.88)':'rgba(255,255,255,.95)';
return`<td class="hm-cell" style="background:rgb(${r},${g},${b})" title="${d} · ${shortName(m)} ${hmMetric.toUpperCase()}: ${v.toFixed(4)}"><span class="hm-val" style="color:${fg};${bold?'font-weight:700':''}">${v.toFixed(2)}</span></td>`;
}
function buildHeatmap(){
const data=hmMetric==='mrr'?MRR_DATA:REC_DATA;
const sm=[...MODELS].sort((a,b)=>(AVG_MRRS[b]||0)-(AVG_MRRS[a]||0));
const av=sm.flatMap(m=>DATASETS.map(d=>data[m][d])).filter(v=>v!=null);
const gMin=Math.min(...av),gMax=Math.max(...av);
let h='<thead><tr><th class="hm-th-corner">Dataset</th>';
sm.forEach(m=>h+=`<th class="hm-th-model" title="${cleanName(m)}"><div class="hm-model-name"><a href="${HF_LINKS[m]}" target="_blank">${shortName(m)}</a></div></th>`);
h+='<th class="hm-th-avg-col">Avg</th></tr></thead><tbody>';
DATASETS.forEach(d=>{
h+=`<tr><td class="hm-td-ds">${d}</td>`;
sm.forEach(m=>h+=hmCell(data[m][d],gMin,gMax,m,d));
const dv=sm.map(m=>data[m][d]).filter(v=>v!=null);
h+=hmCell(dv.length?dv.reduce((a,b)=>a+b,0)/dv.length:null,gMin,gMax,'avg',d,true);
h+='</tr>';
});
h+='<tr><td class="hm-td-ds hm-avg-row">Avg</td>';
sm.forEach(m=>h+=hmCell(hmMetric==='mrr'?AVG_MRRS[m]:AVG_RECS[m],gMin,gMax,m,'avg',true));
h+='<td class="hm-cell"></td></tr></tbody>';
document.getElementById('hm-table').innerHTML=h;
}
function setHmMetric(m){hmMetric=m;document.getElementById('hm-btn-mrr').classList.toggle('active',m==='mrr');document.getElementById('hm-btn-recall').classList.toggle('active',m==='recall');buildHeatmap();}
/* PLOTLY */
function getT(){
const dark=document.documentElement.getAttribute('data-theme')!=='light';
return{paper_bgcolor:'rgba(0,0,0,0)',plot_bgcolor:'rgba(0,0,0,0)',
font:{color:dark?'#94a3b8':'#475569',family:'Space Grotesk,system-ui'},
legend:{bgcolor:'rgba(0,0,0,0)',font:{color:dark?'#e2e8f0':'#0f172a'}},
xaxis:{gridcolor:dark?'rgba(255,255,255,.05)':'rgba(0,0,0,.06)',zerolinecolor:'transparent',tickfont:{color:dark?'#64748b':'#94a3b8'}},
yaxis:{gridcolor:dark?'rgba(255,255,255,.05)':'rgba(0,0,0,.06)',zerolinecolor:'transparent',tickfont:{color:dark?'#64748b':'#94a3b8'}}};
}
function buildBar(divId,dat,yLabel){
const T=getT();
Plotly.react(divId,MODELS.map((m,i)=>{return{name:shortName(m),type:'bar',x:DATASETS,y:DATASETS.map(d=>dat[m][d]??null),marker:{color:PALETTE[i%PALETTE.length],opacity:.82,line:{width:0}},hovertemplate:`<b>%{x}</b><br>${yLabel}: %{y:.4f}<extra>${shortName(m)}</extra>`};})
,{...T,barmode:'group',bargap:.18,bargroupgap:.06,margin:{t:8,b:76,l:46,r:10},yaxis:{...T.yaxis,range:[0.25,1],tickformat:'.2f'},xaxis:{...T.xaxis,tickangle:-15},legend:{...T.legend,orientation:'h',y:-.26,x:0}},{responsive:true,displayModeBar:false});
}
function buildRadar(divId,dat){
const T=getT();const dark=document.documentElement.getAttribute('data-theme')!=='light';
Plotly.react(divId,MODELS.map((m,i)=>{
const vals=[...DATASETS.map(d=>dat[m][d]||0)];vals.push(vals[0]);
const hex=PALETTE[i%PALETTE.length];const rgb=hex.slice(1).match(/.{2}/g).map(x=>parseInt(x,16));
return{type:'scatterpolar',name:shortName(m),r:vals,theta:[...DATASETS,DATASETS[0]],fill:'toself',fillcolor:`rgba(${rgb[0]},${rgb[1]},${rgb[2]},.1)`,line:{color:hex,width:2},marker:{color:hex,size:4},hovertemplate:'<b>%{theta}</b><br>Score: %{r:.4f}<extra></extra>'};
}),{...T,polar:{bgcolor:dark?'rgba(26,34,53,.4)':'rgba(241,245,249,.6)',radialaxis:{range:[0,1],gridcolor:dark?'rgba(255,255,255,.1)':'rgba(0,0,0,.08)',tickfont:{color:dark?'#64748b':'#94a3b8',size:10},tickformat:'.1f'},angularaxis:{gridcolor:dark?'rgba(255,255,255,.1)':'rgba(0,0,0,.08)',tickfont:{color:dark?'#94a3b8':'#475569',size:11}}},margin:{t:8,b:8,l:32,r:32},legend:{...T.legend,orientation:'h',y:-.06}},{responsive:true,displayModeBar:false});
}
function rebuildCharts(){buildBar('chart-mrr-bar',MRR_DATA,'MRR');buildBar('chart-recall-bar',REC_DATA,RECALL_LABEL);buildRadar('chart-radar-mrr',MRR_DATA);buildRadar('chart-radar-recall',REC_DATA);buildHeatmap();}
/* INIT */
renderTable();buildHeatmap();
buildBar('chart-mrr-bar',MRR_DATA,'MRR');buildBar('chart-recall-bar',REC_DATA,RECALL_LABEL);
buildRadar('chart-radar-mrr',MRR_DATA);buildRadar('chart-radar-recall',REC_DATA);
</script>
</body>
</html>