Files

4028 lines
74 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="Single source of truth for the homelab">
<link rel="canonical" href="http://192.168.1.8:13080/services/llm-benchmark/">
<link rel="prev" href="../doc-ingestion/">
<link rel="next" href="../../security/data-leak-audit-comparison/">
<link rel="icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
<title>LLM benchmark - nuclide.systems docs</title>
<link rel="stylesheet" href="../../assets/stylesheets/main.484c7ddc.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="blue">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#llm-model-benchmark-service-catalogue" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="nuclide.systems docs" class="md-header__button md-logo" aria-label="nuclide.systems docs" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
nuclide.systems docs
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
LLM benchmark
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="blue" aria-hidden="true" type="radio" name="__palette" id="__palette_0">
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="black" data-md-color-accent="blue" aria-hidden="true" type="radio" name="__palette" id="__palette_1">
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="../.." class="md-tabs__link">
Home
</a>
</li>
<li class="md-tabs__item">
<a href="../../CHANGELOG/" class="md-tabs__link">
Changelog
</a>
</li>
<li class="md-tabs__item">
<a href="../../RESUME/" class="md-tabs__link">
Resume
</a>
</li>
<li class="md-tabs__item">
<a href="../../ct-inventory/" class="md-tabs__link">
CT inventory
</a>
</li>
<li class="md-tabs__item">
<a href="../../infra/proxmox-state/" class="md-tabs__link">
Infra
</a>
</li>
<li class="md-tabs__item md-tabs__item--active">
<a href="../homelab-architecture/" class="md-tabs__link">
Services
</a>
</li>
<li class="md-tabs__item">
<a href="../../security/data-leak-audit-comparison/" class="md-tabs__link">
Security & audits
</a>
</li>
<li class="md-tabs__item">
<a href="../../ideas/stack-ideas/" class="md-tabs__link">
Ideas
</a>
</li>
<li class="md-tabs__item">
<a href="../../history/traefik-migration/" class="md-tabs__link">
History
</a>
</li>
</ul>
</div>
</nav>
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="nuclide.systems docs" class="md-nav__button md-logo" aria-label="nuclide.systems docs" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
</a>
nuclide.systems docs
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../.." class="md-nav__link">
<span class="md-ellipsis">
Home
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../CHANGELOG/" class="md-nav__link">
<span class="md-ellipsis">
Changelog
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../RESUME/" class="md-nav__link">
<span class="md-ellipsis">
Resume
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../ct-inventory/" class="md-nav__link">
<span class="md-ellipsis">
CT inventory
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-ellipsis">
Infra
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
Infra
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../infra/proxmox-state/" class="md-nav__link">
<span class="md-ellipsis">
Proxmox state
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../infra/portmap/" class="md-nav__link">
<span class="md-ellipsis">
Port map
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../infra/storage/" class="md-nav__link">
<span class="md-ellipsis">
Storage
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../infra/volumes/" class="md-nav__link">
<span class="md-ellipsis">
Volumes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../infra/docker-networks/" class="md-nav__link">
<span class="md-ellipsis">
Docker networks
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../infra/connection-hosts/" class="md-nav__link">
<span class="md-ellipsis">
Connection hosts
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../infra/proxmox-memory-audit/" class="md-nav__link">
<span class="md-ellipsis">
Memory audit
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" checked>
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="">
<span class="md-ellipsis">
Services
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Services
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../homelab-architecture/" class="md-nav__link">
<span class="md-ellipsis">
Homelab architecture
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../dev-environment/" class="md-nav__link">
<span class="md-ellipsis">
Dev environment (Coder + Gitea)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../mcp-gateway/" class="md-nav__link">
<span class="md-ellipsis">
MCP gateway
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../mcp-servers/" class="md-nav__link">
<span class="md-ellipsis">
MCP servers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../pocket-id/" class="md-nav__link">
<span class="md-ellipsis">
Pocket-ID (OIDC)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../backrest/" class="md-nav__link">
<span class="md-ellipsis">
Backrest (backups)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../databases/" class="md-nav__link">
<span class="md-ellipsis">
Databases
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../secrets-manager/" class="md-nav__link">
<span class="md-ellipsis">
Secrets manager
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../comfyui/" class="md-nav__link">
<span class="md-ellipsis">
ComfyUI
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../zoraxy/" class="md-nav__link">
<span class="md-ellipsis">
Zoraxy
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../adguard-dns/" class="md-nav__link">
<span class="md-ellipsis">
AdGuard DNS
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cloud-gpu/" class="md-nav__link">
<span class="md-ellipsis">
Cloud GPU
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../arcane/" class="md-nav__link">
<span class="md-ellipsis">
Arcane
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../doc-ingestion/" class="md-nav__link">
<span class="md-ellipsis">
Doc ingestion pipeline
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
LLM benchmark
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
LLM benchmark
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#overview" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#performance-tiers" class="md-nav__link">
<span class="md-ellipsis">
Performance Tiers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#model-catalogue" class="md-nav__link">
<span class="md-ellipsis">
Model Catalogue
</span>
</a>
<nav class="md-nav" aria-label="Model Catalogue">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#chat-reasoning-models" class="md-nav__link">
<span class="md-ellipsis">
Chat &amp; Reasoning Models
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#embedding-models" class="md-nav__link">
<span class="md-ellipsis">
Embedding Models
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#audio-models-tts-asr" class="md-nav__link">
<span class="md-ellipsis">
Audio Models (TTS / ASR)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#image-models" class="md-nav__link">
<span class="md-ellipsis">
Image Models
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#service-recommendations" class="md-nav__link">
<span class="md-ellipsis">
Service Recommendations
</span>
</a>
<nav class="md-nav" aria-label="Service Recommendations">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#nextcloud-assistant" class="md-nav__link">
<span class="md-ellipsis">
Nextcloud Assistant
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#karakeep-bookmarks-reading" class="md-nav__link">
<span class="md-ellipsis">
Karakeep (Bookmarks / Reading)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#home-assistant" class="md-nav__link">
<span class="md-ellipsis">
Home Assistant
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#lobechat-default" class="md-nav__link">
<span class="md-ellipsis">
LobeChat Default
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#code-assistant-coder-ide" class="md-nav__link">
<span class="md-ellipsis">
Code Assistant (Coder / IDE)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#document-ocr-ingestion" class="md-nav__link">
<span class="md-ellipsis">
Document OCR / Ingestion
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#embeddings-karakeep-lobechat-kb" class="md-nav__link">
<span class="md-ellipsis">
Embeddings (Karakeep / LobeChat KB)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#image-generation" class="md-nav__link">
<span class="md-ellipsis">
Image Generation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tts-voice-interfaces" class="md-nav__link">
<span class="md-ellipsis">
TTS (Voice Interfaces)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#transcription-meetings-voice" class="md-nav__link">
<span class="md-ellipsis">
Transcription (Meetings / Voice)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#reasoning-analysis" class="md-nav__link">
<span class="md-ellipsis">
Reasoning / Analysis
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#batch-offline-processing" class="md-nav__link">
<span class="md-ellipsis">
Batch / Offline Processing
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#aliases-duplicates" class="md-nav__link">
<span class="md-ellipsis">
Aliases &amp; Duplicates
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#experimental-not-yet-validated" class="md-nav__link">
<span class="md-ellipsis">
Experimental / Not Yet Validated
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#raw-benchmark-data" class="md-nav__link">
<span class="md-ellipsis">
Raw Benchmark Data
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Security & audits
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Security & audits
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../security/data-leak-audit-comparison/" class="md-nav__link">
<span class="md-ellipsis">
Comparison
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../security/data-leak-audit-2026-05-20-tr004-cloud-sandbox/" class="md-nav__link">
<span class="md-ellipsis">
2026-05-20 · cloud-sandbox breach
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../security/data-leak-audit-2026-05-21-tr004-artifacts/" class="md-nav__link">
<span class="md-ellipsis">
2026-05-21 · artifacts (clean)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../security/audit-claude-code-meta/" class="md-nav__link">
<span class="md-ellipsis">
Self-audit (Claude Code)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../security/transcripts/audit-chat-2026-05-21/" class="md-nav__link">
<span class="md-ellipsis">
Transcript (audit session)
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_8" >
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
<span class="md-ellipsis">
Ideas
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
Ideas
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../ideas/stack-ideas/" class="md-nav__link">
<span class="md-ellipsis">
Stack ideas
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_9" >
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
<span class="md-ellipsis">
History
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon"></span>
History
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../history/traefik-migration/" class="md-nav__link">
<span class="md-ellipsis">
Traefik (abandoned 2026-05-16)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../history/traefik-migration-docker-labels/" class="md-nav__link">
<span class="md-ellipsis">
Traefik labels (abandoned)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../history/mcp-gateway-requirements/" class="md-nav__link">
<span class="md-ellipsis">
MCP gateway requirements (superseded)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../history/scrubbing-list-2026-05-17/" class="md-nav__link">
<span class="md-ellipsis">
Scrubbing list (2026-05-17)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../history/case-study/" class="md-nav__link">
<span class="md-ellipsis">
Case study
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#overview" class="md-nav__link">
<span class="md-ellipsis">
Overview
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#performance-tiers" class="md-nav__link">
<span class="md-ellipsis">
Performance Tiers
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#model-catalogue" class="md-nav__link">
<span class="md-ellipsis">
Model Catalogue
</span>
</a>
<nav class="md-nav" aria-label="Model Catalogue">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#chat-reasoning-models" class="md-nav__link">
<span class="md-ellipsis">
Chat &amp; Reasoning Models
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#embedding-models" class="md-nav__link">
<span class="md-ellipsis">
Embedding Models
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#audio-models-tts-asr" class="md-nav__link">
<span class="md-ellipsis">
Audio Models (TTS / ASR)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#image-models" class="md-nav__link">
<span class="md-ellipsis">
Image Models
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#service-recommendations" class="md-nav__link">
<span class="md-ellipsis">
Service Recommendations
</span>
</a>
<nav class="md-nav" aria-label="Service Recommendations">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#nextcloud-assistant" class="md-nav__link">
<span class="md-ellipsis">
Nextcloud Assistant
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#karakeep-bookmarks-reading" class="md-nav__link">
<span class="md-ellipsis">
Karakeep (Bookmarks / Reading)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#home-assistant" class="md-nav__link">
<span class="md-ellipsis">
Home Assistant
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#lobechat-default" class="md-nav__link">
<span class="md-ellipsis">
LobeChat Default
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#code-assistant-coder-ide" class="md-nav__link">
<span class="md-ellipsis">
Code Assistant (Coder / IDE)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#document-ocr-ingestion" class="md-nav__link">
<span class="md-ellipsis">
Document OCR / Ingestion
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#embeddings-karakeep-lobechat-kb" class="md-nav__link">
<span class="md-ellipsis">
Embeddings (Karakeep / LobeChat KB)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#image-generation" class="md-nav__link">
<span class="md-ellipsis">
Image Generation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#tts-voice-interfaces" class="md-nav__link">
<span class="md-ellipsis">
TTS (Voice Interfaces)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#transcription-meetings-voice" class="md-nav__link">
<span class="md-ellipsis">
Transcription (Meetings / Voice)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#reasoning-analysis" class="md-nav__link">
<span class="md-ellipsis">
Reasoning / Analysis
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#batch-offline-processing" class="md-nav__link">
<span class="md-ellipsis">
Batch / Offline Processing
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#aliases-duplicates" class="md-nav__link">
<span class="md-ellipsis">
Aliases &amp; Duplicates
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#experimental-not-yet-validated" class="md-nav__link">
<span class="md-ellipsis">
Experimental / Not Yet Validated
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#raw-benchmark-data" class="md-nav__link">
<span class="md-ellipsis">
Raw Benchmark Data
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1 id="llm-model-benchmark-service-catalogue">LLM Model Benchmark &amp; Service Catalogue<a class="headerlink" href="#llm-model-benchmark-service-catalogue" title="Permanent link">&para;</a></h1>
<p><em>Last updated: 2026-05-23 | Models: 58 | Source: LiteLLM /model/info + live benchmarks</em></p>
<h2 id="overview">Overview<a class="headerlink" href="#overview" title="Permanent link">&para;</a></h2>
<p>This catalogue covers all 60 models registered in the homelab LiteLLM proxy (<code>http://192.168.1.40:14000</code>).
Live latency figures are TTFT proxies measured from this host via a single <code>max_tokens=5</code> completion request.
Speed tiers are based on live measurements and published inference benchmarks.</p>
<p><strong>Providers at a glance:</strong></p>
<table>
<thead>
<tr>
<th>Provider</th>
<th>Models</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td>Claude (Anthropic via openai-compat)</td>
<td>6</td>
<td>claude-max subscription; temperature=0.7; aliases included</td>
</tr>
<tr>
<td>Mistral API</td>
<td>10</td>
<td>voxtral voice family + codestral + OCR</td>
</tr>
<tr>
<td>Gemini API</td>
<td>12</td>
<td>Flash/Pro/embedding families</td>
</tr>
<tr>
<td>SAIA (self-hosted GPU cluster)</td>
<td>22</td>
<td>OpenAI-compatible; local GPU inference</td>
</tr>
<tr>
<td>Groq</td>
<td>2</td>
<td>Ultra-fast cloud inference</td>
</tr>
<tr>
<td>Cerebras</td>
<td>2</td>
<td>Ultra-fast wafer-scale inference</td>
</tr>
<tr>
<td>Cohere</td>
<td>2</td>
<td>Embeddings only</td>
</tr>
</tbody>
</table>
<hr />
<h2 id="performance-tiers">Performance Tiers<a class="headerlink" href="#performance-tiers" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th>Tier</th>
<th>Symbol</th>
<th>Typical TTFT</th>
<th>Profile</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Ultra-fast</strong></td>
<td>🚀</td>
<td>&lt; 200 ms</td>
<td>Groq, Cerebras, cached SAIA small models</td>
</tr>
<tr>
<td><strong>Fast</strong></td>
<td></td>
<td>200600 ms</td>
<td>Mistral API, Gemini Flash, SAIA mid-size</td>
</tr>
<tr>
<td><strong>Standard</strong></td>
<td>🔵</td>
<td>6002 000 ms</td>
<td>Claude, Gemini Pro, large API models</td>
</tr>
<tr>
<td><strong>Self-hosted</strong></td>
<td>🏠</td>
<td>varies</td>
<td>SAIA cluster; latency depends on GPU load &amp; model size</td>
</tr>
</tbody>
</table>
<blockquote>
<p>Note: SAIA models with very low latency (&lt; 50 ms) on the trivial benchmark likely hit a cached/KV-prefilled response; real-world TTFT for longer prompts will be higher. Treat SAIA figures as best-case.</p>
</blockquote>
<hr />
<h2 id="model-catalogue">Model Catalogue<a class="headerlink" href="#model-catalogue" title="Permanent link">&para;</a></h2>
<h3 id="chat-reasoning-models">Chat &amp; Reasoning Models<a class="headerlink" href="#chat-reasoning-models" title="Permanent link">&para;</a></h3>
<table>
<thead>
<tr>
<th>Model ID</th>
<th>Provider</th>
<th>Backend</th>
<th>Context</th>
<th>Vision</th>
<th>Tools</th>
<th>Cost In $/1M</th>
<th>Cost Out $/1M</th>
<th>Live Latency</th>
<th>Speed Tier</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td>claude-sonnet-4-6</td>
<td>Anthropic</td>
<td>openai-compat</td>
<td>200K</td>
<td></td>
<td></td>
<td>$3.00</td>
<td>$15.00</td>
<td>2 083 ms</td>
<td>🔵</td>
<td>Flagship; temp=0.7</td>
</tr>
<tr>
<td>claude-opus-4-7</td>
<td>Anthropic</td>
<td>openai-compat</td>
<td>200K</td>
<td></td>
<td></td>
<td>$15.00</td>
<td>$75.00</td>
<td>3 218 ms</td>
<td>🔵</td>
<td>Highest capability; temp=0.7</td>
</tr>
<tr>
<td>claude-haiku-4-5</td>
<td>Anthropic</td>
<td>openai-compat</td>
<td>200K</td>
<td></td>
<td></td>
<td>$0.80</td>
<td>$4.00</td>
<td>1 453 ms</td>
<td>🔵</td>
<td>Fast + cheap; temp=0.7</td>
</tr>
<tr>
<td>voxtral-small-latest</td>
<td>Mistral</td>
<td>Mistral API</td>
<td>256K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>160 ms</td>
<td>🚀</td>
<td>Voice+text multimodal</td>
</tr>
<tr>
<td>mistral-small-latest</td>
<td>Mistral</td>
<td>Mistral API</td>
<td>131K</td>
<td></td>
<td></td>
<td>$0.06</td>
<td>$0.18</td>
<td>222 ms</td>
<td>🚀</td>
<td>Cheapest Mistral chat</td>
</tr>
<tr>
<td>voxtral-mini-latest</td>
<td>Mistral</td>
<td>Mistral API</td>
<td>100K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>ERROR</td>
<td></td>
<td>Proxy config error (saia-image-proxy unreachable)</td>
</tr>
<tr>
<td>codestral-latest</td>
<td>Mistral</td>
<td>Mistral API</td>
<td>16K</td>
<td></td>
<td></td>
<td>$1.00</td>
<td>$3.00</td>
<td>275 ms</td>
<td></td>
<td>Coding-specialised Mistral</td>
</tr>
<tr>
<td>mistral-large-latest</td>
<td>Mistral</td>
<td>Mistral API</td>
<td>262K</td>
<td></td>
<td></td>
<td>$0.50</td>
<td>$1.50</td>
<td>309 ms</td>
<td></td>
<td>Flagship Mistral chat</td>
</tr>
<tr>
<td>pixtral-large-latest</td>
<td>Mistral</td>
<td>Mistral API</td>
<td>128K</td>
<td></td>
<td></td>
<td>$2.00</td>
<td>$6.00</td>
<td>27 ms</td>
<td>🚀</td>
<td>Vision flagship; very low latency (likely cached)</td>
</tr>
<tr>
<td>voxtral-mini-realtime-latest</td>
<td>Mistral</td>
<td>Mistral API</td>
<td>4K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>ERROR</td>
<td></td>
<td>Invalid model per API; realtime/ws endpoint only</td>
</tr>
<tr>
<td>gemini-2.5-flash</td>
<td>Google</td>
<td>Gemini API</td>
<td>65K</td>
<td></td>
<td></td>
<td>$0.30</td>
<td>$2.50</td>
<td>501 ms</td>
<td></td>
<td>Best-value Gemini; fast + smart</td>
</tr>
<tr>
<td>gemini-2.5-flash-lite</td>
<td>Google</td>
<td>Gemini API</td>
<td>65K</td>
<td></td>
<td></td>
<td>$0.10</td>
<td>$0.40</td>
<td>518 ms</td>
<td></td>
<td>Lightest + cheapest Gemini</td>
</tr>
<tr>
<td>gemini-2.5-pro</td>
<td>Google</td>
<td>Gemini API</td>
<td>65K</td>
<td></td>
<td></td>
<td>$1.25</td>
<td>$10.00</td>
<td>888 ms</td>
<td>🔵</td>
<td>Top Gemini reasoning</td>
</tr>
<tr>
<td>gemini-3.1-pro-preview</td>
<td>Google</td>
<td>Gemini API</td>
<td>65K</td>
<td></td>
<td></td>
<td>$2.00</td>
<td>$12.00</td>
<td>1 215 ms</td>
<td>🔵</td>
<td>Next-gen Gemini Pro preview</td>
</tr>
<tr>
<td>gemini-3-pro-preview</td>
<td>Google</td>
<td>Gemini API</td>
<td>65K</td>
<td></td>
<td></td>
<td>$2.00</td>
<td>$12.00</td>
<td>1 258 ms</td>
<td>🔵</td>
<td>Gemini 3 Pro preview</td>
</tr>
<tr>
<td>gemini-3.1-flash-lite</td>
<td>Google</td>
<td>Gemini API</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>482 ms</td>
<td></td>
<td>Gemini 3.1 flash lite preview</td>
</tr>
<tr>
<td>devstral-2-123b-instruct-2512</td>
<td>Mistral</td>
<td>SAIA</td>
<td>4K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>157 ms</td>
<td>🏠</td>
<td>123B coding model via SAIA GPU</td>
</tr>
<tr>
<td>qwen3-coder-30b-a3b-instruct</td>
<td>Alibaba</td>
<td>SAIA</td>
<td>32K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>5 ms</td>
<td>🏠</td>
<td>MoE coding model; 5 ms = cached</td>
</tr>
<tr>
<td>openai-gpt-oss-120b</td>
<td>OpenAI</td>
<td>SAIA</td>
<td>131K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>118 ms</td>
<td>🏠</td>
<td>OpenAI open-weight 120B via SAIA</td>
</tr>
<tr>
<td>qwen3-omni-30b-a3b-instruct</td>
<td>Alibaba</td>
<td>SAIA</td>
<td>16K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>178 ms</td>
<td>🏠</td>
<td>Multimodal MoE; voice+vision</td>
</tr>
<tr>
<td>llama-3.3-70b-instruct</td>
<td>Meta</td>
<td>SAIA</td>
<td>131K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>168 ms</td>
<td>🏠</td>
<td>Reliable general-purpose 70B</td>
</tr>
<tr>
<td>deepseek-r1-distill-llama-70b</td>
<td>DeepSeek</td>
<td>SAIA</td>
<td>131K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>325 ms</td>
<td>🏠</td>
<td>R1 reasoning distill; outputs <code>&lt;think&gt;</code> tokens</td>
</tr>
<tr>
<td>qwen3.5-35b-a3b</td>
<td>Alibaba</td>
<td>SAIA</td>
<td>65K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>250 ms</td>
<td>🏠</td>
<td>MoE 35B A3B</td>
</tr>
<tr>
<td>qwen3.5-27b</td>
<td>Alibaba</td>
<td>SAIA</td>
<td>131K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>266 ms</td>
<td>🏠</td>
<td>Dense 27B</td>
</tr>
<tr>
<td>qwen3.6-35b-a3b</td>
<td>Alibaba</td>
<td>SAIA</td>
<td>65K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>204 ms</td>
<td>🏠</td>
<td>MoE 35B A3B v3.6</td>
</tr>
<tr>
<td>apertus-70b-instruct-2509</td>
<td>Apertus</td>
<td>SAIA</td>
<td>4K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>143 ms</td>
<td>🏠</td>
<td>Small context; general chat</td>
</tr>
<tr>
<td>glm-4.7</td>
<td>Zhipu</td>
<td>SAIA</td>
<td>128K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>210 ms</td>
<td>🏠</td>
<td>GLM-4 series</td>
</tr>
<tr>
<td>qwen3-30b-a3b-instruct-2507</td>
<td>Alibaba</td>
<td>SAIA</td>
<td>262K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>127 ms</td>
<td>🏠</td>
<td>MoE 30B, very large context</td>
</tr>
<tr>
<td>gemma-3-27b-it</td>
<td>Google</td>
<td>SAIA</td>
<td>131K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>284 ms</td>
<td>🏠</td>
<td>Gemma 3 27B instruct</td>
</tr>
<tr>
<td>internvl3.5-30b-a3b</td>
<td>InternLM</td>
<td>SAIA</td>
<td>16K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>116 ms</td>
<td>🏠</td>
<td>Vision+tools MoE 30B</td>
</tr>
<tr>
<td>qwen3.5-122b-a10b</td>
<td>Alibaba</td>
<td>SAIA</td>
<td>65K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>372 ms</td>
<td>🏠</td>
<td>MoE 122B A10B; larger/slower</td>
</tr>
<tr>
<td>qwen3.5-397b-a17b</td>
<td>Alibaba</td>
<td>SAIA</td>
<td>65K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>248 ms</td>
<td>🏠</td>
<td>Largest SAIA MoE model</td>
</tr>
<tr>
<td>gemma-4-31b-it</td>
<td>Google</td>
<td>SAIA</td>
<td>8K</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>177 ms</td>
<td>🏠</td>
<td>Gemma 4 multimodal</td>
</tr>
<tr>
<td>meta-llama/llama-4-scout-17b-16e-instruct</td>
<td>Meta</td>
<td>Groq</td>
<td>8K</td>
<td></td>
<td></td>
<td>$0.11</td>
<td>$0.34</td>
<td>442 ms</td>
<td>🚀</td>
<td>Groq-accelerated; 442 ms incl. queue</td>
</tr>
<tr>
<td>cerebras-llama-3.1-8b</td>
<td>Meta</td>
<td>Cerebras</td>
<td>128K</td>
<td></td>
<td></td>
<td>$0.10</td>
<td>$0.10</td>
<td>258 ms</td>
<td>🚀</td>
<td>Wafer-scale ~2 000 TPS</td>
</tr>
<tr>
<td>cerebras-qwen-3-235b</td>
<td>Alibaba</td>
<td>Cerebras</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>199 ms</td>
<td>🚀</td>
<td>235B at wafer-scale speed</td>
</tr>
</tbody>
</table>
<h3 id="embedding-models">Embedding Models<a class="headerlink" href="#embedding-models" title="Permanent link">&para;</a></h3>
<table>
<thead>
<tr>
<th>Model ID</th>
<th>Provider</th>
<th>Backend</th>
<th>Context</th>
<th>Dimensions</th>
<th>Cost $/1M</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td>gemini-embedding-2</td>
<td>Google</td>
<td>Gemini API</td>
<td>8K</td>
<td></td>
<td>$0.20</td>
<td>Primary Gemini embedding</td>
</tr>
<tr>
<td>gemini-embedding-001</td>
<td>Google</td>
<td>Gemini API</td>
<td>2K</td>
<td></td>
<td>$0.15</td>
<td>Legacy Gemini embedding</td>
</tr>
<tr>
<td>text-embedding-ada-002</td>
<td>Google</td>
<td>Gemini API</td>
<td>8K</td>
<td></td>
<td>$0.20</td>
<td>Alias → gemini-embedding-2</td>
</tr>
<tr>
<td>text-embedding-3-small</td>
<td>Google</td>
<td>Gemini API</td>
<td>8K</td>
<td></td>
<td>$0.20</td>
<td>Alias → gemini-embedding-2</td>
</tr>
<tr>
<td>text-embedding-3-large</td>
<td>Google</td>
<td>Gemini API</td>
<td>8K</td>
<td></td>
<td>$0.20</td>
<td>Alias → gemini-embedding-2</td>
</tr>
<tr>
<td>multilingual-e5-large-instruct</td>
<td>Microsoft</td>
<td>SAIA</td>
<td>8K</td>
<td>1 024</td>
<td></td>
<td>Self-hosted multilingual; strong for DE/EN RAG</td>
</tr>
<tr>
<td>cohere-embed-multilingual-v3</td>
<td>Cohere</td>
<td>Cohere API</td>
<td>1K</td>
<td>1 024</td>
<td>$0.10</td>
<td>100+ languages</td>
</tr>
<tr>
<td>cohere-embed-english-v3</td>
<td>Cohere</td>
<td>Cohere API</td>
<td>1K</td>
<td>1 024</td>
<td>$0.10</td>
<td>English-only; higher EN accuracy</td>
</tr>
</tbody>
</table>
<h3 id="audio-models-tts-asr">Audio Models (TTS / ASR)<a class="headerlink" href="#audio-models-tts-asr" title="Permanent link">&para;</a></h3>
<table>
<thead>
<tr>
<th>Model ID</th>
<th>Provider</th>
<th>Backend</th>
<th>Type</th>
<th>Language</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td>tts-1-de</td>
<td>SAIA</td>
<td>Piper</td>
<td>TTS</td>
<td>German</td>
<td>Self-hosted German TTS</td>
</tr>
<tr>
<td>tts-1</td>
<td>SAIA</td>
<td>Kokoro-82M</td>
<td>TTS</td>
<td>EN + others</td>
<td>Self-hosted multilingual TTS</td>
</tr>
<tr>
<td>voxtral-mini-tts-latest</td>
<td>Mistral</td>
<td>Mistral API</td>
<td>TTS</td>
<td>Multilingual</td>
<td>Mistral voice synthesis</td>
</tr>
<tr>
<td>saia-whisper</td>
<td>SAIA</td>
<td>whisper-large-v2</td>
<td>ASR</td>
<td>Multilingual</td>
<td>Self-hosted transcription</td>
</tr>
<tr>
<td>whisper-1</td>
<td>SAIA</td>
<td>faster-whisper-large-v3</td>
<td>ASR</td>
<td>Multilingual</td>
<td>Faster self-hosted transcription</td>
</tr>
<tr>
<td>voxtral-mini-transcribe-2507</td>
<td>Mistral</td>
<td>Mistral API</td>
<td>ASR</td>
<td>Multilingual</td>
<td>Mistral audio transcription; ctx 16K</td>
</tr>
<tr>
<td>whisper-large-v3-turbo</td>
<td>Meta</td>
<td>Groq</td>
<td>ASR</td>
<td>Multilingual</td>
<td>Groq-accelerated; fastest transcription</td>
</tr>
</tbody>
</table>
<h3 id="image-models">Image Models<a class="headerlink" href="#image-models" title="Permanent link">&para;</a></h3>
<table>
<thead>
<tr>
<th>Model ID</th>
<th>Provider</th>
<th>Backend</th>
<th>Type</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td>saia-flux</td>
<td>SAIA</td>
<td>FLUX</td>
<td>Image gen</td>
<td>Self-hosted FLUX; note: garbles text labels</td>
</tr>
<tr>
<td>gemini-2.5-flash-image</td>
<td>Google</td>
<td>Gemini API</td>
<td>Image gen</td>
<td>ctx 32K; multimodal image generation</td>
</tr>
<tr>
<td>saia-image-edit</td>
<td>SAIA</td>
<td>Qwen-Image-Edit</td>
<td>Image edit</td>
<td>Image editing/inpainting</td>
</tr>
<tr>
<td>mistral-ocr-latest</td>
<td>Mistral</td>
<td>Mistral API</td>
<td>OCR</td>
<td>Document OCR; not a chat model</td>
</tr>
</tbody>
</table>
<hr />
<h2 id="service-recommendations">Service Recommendations<a class="headerlink" href="#service-recommendations" title="Permanent link">&para;</a></h2>
<h3 id="nextcloud-assistant">Nextcloud Assistant<a class="headerlink" href="#nextcloud-assistant" title="Permanent link">&para;</a></h3>
<p><em>Smart file/email/calendar assistant, summaries, writing help — multilingual DE/EN</em></p>
<table>
<thead>
<tr>
<th>Role</th>
<th>Model</th>
<th>Reasoning</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Primary</strong></td>
<td><code>mistral-small-latest</code></td>
<td>Cheapest API model with tool use, vision, 131K context, and 222 ms TTFT. Handles German natively.</td>
</tr>
<tr>
<td><strong>Fallback</strong></td>
<td><code>claude-haiku-4-5</code></td>
<td>If higher quality needed; still cost-effective at $0.80/$4 and 1 453 ms TTFT.</td>
</tr>
<tr>
<td><strong>Alt (local)</strong></td>
<td><code>qwen3.5-27b</code></td>
<td>Free if staying fully on SAIA GPU cluster; 131K context + tools.</td>
</tr>
</tbody>
</table>
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>model: mistral-small-latest
</code></pre></div>
<hr />
<h3 id="karakeep-bookmarks-reading">Karakeep (Bookmarks / Reading)<a class="headerlink" href="#karakeep-bookmarks-reading" title="Permanent link">&para;</a></h3>
<p><em>Summarise articles, extract key points, tag/categorise — no vision required</em></p>
<table>
<thead>
<tr>
<th>Role</th>
<th>Model</th>
<th>Reasoning</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Primary</strong></td>
<td><code>gemini-2.5-flash-lite</code></td>
<td>Cheapest API model at $0.10/$0.40, 518 ms TTFT, strong comprehension.</td>
</tr>
<tr>
<td><strong>Fallback</strong></td>
<td><code>mistral-small-latest</code></td>
<td>Slightly pricier but faster at 222 ms.</td>
</tr>
</tbody>
</table>
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>model: gemini-2.5-flash-lite
</code></pre></div>
<hr />
<h3 id="home-assistant">Home Assistant<a class="headerlink" href="#home-assistant" title="Permanent link">&para;</a></h3>
<p><em>Intent recognition, automation triggers, voice pipeline — ultra-low latency critical</em></p>
<table>
<thead>
<tr>
<th>Role</th>
<th>Model</th>
<th>Reasoning</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Primary</strong></td>
<td><code>cerebras-llama-3.1-8b</code></td>
<td>258 ms measured TTFT, ~2 000 TPS on Cerebras wafer silicon; best latency for real-time voice. 128K context, tools.</td>
</tr>
<tr>
<td><strong>Fallback</strong></td>
<td><code>mistral-small-latest</code></td>
<td>222 ms TTFT, API-based, reliable tool calling.</td>
</tr>
<tr>
<td><strong>Local alt</strong></td>
<td><code>internvl3.5-30b-a3b</code></td>
<td>116 ms on SAIA; avoids API cost for high-frequency automations.</td>
</tr>
</tbody>
</table>
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>model: cerebras-llama-3.1-8b
</code></pre></div>
<hr />
<h3 id="lobechat-default">LobeChat Default<a class="headerlink" href="#lobechat-default" title="Permanent link">&para;</a></h3>
<p><em>General chat assistant for daily use — balanced quality / speed / cost, vision nice</em></p>
<table>
<thead>
<tr>
<th>Role</th>
<th>Model</th>
<th>Reasoning</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Primary</strong></td>
<td><code>gemini-2.5-flash</code></td>
<td>501 ms, vision, tools, large context, excellent reasoning at $0.30/$2.50. Best all-rounder.</td>
</tr>
<tr>
<td><strong>Fallback</strong></td>
<td><code>claude-sonnet-4-6</code></td>
<td>Higher quality ceiling; use when depth matters over cost.</td>
</tr>
<tr>
<td><strong>Free alt</strong></td>
<td><code>qwen3.5-397b-a17b</code></td>
<td>Largest self-hosted model; free on SAIA with vision + tools at 248 ms.</td>
</tr>
</tbody>
</table>
<div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a>model: gemini-2.5-flash
</code></pre></div>
<hr />
<h3 id="code-assistant-coder-ide">Code Assistant (Coder / IDE)<a class="headerlink" href="#code-assistant-coder-ide" title="Permanent link">&para;</a></h3>
<p><em>Code completion, review, debugging — strong code ability, large context, tools</em></p>
<table>
<thead>
<tr>
<th>Role</th>
<th>Model</th>
<th>Reasoning</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Primary</strong></td>
<td><code>claude-sonnet-4-6</code></td>
<td>Best overall coding + reasoning; 200K context, tool use, reliable output.</td>
</tr>
<tr>
<td><strong>Fast/cheap</strong></td>
<td><code>codestral-latest</code></td>
<td>Coding-specialist Mistral at 275 ms with 16K context; good for completion.</td>
</tr>
<tr>
<td><strong>Local coding</strong></td>
<td><code>devstral-2-123b-instruct-2512</code></td>
<td>123B SAIA coding model at 157 ms; free inference.</td>
</tr>
<tr>
<td><strong>MoE coding</strong></td>
<td><code>qwen3-coder-30b-a3b-instruct</code></td>
<td>32K context, tools, extremely fast (5 ms cached); best SAIA coding model.</td>
</tr>
</tbody>
</table>
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>model: claude-sonnet-4-6 # IDE / review
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a>model: qwen3-coder-30b-a3b-instruct # local completion
</code></pre></div>
<hr />
<h3 id="document-ocr-ingestion">Document OCR / Ingestion<a class="headerlink" href="#document-ocr-ingestion" title="Permanent link">&para;</a></h3>
<p><em>Paperless → Docling → extract text — vision + OCR capable, large context</em></p>
<table>
<thead>
<tr>
<th>Role</th>
<th>Model</th>
<th>Reasoning</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Primary</strong></td>
<td><code>mistral-ocr-latest</code></td>
<td>Dedicated OCR endpoint; purpose-built for document text extraction.</td>
</tr>
<tr>
<td><strong>Fallback</strong></td>
<td><code>gemini-2.5-pro</code></td>
<td>65K context, vision, strong at structured extraction from images.</td>
</tr>
<tr>
<td><strong>Alt vision</strong></td>
<td><code>pixtral-large-latest</code></td>
<td>Mistral vision flagship at 27 ms (cached); good document parsing.</td>
</tr>
</tbody>
</table>
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>model: mistral-ocr-latest # OCR pipeline
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a>model: gemini-2.5-pro # fallback / complex layouts
</code></pre></div>
<hr />
<h3 id="embeddings-karakeep-lobechat-kb">Embeddings (Karakeep / LobeChat KB)<a class="headerlink" href="#embeddings-karakeep-lobechat-kb" title="Permanent link">&para;</a></h3>
<p><em>Semantic search, RAG, knowledge base — multilingual, high dimensions</em></p>
<table>
<thead>
<tr>
<th>Role</th>
<th>Model</th>
<th>Reasoning</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Primary (API)</strong></td>
<td><code>gemini-embedding-2</code></td>
<td>8K context, $0.20/1M, strong multilingual.</td>
</tr>
<tr>
<td><strong>Primary (local)</strong></td>
<td><code>multilingual-e5-large-instruct</code></td>
<td>Self-hosted on SAIA, 1 024-dim, excellent DE/EN RAG, zero API cost.</td>
</tr>
<tr>
<td><strong>Multilingual API</strong></td>
<td><code>cohere-embed-multilingual-v3</code></td>
<td>100+ languages, 1K context, $0.10/1M.</td>
</tr>
</tbody>
</table>
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>model: multilingual-e5-large-instruct # local RAG
<a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a>model: gemini-embedding-2 # API fallback
</code></pre></div>
<blockquote>
<p><strong>Note:</strong> <code>text-embedding-ada-002</code>, <code>text-embedding-3-small</code>, and <code>text-embedding-3-large</code> are all aliases for <code>gemini-embedding-2</code> — use the canonical ID to avoid confusion.</p>
</blockquote>
<hr />
<h3 id="image-generation">Image Generation<a class="headerlink" href="#image-generation" title="Permanent link">&para;</a></h3>
<p><em>ComfyUI complement, quick drafts</em></p>
<table>
<thead>
<tr>
<th>Role</th>
<th>Model</th>
<th>Reasoning</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Primary</strong></td>
<td><code>saia-flux</code></td>
<td>Self-hosted FLUX on SAIA GPU; no API cost. Note: avoid text in generated images (garbles).</td>
</tr>
<tr>
<td><strong>API alt</strong></td>
<td><code>gemini-2.5-flash-image</code></td>
<td>Gemini multimodal image gen for quick API-based drafts.</td>
</tr>
<tr>
<td><strong>Editing</strong></td>
<td><code>saia-image-edit</code></td>
<td>Qwen image editing for inpainting / modifications.</td>
</tr>
</tbody>
</table>
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>model: saia-flux
</code></pre></div>
<hr />
<h3 id="tts-voice-interfaces">TTS (Voice Interfaces)<a class="headerlink" href="#tts-voice-interfaces" title="Permanent link">&para;</a></h3>
<p><em>Read content aloud, voice responses</em></p>
<table>
<thead>
<tr>
<th>Role</th>
<th>Model</th>
<th>Reasoning</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>German</strong></td>
<td><code>tts-1-de</code></td>
<td>Self-hosted Piper; native German pronunciation.</td>
</tr>
<tr>
<td><strong>Multilingual</strong></td>
<td><code>tts-1</code></td>
<td>Self-hosted Kokoro-82M; covers EN + others, zero cost.</td>
</tr>
<tr>
<td><strong>API quality</strong></td>
<td><code>voxtral-mini-tts-latest</code></td>
<td>Mistral neural TTS for higher-quality voice synthesis.</td>
</tr>
</tbody>
</table>
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>model: tts-1-de # German HA / Nextcloud voice
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a>model: tts-1 # English / multilingual
</code></pre></div>
<hr />
<h3 id="transcription-meetings-voice">Transcription (Meetings / Voice)<a class="headerlink" href="#transcription-meetings-voice" title="Permanent link">&para;</a></h3>
<p><em>Speech to text</em></p>
<table>
<thead>
<tr>
<th>Role</th>
<th>Model</th>
<th>Reasoning</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Primary</strong></td>
<td><code>whisper-large-v3-turbo</code></td>
<td>Groq-accelerated; fastest available transcription.</td>
</tr>
<tr>
<td><strong>Local</strong></td>
<td><code>whisper-1</code></td>
<td>faster-whisper-large-v3 on SAIA; fully self-hosted, no API cost.</td>
</tr>
<tr>
<td><strong>Fallback</strong></td>
<td><code>saia-whisper</code></td>
<td>whisper-large-v2 on SAIA; slightly older model.</td>
</tr>
</tbody>
</table>
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>model: whisper-large-v3-turbo # real-time meetings
<a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a>model: whisper-1 # offline / batch
</code></pre></div>
<hr />
<h3 id="reasoning-analysis">Reasoning / Analysis<a class="headerlink" href="#reasoning-analysis" title="Permanent link">&para;</a></h3>
<p><em>Complex problem solving, research, multi-step tasks</em></p>
<table>
<thead>
<tr>
<th>Role</th>
<th>Model</th>
<th>Reasoning</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Primary</strong></td>
<td><code>claude-opus-4-7</code></td>
<td>Highest Claude capability; temp=0.7.</td>
</tr>
<tr>
<td><strong>Cheaper</strong></td>
<td><code>gemini-2.5-pro</code></td>
<td>Strong reasoning at 888 ms, $1.25/$10.00; good for research tasks.</td>
</tr>
<tr>
<td><strong>Local reasoning</strong></td>
<td><code>deepseek-r1-distill-llama-70b</code></td>
<td>R1 chain-of-thought via SAIA at 325 ms; outputs <code>&lt;think&gt;</code> tokens.</td>
</tr>
<tr>
<td><strong>Fast reasoning</strong></td>
<td><code>cerebras-qwen-3-235b</code></td>
<td>235B model at 199 ms on Cerebras wafer silicon.</td>
</tr>
</tbody>
</table>
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>model: claude-opus-4-7 # deep analysis
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a>model: deepseek-r1-distill-llama-70b # local reasoning
</code></pre></div>
<hr />
<h3 id="batch-offline-processing">Batch / Offline Processing<a class="headerlink" href="#batch-offline-processing" title="Permanent link">&para;</a></h3>
<p><em>Non-real-time document processing — cost-optimised, high throughput</em></p>
<table>
<thead>
<tr>
<th>Role</th>
<th>Model</th>
<th>Reasoning</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Primary</strong></td>
<td><code>gemini-2.5-flash-lite</code></td>
<td>$0.10/$0.40; cheapest API model with tools + vision.</td>
</tr>
<tr>
<td><strong>Free</strong></td>
<td><code>llama-3.3-70b-instruct</code></td>
<td>SAIA self-hosted 70B at 168 ms; 131K context, no API cost.</td>
</tr>
<tr>
<td><strong>Alt</strong></td>
<td><code>qwen3-30b-a3b-instruct-2507</code></td>
<td>262K context MoE; good for long-document batch on SAIA.</td>
</tr>
</tbody>
</table>
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>model: gemini-2.5-flash-lite # cost-sensitive API batch
<a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a>model: llama-3.3-70b-instruct # free local batch
</code></pre></div>
<hr />
<h2 id="aliases-duplicates">Aliases &amp; Duplicates<a class="headerlink" href="#aliases-duplicates" title="Permanent link">&para;</a></h2>
<p>The following model IDs are aliases that route to the same backend model. Use the canonical ID in production to avoid ambiguity:</p>
<table>
<thead>
<tr>
<th>Alias ID</th>
<th>Canonical Model</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>sonnet</code></td>
<td><code>claude-sonnet-4-6</code></td>
<td>Short alias</td>
</tr>
<tr>
<td><code>opus</code></td>
<td><code>claude-opus-4-7</code></td>
<td>Short alias</td>
</tr>
<tr>
<td><code>haiku</code></td>
<td><code>claude-haiku-4-5</code></td>
<td>Short alias</td>
</tr>
<tr>
<td><code>text-embedding-ada-002</code></td>
<td><code>gemini-embedding-2</code></td>
<td>OpenAI compat alias</td>
</tr>
<tr>
<td><code>text-embedding-3-small</code></td>
<td><code>gemini-embedding-2</code></td>
<td>OpenAI compat alias</td>
</tr>
<tr>
<td><code>text-embedding-3-large</code></td>
<td><code>gemini-embedding-2</code></td>
<td>OpenAI compat alias</td>
</tr>
</tbody>
</table>
<hr />
<h2 id="experimental-not-yet-validated">Experimental / Not Yet Validated<a class="headerlink" href="#experimental-not-yet-validated" title="Permanent link">&para;</a></h2>
<p>The following models returned errors or have unresolved issues in live testing:</p>
<table>
<thead>
<tr>
<th>Model ID</th>
<th>Status</th>
<th>Error Detail</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>voxtral-mini-latest</code></td>
<td>✅ Fixed 2026-05-23</td>
<td>Stray <code>api_base: saia-image-proxy:5999</code> — deleted + re-added clean; now routes to Mistral API</td>
<td></td>
</tr>
<tr>
<td><code>voxtral-mini-realtime-latest</code></td>
<td>🗑️ Removed 2026-05-23</td>
<td>WebSocket-only realtime endpoint; incompatible with REST completions</td>
<td>Removed from LiteLLM; use Mistral WS API directly if needed</td>
</tr>
<tr>
<td><code>mistral-ocr-latest</code></td>
<td>⚠️ Not benchmarked</td>
<td>OCR-mode model; requires document input, not chat completions</td>
<td>Use via dedicated OCR pipeline only</td>
</tr>
<tr>
<td><code>voxtral-mini-transcribe-2507</code></td>
<td>⚠️ Not benchmarked</td>
<td>Audio transcription; not a chat completions model</td>
<td>Use via audio transcription endpoint</td>
</tr>
<tr>
<td><code>gemini-2.5-flash-image</code></td>
<td>⚠️ Not benchmarked</td>
<td>Image generation; not a chat completions model</td>
<td>Use via images endpoint</td>
</tr>
<tr>
<td><code>saia-flux</code></td>
<td>⚠️ Not benchmarked</td>
<td>FLUX image generation</td>
<td>Use via images endpoint</td>
</tr>
<tr>
<td><code>saia-image-edit</code></td>
<td>⚠️ Not benchmarked</td>
<td>Image editing</td>
<td>Use via image edit endpoint</td>
</tr>
<tr>
<td><code>tts-1-de</code></td>
<td>⚠️ Not benchmarked</td>
<td>Piper TTS audio output</td>
<td>Use via audio/speech endpoint</td>
</tr>
<tr>
<td><code>tts-1</code></td>
<td>⚠️ Not benchmarked</td>
<td>Kokoro-82M TTS</td>
<td>Use via audio/speech endpoint</td>
</tr>
<tr>
<td><code>voxtral-mini-tts-latest</code></td>
<td>⚠️ Not benchmarked</td>
<td>Mistral TTS</td>
<td>Use via audio/speech endpoint</td>
</tr>
<tr>
<td><code>saia-whisper</code></td>
<td>⚠️ Not benchmarked</td>
<td>Whisper ASR</td>
<td>Use via audio/transcriptions endpoint</td>
</tr>
<tr>
<td><code>whisper-1</code></td>
<td>⚠️ Not benchmarked</td>
<td>faster-whisper ASR</td>
<td>Use via audio/transcriptions endpoint</td>
</tr>
<tr>
<td><code>whisper-large-v3-turbo</code></td>
<td>⚠️ Not benchmarked</td>
<td>Groq Whisper ASR</td>
<td>Use via audio/transcriptions endpoint</td>
</tr>
<tr>
<td><code>gemini-3.1-flash-lite</code></td>
<td>⚠️ Context unknown</td>
<td>Preview model; ctx window not documented</td>
<td>Monitor Gemini API release notes</td>
</tr>
<tr>
<td><code>cerebras-qwen-3-235b</code></td>
<td>⚠️ Context unknown</td>
<td>Context window not documented in LiteLLM config</td>
<td>Check Cerebras API docs</td>
</tr>
</tbody>
</table>
<hr />
<h2 id="raw-benchmark-data">Raw Benchmark Data<a class="headerlink" href="#raw-benchmark-data" title="Permanent link">&para;</a></h2>
<p>All measurements from <code>2026-05-23</code>. Single <code>max_tokens=5</code> completion, prompt: <em>"Reply with exactly: ok"</em>.</p>
<table>
<thead>
<tr>
<th>Model ID</th>
<th>HTTP Status</th>
<th>Latency (ms)</th>
<th>Prompt Tokens</th>
<th>Completion Tokens</th>
</tr>
</thead>
<tbody>
<tr>
<td>claude-sonnet-4-6</td>
<td>200</td>
<td>2 083</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>claude-opus-4-7</td>
<td>200</td>
<td>3 218</td>
<td>6</td>
<td>6</td>
</tr>
<tr>
<td>claude-haiku-4-5</td>
<td>200</td>
<td>1 453</td>
<td>10</td>
<td>41</td>
</tr>
<tr>
<td>voxtral-small-latest</td>
<td>200</td>
<td>160</td>
<td>8</td>
<td>2</td>
</tr>
<tr>
<td>mistral-small-latest</td>
<td>200</td>
<td>222</td>
<td>20</td>
<td>2</td>
</tr>
<tr>
<td>voxtral-mini-latest</td>
<td>500</td>
<td>48</td>
<td></td>
<td></td>
</tr>
<tr>
<td>codestral-latest</td>
<td>200</td>
<td>275</td>
<td>13</td>
<td>2</td>
</tr>
<tr>
<td>devstral-2-123b-instruct-2512</td>
<td>200</td>
<td>157</td>
<td>8</td>
<td>2</td>
</tr>
<tr>
<td>qwen3-coder-30b-a3b-instruct</td>
<td>200</td>
<td>5</td>
<td>13</td>
<td>2</td>
</tr>
<tr>
<td>openai-gpt-oss-120b</td>
<td>200</td>
<td>118</td>
<td>74</td>
<td>5</td>
</tr>
<tr>
<td>gemini-2.5-flash</td>
<td>200</td>
<td>501</td>
<td>6</td>
<td>1</td>
</tr>
<tr>
<td>cerebras-llama-3.1-8b</td>
<td>200</td>
<td>258</td>
<td>40</td>
<td>2</td>
</tr>
<tr>
<td>meta-llama/llama-4-scout-17b-16e-instruct</td>
<td>200</td>
<td>442</td>
<td>15</td>
<td>2</td>
</tr>
<tr>
<td>mistral-large-latest</td>
<td>200</td>
<td>309</td>
<td>8</td>
<td>2</td>
</tr>
<tr>
<td>gemini-2.5-flash-lite</td>
<td>200</td>
<td>518</td>
<td>6</td>
<td>1</td>
</tr>
<tr>
<td>qwen3-omni-30b-a3b-instruct</td>
<td>200</td>
<td>178</td>
<td>13</td>
<td>2</td>
</tr>
<tr>
<td>llama-3.3-70b-instruct</td>
<td>200</td>
<td>168</td>
<td>102</td>
<td>2</td>
</tr>
<tr>
<td>deepseek-r1-distill-llama-70b</td>
<td>200</td>
<td>325</td>
<td>8</td>
<td>5</td>
</tr>
<tr>
<td>gemini-2.5-pro</td>
<td>200</td>
<td>888</td>
<td>6</td>
<td>2</td>
</tr>
<tr>
<td>pixtral-large-latest</td>
<td>200</td>
<td>27</td>
<td>13</td>
<td>2</td>
</tr>
<tr>
<td>voxtral-mini-realtime-latest</td>
<td>400</td>
<td>140</td>
<td></td>
<td></td>
</tr>
<tr>
<td>qwen3.5-35b-a3b</td>
<td>200</td>
<td>250</td>
<td>15</td>
<td>5</td>
</tr>
<tr>
<td>qwen3.5-27b</td>
<td>200</td>
<td>266</td>
<td>15</td>
<td>5</td>
</tr>
<tr>
<td>qwen3.6-35b-a3b</td>
<td>200</td>
<td>204</td>
<td>15</td>
<td>5</td>
</tr>
<tr>
<td>apertus-70b-instruct-2509</td>
<td>200</td>
<td>143</td>
<td>66</td>
<td>2</td>
</tr>
<tr>
<td>glm-4.7</td>
<td>200</td>
<td>210</td>
<td>9</td>
<td>2</td>
</tr>
<tr>
<td>gemini-3.1-pro-preview</td>
<td>200</td>
<td>1 215</td>
<td>6</td>
<td>2</td>
</tr>
<tr>
<td>gemini-3-pro-preview</td>
<td>200</td>
<td>1 258</td>
<td>6</td>
<td>2</td>
</tr>
<tr>
<td>qwen3-30b-a3b-instruct-2507</td>
<td>200</td>
<td>127</td>
<td>13</td>
<td>2</td>
</tr>
<tr>
<td>gemini-3.1-flash-lite</td>
<td>200</td>
<td>482</td>
<td>6</td>
<td>1</td>
</tr>
<tr>
<td>gemma-3-27b-it</td>
<td>200</td>
<td>284</td>
<td>14</td>
<td>3</td>
</tr>
<tr>
<td>internvl3.5-30b-a3b</td>
<td>200</td>
<td>116</td>
<td>13</td>
<td>2</td>
</tr>
<tr>
<td>qwen3.5-122b-a10b</td>
<td>200</td>
<td>372</td>
<td>15</td>
<td>5</td>
</tr>
<tr>
<td>qwen3.5-397b-a17b</td>
<td>200</td>
<td>248</td>
<td>15</td>
<td>5</td>
</tr>
<tr>
<td>gemma-4-31b-it</td>
<td>200</td>
<td>177</td>
<td>18</td>
<td>2</td>
</tr>
<tr>
<td>cerebras-qwen-3-235b</td>
<td>200</td>
<td>199</td>
<td>13</td>
<td>2</td>
</tr>
</tbody>
</table>
<blockquote>
<p><strong>Benchmark note on SAIA models with &lt; 50 ms latency</strong> (qwen3-coder: 5 ms, pixtral: 27 ms): these figures reflect a KV-cache or pre-warmed response for the trivial prompt. Real-world TTFT for cold prompts will be 100400 ms depending on model size and GPU availability.</p>
</blockquote>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
Back to top
</button>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.highlight", "search.suggest", "content.code.copy"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
<script src="../../assets/javascripts/bundle.79ae519e.min.js"></script>
</body>
</html>