From 8a32f784e09a08a2ddc6d5255c36a18fbca1ed6c Mon Sep 17 00:00:00 2001 From: shacortes Date: Wed, 16 Sep 2026 14:01:08 +0200 Subject: [PATCH 1/4] catalog: add 15 current models (Qwen3.8, Gemma 4, gpt-oss, Granite 4.2, Nemotron 3.5, LFM2.5, MiniCPM5, GLM-5.3-Flash) --- frontend/src/catalog/index.ts | 60 +++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/frontend/src/catalog/index.ts b/frontend/src/catalog/index.ts index 42af1ae..ac96dd5 100644 --- a/frontend/src/catalog/index.ts +++ b/frontend/src/catalog/index.ts @@ -48,6 +48,66 @@ export const MODELS: Model[] = [ id: 'gemma-3-12b', name: 'Gemma 3 12B IT', family: 'Gemma 3', params: '12B', architecture: 'dense', sourceUrl: 'https://huggingface.co/google/gemma-3-12b-it', logoUrl: '/logos/models/gemma.svg', brandColor: '#6dc799', quants: ['int4', 'q4_k_m', 'q8_0'], }, + { + id: 'qwen3-8-27b', name: 'Qwen3.8-27B', family: 'Qwen3.8', params: '27B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.8-27B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'int8', 'q4_k_m', 'q8_0'], + }, + { + id: 'qwen3-4b-instruct-2507', name: 'Qwen3-4B-Instruct-2507', family: 'Qwen3', params: '4B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3-4B-Instruct-2507', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'int8', 'q4_k_m', 'q8_0', 'fp16'], + }, + { + id: 'qwen3-next-80b-a3b', name: 'Qwen3-Next-80B-A3B-Instruct', family: 'Qwen3-Next', params: '80B', architecture: 'moe', activeParams: '3B', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Instruct', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'q4_k_m', 'q8_0'], + }, + { + id: 'qwen3-coder-next', name: 'Qwen3-Coder-Next', family: 'Qwen3-Next', params: '80B', architecture: 'moe', activeParams: '3B', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3-Coder-Next', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'q4_k_m', 'q8_0'], + }, + { + id: 'gemma-4-12b', name: 'Gemma 4 12B IT', family: 'Gemma 4', params: '12B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/google/gemma-4-12B-it', logoUrl: '/logos/models/gemma.svg', brandColor: '#6dc799', quants: ['int4', 'q4_k_m', 'q8_0'], + }, + { + id: 'gemma-4-26b-a4b', name: 'Gemma 4 26B A4B IT', family: 'Gemma 4', params: '26B', architecture: 'moe', activeParams: '4B', + sourceUrl: 'https://huggingface.co/google/gemma-4-26B-A4B-it', logoUrl: '/logos/models/gemma.svg', brandColor: '#6dc799', quants: ['int4', 'q4_0', 'q4_k_m', 'q8_0'], + }, + { + id: 'gpt-oss-20b', name: 'gpt-oss-20b', family: 'gpt-oss', params: '21B', architecture: 'moe', activeParams: '3.6B', + sourceUrl: 'https://huggingface.co/openai/gpt-oss-20b', brandColor: '#a3b8cf', quants: ['mxfp4', 'int4', 'q4_k_m', 'q8_0'], + }, + { + id: 'mistral-small-3-2-24b', name: 'Mistral Small 3.2 24B Instruct', family: 'Mistral Small 3.2', params: '24B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/mistralai/Mistral-Small-3.2-24B-Instruct-2506', brandColor: '#eba36d', quants: ['int4', 'q4_k_m', 'q8_0'], + }, + { + id: 'granite-4-2-8b', name: 'Granite 4.2 8B', family: 'Granite 4.2', params: '8B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/ibm-granite/granite-4.2-8b', brandColor: '#8fa8d8', quants: ['int4', 'q4_k_m', 'q8_0', 'fp16'], + }, + { + id: 'granite-4-2-30b', name: 'Granite 4.2 30B', family: 'Granite 4.2', params: '30B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/ibm-granite/granite-4.2-30b', brandColor: '#8fa8d8', quants: ['int4', 'q4_k_m', 'q8_0'], + }, + { + id: 'nemotron-3-5-lightning-30b-a3b', name: 'Nemotron 3.5 Lightning 30B A3B', family: 'Nemotron 3.5', params: '30B', architecture: 'moe', activeParams: '3B', + sourceUrl: 'https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16', brandColor: '#8fc25c', quants: ['q4_k_m', 'q8_0', 'bf16'], + }, + { + id: 'lfm2-5-2-6b', name: 'LFM2.5-2.6B', family: 'LFM2.5', params: '2.6B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/LiquidAI/LFM2.5-2.6B', brandColor: '#6fc3d6', quants: ['int4', 'int8', 'q4_k_m', 'q8_0', 'fp16'], + }, + { + id: 'lfm2-5-8b-a1b', name: 'LFM2.5-8B-A1B', family: 'LFM2.5', params: '8B', architecture: 'moe', activeParams: '1B', + sourceUrl: 'https://huggingface.co/LiquidAI/LFM2.5-8B-A1B', brandColor: '#6fc3d6', quants: ['int4', 'q4_k_m', 'q8_0'], + }, + { + id: 'minicpm5-2b', name: 'MiniCPM5-2B', family: 'MiniCPM5', params: '2.5B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/openbmb/MiniCPM5-2B', brandColor: '#e5a3c2', quants: ['int4', 'q4_k_m', 'q8_0', 'fp16'], + }, + { + id: 'glm-5-3-flash', name: 'GLM-5.3-Flash', family: 'GLM-5.3', params: '320B', architecture: 'moe', activeParams: '18B', + sourceUrl: 'https://huggingface.co/zai-org/GLM-5.3-Flash', brandColor: '#7fa9d9', quants: ['int4', 'q4_k_m'], + }, ] /** One-line explanation of a quant for tooltips. */ From 31c47edd155ed9e48ca64a64e7204205fd25fd65 Mon Sep 17 00:00:00 2001 From: shacortes Date: Wed, 16 Sep 2026 14:19:49 +0200 Subject: [PATCH 2/4] catalog: add the Qwen3.5 and Qwen3.6 lineups and the remaining Qwen3.8 models --- frontend/src/catalog/index.ts | 112 ++++++++++++++++++++++++---------- 1 file changed, 80 insertions(+), 32 deletions(-) diff --git a/frontend/src/catalog/index.ts b/frontend/src/catalog/index.ts index ac96dd5..6d689c1 100644 --- a/frontend/src/catalog/index.ts +++ b/frontend/src/catalog/index.ts @@ -33,80 +33,128 @@ export const QUANTS: Quant[] = [ export const MODELS: Model[] = [ { - id: 'qwen3-8b', name: 'Qwen3-8B', family: 'Qwen3', params: '8B', architecture: 'dense', - sourceUrl: 'https://huggingface.co/Qwen/Qwen3-8B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'q4_k_m', 'q8_0', 'fp16'], + id: 'gemma-3-12b', name: 'Gemma 3 12B IT', family: 'Gemma 3', params: '12B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/google/gemma-3-12b-it', logoUrl: '/logos/models/gemma.svg', brandColor: '#6dc799', quants: ['int4', 'q4_k_m', 'q8_0'], }, { - id: 'qwen3-30b-a3b', name: 'Qwen3-30B-A3B', family: 'Qwen3', params: '30B', architecture: 'moe', activeParams: '3B', - sourceUrl: 'https://huggingface.co/Qwen/Qwen3-30B-A3B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'q4_k_m', 'q8_0'], + id: 'gemma-4-12b', name: 'Gemma 4 12B IT', family: 'Gemma 4', params: '12B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/google/gemma-4-12B-it', logoUrl: '/logos/models/gemma.svg', brandColor: '#6dc799', quants: ['int4', 'q4_k_m', 'q8_0'], + }, + { + id: 'gemma-4-26b-a4b', name: 'Gemma 4 26B A4B IT', family: 'Gemma 4', params: '26B', architecture: 'moe', activeParams: '4B', + sourceUrl: 'https://huggingface.co/google/gemma-4-26B-A4B-it', logoUrl: '/logos/models/gemma.svg', brandColor: '#6dc799', quants: ['int4', 'q4_0', 'q4_k_m', 'q8_0'], + }, + { + id: 'glm-5-3-flash', name: 'GLM-5.3-Flash', family: 'GLM-5.3', params: '320B', architecture: 'moe', activeParams: '18B', + sourceUrl: 'https://huggingface.co/zai-org/GLM-5.3-Flash', brandColor: '#7fa9d9', quants: ['int4', 'q4_k_m'], + }, + { + id: 'gpt-oss-20b', name: 'gpt-oss-20b', family: 'gpt-oss', params: '21B', architecture: 'moe', activeParams: '3.6B', + sourceUrl: 'https://huggingface.co/openai/gpt-oss-20b', brandColor: '#a3b8cf', quants: ['mxfp4', 'int4', 'q4_k_m', 'q8_0'], + }, + { + id: 'granite-4-2-30b', name: 'Granite 4.2 30B', family: 'Granite 4.2', params: '30B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/ibm-granite/granite-4.2-30b', brandColor: '#8fa8d8', quants: ['int4', 'q4_k_m', 'q8_0'], + }, + { + id: 'granite-4-2-8b', name: 'Granite 4.2 8B', family: 'Granite 4.2', params: '8B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/ibm-granite/granite-4.2-8b', brandColor: '#8fa8d8', quants: ['int4', 'q4_k_m', 'q8_0', 'fp16'], + }, + { + id: 'lfm2-5-2-6b', name: 'LFM2.5-2.6B', family: 'LFM2.5', params: '2.6B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/LiquidAI/LFM2.5-2.6B', brandColor: '#6fc3d6', quants: ['int4', 'int8', 'q4_k_m', 'q8_0', 'fp16'], + }, + { + id: 'lfm2-5-8b-a1b', name: 'LFM2.5-8B-A1B', family: 'LFM2.5', params: '8B', architecture: 'moe', activeParams: '1B', + sourceUrl: 'https://huggingface.co/LiquidAI/LFM2.5-8B-A1B', brandColor: '#6fc3d6', quants: ['int4', 'q4_k_m', 'q8_0'], }, { id: 'llama-3-1-8b', name: 'Llama 3.1 8B Instruct', family: 'Llama 3.1', params: '8B', architecture: 'dense', sourceUrl: 'https://huggingface.co/meta-llama/Llama-3.1-8B-Instruct', logoUrl: '/logos/models/llama.svg', brandColor: '#73b0ee', quants: ['int4', 'q4_k_m', 'q8_0', 'fp16'], }, { - id: 'gemma-3-12b', name: 'Gemma 3 12B IT', family: 'Gemma 3', params: '12B', architecture: 'dense', - sourceUrl: 'https://huggingface.co/google/gemma-3-12b-it', logoUrl: '/logos/models/gemma.svg', brandColor: '#6dc799', quants: ['int4', 'q4_k_m', 'q8_0'], + id: 'minicpm5-2b', name: 'MiniCPM5-2B', family: 'MiniCPM5', params: '2.5B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/openbmb/MiniCPM5-2B', brandColor: '#e5a3c2', quants: ['int4', 'q4_k_m', 'q8_0', 'fp16'], }, { - id: 'qwen3-8-27b', name: 'Qwen3.8-27B', family: 'Qwen3.8', params: '27B', architecture: 'dense', - sourceUrl: 'https://huggingface.co/Qwen/Qwen3.8-27B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'int8', 'q4_k_m', 'q8_0'], + id: 'mistral-small-3-2-24b', name: 'Mistral Small 3.2 24B Instruct', family: 'Mistral Small 3.2', params: '24B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/mistralai/Mistral-Small-3.2-24B-Instruct-2506', brandColor: '#eba36d', quants: ['int4', 'q4_k_m', 'q8_0'], + }, + { + id: 'nemotron-3-5-lightning-30b-a3b', name: 'Nemotron 3.5 Lightning 30B A3B', family: 'Nemotron 3.5', params: '30B', architecture: 'moe', activeParams: '3B', + sourceUrl: 'https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16', brandColor: '#8fc25c', quants: ['q4_k_m', 'q8_0', 'bf16'], + }, + { + id: 'qwen3-30b-a3b', name: 'Qwen3-30B-A3B', family: 'Qwen3', params: '30B', architecture: 'moe', activeParams: '3B', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3-30B-A3B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'q4_k_m', 'q8_0'], }, { id: 'qwen3-4b-instruct-2507', name: 'Qwen3-4B-Instruct-2507', family: 'Qwen3', params: '4B', architecture: 'dense', sourceUrl: 'https://huggingface.co/Qwen/Qwen3-4B-Instruct-2507', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'int8', 'q4_k_m', 'q8_0', 'fp16'], }, { - id: 'qwen3-next-80b-a3b', name: 'Qwen3-Next-80B-A3B-Instruct', family: 'Qwen3-Next', params: '80B', architecture: 'moe', activeParams: '3B', - sourceUrl: 'https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Instruct', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'q4_k_m', 'q8_0'], + id: 'qwen3-8b', name: 'Qwen3-8B', family: 'Qwen3', params: '8B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3-8B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'q4_k_m', 'q8_0', 'fp16'], }, { id: 'qwen3-coder-next', name: 'Qwen3-Coder-Next', family: 'Qwen3-Next', params: '80B', architecture: 'moe', activeParams: '3B', sourceUrl: 'https://huggingface.co/Qwen/Qwen3-Coder-Next', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'q4_k_m', 'q8_0'], }, { - id: 'gemma-4-12b', name: 'Gemma 4 12B IT', family: 'Gemma 4', params: '12B', architecture: 'dense', - sourceUrl: 'https://huggingface.co/google/gemma-4-12B-it', logoUrl: '/logos/models/gemma.svg', brandColor: '#6dc799', quants: ['int4', 'q4_k_m', 'q8_0'], + id: 'qwen3-next-80b-a3b', name: 'Qwen3-Next-80B-A3B-Instruct', family: 'Qwen3-Next', params: '80B', architecture: 'moe', activeParams: '3B', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Instruct', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'q4_k_m', 'q8_0'], }, { - id: 'gemma-4-26b-a4b', name: 'Gemma 4 26B A4B IT', family: 'Gemma 4', params: '26B', architecture: 'moe', activeParams: '4B', - sourceUrl: 'https://huggingface.co/google/gemma-4-26B-A4B-it', logoUrl: '/logos/models/gemma.svg', brandColor: '#6dc799', quants: ['int4', 'q4_0', 'q4_k_m', 'q8_0'], + id: 'qwen3-5-0-8b', name: 'Qwen3.5-0.8B', family: 'Qwen3.5', params: '0.8B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.5-0.8B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'q4_k_m', 'q8_0', 'fp16'], }, { - id: 'gpt-oss-20b', name: 'gpt-oss-20b', family: 'gpt-oss', params: '21B', architecture: 'moe', activeParams: '3.6B', - sourceUrl: 'https://huggingface.co/openai/gpt-oss-20b', brandColor: '#a3b8cf', quants: ['mxfp4', 'int4', 'q4_k_m', 'q8_0'], + id: 'qwen3-5-122b-a10b', name: 'Qwen3.5-122B-A10B', family: 'Qwen3.5', params: '122B', architecture: 'moe', activeParams: '10B', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.5-122B-A10B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['gptq-4bit', 'q4_k_m', 'q8_0'], }, { - id: 'mistral-small-3-2-24b', name: 'Mistral Small 3.2 24B Instruct', family: 'Mistral Small 3.2', params: '24B', architecture: 'dense', - sourceUrl: 'https://huggingface.co/mistralai/Mistral-Small-3.2-24B-Instruct-2506', brandColor: '#eba36d', quants: ['int4', 'q4_k_m', 'q8_0'], + id: 'qwen3-5-27b', name: 'Qwen3.5-27B', family: 'Qwen3.5', params: '27B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.5-27B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'awq-4bit', 'q4_k_m', 'q8_0'], }, { - id: 'granite-4-2-8b', name: 'Granite 4.2 8B', family: 'Granite 4.2', params: '8B', architecture: 'dense', - sourceUrl: 'https://huggingface.co/ibm-granite/granite-4.2-8b', brandColor: '#8fa8d8', quants: ['int4', 'q4_k_m', 'q8_0', 'fp16'], + id: 'qwen3-5-2b', name: 'Qwen3.5-2B', family: 'Qwen3.5', params: '2B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.5-2B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'q4_k_m', 'q8_0', 'fp16'], }, { - id: 'granite-4-2-30b', name: 'Granite 4.2 30B', family: 'Granite 4.2', params: '30B', architecture: 'dense', - sourceUrl: 'https://huggingface.co/ibm-granite/granite-4.2-30b', brandColor: '#8fa8d8', quants: ['int4', 'q4_k_m', 'q8_0'], + id: 'qwen3-5-35b-a3b', name: 'Qwen3.5-35B-A3B', family: 'Qwen3.5', params: '35B', architecture: 'moe', activeParams: '3B', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.5-35B-A3B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'gptq-4bit', 'q4_k_m', 'q8_0'], }, { - id: 'nemotron-3-5-lightning-30b-a3b', name: 'Nemotron 3.5 Lightning 30B A3B', family: 'Nemotron 3.5', params: '30B', architecture: 'moe', activeParams: '3B', - sourceUrl: 'https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16', brandColor: '#8fc25c', quants: ['q4_k_m', 'q8_0', 'bf16'], + id: 'qwen3-5-397b-a17b', name: 'Qwen3.5-397B-A17B', family: 'Qwen3.5', params: '397B', architecture: 'moe', activeParams: '17B', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.5-397B-A17B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['gptq-4bit', 'q4_k_m'], }, { - id: 'lfm2-5-2-6b', name: 'LFM2.5-2.6B', family: 'LFM2.5', params: '2.6B', architecture: 'dense', - sourceUrl: 'https://huggingface.co/LiquidAI/LFM2.5-2.6B', brandColor: '#6fc3d6', quants: ['int4', 'int8', 'q4_k_m', 'q8_0', 'fp16'], + id: 'qwen3-5-4b', name: 'Qwen3.5-4B', family: 'Qwen3.5', params: '4B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.5-4B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'awq-4bit', 'q4_k_m', 'q8_0', 'fp16'], }, { - id: 'lfm2-5-8b-a1b', name: 'LFM2.5-8B-A1B', family: 'LFM2.5', params: '8B', architecture: 'moe', activeParams: '1B', - sourceUrl: 'https://huggingface.co/LiquidAI/LFM2.5-8B-A1B', brandColor: '#6fc3d6', quants: ['int4', 'q4_k_m', 'q8_0'], + id: 'qwen3-5-9b', name: 'Qwen3.5-9B', family: 'Qwen3.5', params: '9B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.5-9B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'awq-4bit', 'q4_k_m', 'q8_0'], }, { - id: 'minicpm5-2b', name: 'MiniCPM5-2B', family: 'MiniCPM5', params: '2.5B', architecture: 'dense', - sourceUrl: 'https://huggingface.co/openbmb/MiniCPM5-2B', brandColor: '#e5a3c2', quants: ['int4', 'q4_k_m', 'q8_0', 'fp16'], + id: 'qwen3-6-27b', name: 'Qwen3.6-27B', family: 'Qwen3.6', params: '27B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.6-27B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'awq-4bit', 'q4_k_m', 'q8_0'], }, { - id: 'glm-5-3-flash', name: 'GLM-5.3-Flash', family: 'GLM-5.3', params: '320B', architecture: 'moe', activeParams: '18B', - sourceUrl: 'https://huggingface.co/zai-org/GLM-5.3-Flash', brandColor: '#7fa9d9', quants: ['int4', 'q4_k_m'], + id: 'qwen3-6-35b-a3b', name: 'Qwen3.6-35B-A3B', family: 'Qwen3.6', params: '35B', architecture: 'moe', activeParams: '3B', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.6-35B-A3B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'q4_k_m', 'q8_0'], + }, + { + id: 'qwen3-8-2-4t-a95b', name: 'Qwen3.8-2.4T-A95B', family: 'Qwen3.8', params: '2.4T', architecture: 'moe', activeParams: '95B', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['fp8', 'q4_k_m'], + }, + { + id: 'qwen3-8-27b', name: 'Qwen3.8-27B', family: 'Qwen3.8', params: '27B', architecture: 'dense', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.8-27B', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['int4', 'int8', 'q4_k_m', 'q8_0'], + }, + { + id: 'qwen3-8-flash-next', name: 'Qwen3.8-Flash-Next', family: 'Qwen3.8', params: '125B', architecture: 'moe', activeParams: '6B', + sourceUrl: 'https://huggingface.co/Qwen/Qwen3.8-Flash-Next', logoUrl: '/logos/models/qwen.svg', brandColor: '#b699eb', quants: ['fp8', 'q4_k_m', 'q8_0'], }, ] From fdd00a114254907b3ccc6d807d1e140d0140d269 Mon Sep 17 00:00:00 2001 From: Jack Smith Date: Wed, 16 Sep 2026 21:20:46 +0400 Subject: [PATCH 3/4] Limit homepage model filter to featured models --- frontend/src/pages/Home.tsx | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/frontend/src/pages/Home.tsx b/frontend/src/pages/Home.tsx index 3c399d6..5619f6b 100644 --- a/frontend/src/pages/Home.tsx +++ b/frontend/src/pages/Home.tsx @@ -2,6 +2,7 @@ import { useState } from 'react' import { Link } from 'react-router-dom' import { ChevronRight, Plus } from 'lucide-react' import { Button } from '@/components/ui/button' +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select' import { Skeleton } from '@/components/ui/skeleton' import { GitHubMark } from '@/components/GitHubMark' import { LeaderboardTable } from '@/components/LeaderboardTable' @@ -24,6 +25,9 @@ import { cn } from '@/lib/utils' const quietLink = 'font-normal text-muted-foreground hover:text-foreground' +// Keep a small, curated mix of local models up front as the catalog grows. +const FEATURED_MODEL_IDS = ['qwen3-5-9b', 'gemma-4-12b', 'gpt-oss-20b', 'qwen3-6-35b-a3b'] + export default function Home() { usePageTitle(PAGE_SEO.home.title, PAGE_SEO.home.description, PAGE_SEO.home.brandFirst) // Launch week. Flips to the ordinary page in place at zero. @@ -32,6 +36,14 @@ export default function Home() { const { user, requestSignIn } = useSession() const [model, setModel] = useState('') const top = useAsync(() => api.topResults({ model: model || undefined, limit: 10 }), [model]) + const models = cat.data?.models ?? [] + const featuredModels = [ + ...FEATURED_MODEL_IDS.flatMap((id) => models.filter((m) => m.id === id)), + ...models.filter((m) => !FEATURED_MODEL_IDS.includes(m.id)), + ].slice(0, 4) + const moreModels = models.filter((m) => !featuredModels.some((featured) => featured.id === m.id)) + const moreModelItems = moreModels.map((m) => ({ value: m.id, label: m.name })) + const selectedMoreModel = moreModels.some((m) => m.id === model) ? model : null // Six parts across the kinds for the catalog section, so it shows the breadth of the database rather than the first six CPUs. const parts = useAsync(async () => { const [gpu, cpu, igpu, npu] = await Promise.all([ @@ -87,8 +99,18 @@ export default function Home() { className="-ml-3" value={model} onChange={setModel} - items={[{ value: '', label: 'All models' }, ...(cat.data?.models ?? []).map((m) => ({ value: m.id, label: m.name }))]} + items={[{ value: '', label: 'All models' }, ...featuredModels.map((m) => ({ value: m.id, label: m.name }))]} /> + {moreModels.length > 0 ? ( + + ) : null} Best entry per rig or part, model, and quant ยท decode tok/s {top.data && cat.data ? ( From c0386782a4856cb6ccafb490e06f3a7115085fc2 Mon Sep 17 00:00:00 2001 From: Jack Smith Date: Wed, 16 Sep 2026 21:30:35 +0400 Subject: [PATCH 4/4] database: seed expanded catalog --- .../20260916160000_seed_catalog.sql | 225 ++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 supabase/migrations/20260916160000_seed_catalog.sql diff --git a/supabase/migrations/20260916160000_seed_catalog.sql b/supabase/migrations/20260916160000_seed_catalog.sql new file mode 100644 index 0000000..ea25db6 --- /dev/null +++ b/supabase/migrations/20260916160000_seed_catalog.sql @@ -0,0 +1,225 @@ +begin; + +insert into public.quants (id, label, bits, format) values + ('int4', 'INT4', 4, 'OpenVINO and IPEX weight-only, used by Cascadia and Intel runtimes'), + ('int8', 'INT8', 8, 'OpenVINO / IPEX weight-only'), + ('fp8', 'FP8', 8, 'FP8 e4m3'), + ('fp16', 'FP16', 16, 'Half precision, the unquantized weights'), + ('bf16', 'BF16', 16, 'Brain float'), + ('q4_k_m', 'Q4_K_M', 4, 'GGUF, used by llama.cpp and Ollama'), + ('q4_0', 'Q4_0', 4, 'GGUF'), + ('q5_k_m', 'Q5_K_M', 5, 'GGUF'), + ('q6_k', 'Q6_K', 6, 'GGUF'), + ('q8_0', 'Q8_0', 8, 'GGUF, used by llama.cpp and Ollama'), + ('awq-4bit', 'AWQ 4-bit', 4, 'AWQ'), + ('gptq-4bit', 'GPTQ 4-bit', 4, 'GPTQ'), + ('nf4', 'NF4', 4, 'bitsandbytes'), + ('mxfp4', 'MXFP4', 4, 'Microscaling FP4') +on conflict (id) do update set label = excluded.label, bits = excluded.bits, format = excluded.format; + +insert into public.models (id, name, family, params, architecture, active_params, source_url, logo_url, brand_color) values + ('gemma-3-12b', 'Gemma 3 12B IT', 'Gemma 3', '12B', 'dense', null, 'https://huggingface.co/google/gemma-3-12b-it', '/logos/models/gemma.svg', '#6dc799'), + ('gemma-4-12b', 'Gemma 4 12B IT', 'Gemma 4', '12B', 'dense', null, 'https://huggingface.co/google/gemma-4-12B-it', '/logos/models/gemma.svg', '#6dc799'), + ('gemma-4-26b-a4b', 'Gemma 4 26B A4B IT', 'Gemma 4', '26B', 'moe', '4B', 'https://huggingface.co/google/gemma-4-26B-A4B-it', '/logos/models/gemma.svg', '#6dc799'), + ('glm-5-3-flash', 'GLM-5.3-Flash', 'GLM-5.3', '320B', 'moe', '18B', 'https://huggingface.co/zai-org/GLM-5.3-Flash', null, '#7fa9d9'), + ('gpt-oss-20b', 'gpt-oss-20b', 'gpt-oss', '21B', 'moe', '3.6B', 'https://huggingface.co/openai/gpt-oss-20b', null, '#a3b8cf'), + ('granite-4-2-30b', 'Granite 4.2 30B', 'Granite 4.2', '30B', 'dense', null, 'https://huggingface.co/ibm-granite/granite-4.2-30b', null, '#8fa8d8'), + ('granite-4-2-8b', 'Granite 4.2 8B', 'Granite 4.2', '8B', 'dense', null, 'https://huggingface.co/ibm-granite/granite-4.2-8b', null, '#8fa8d8'), + ('lfm2-5-2-6b', 'LFM2.5-2.6B', 'LFM2.5', '2.6B', 'dense', null, 'https://huggingface.co/LiquidAI/LFM2.5-2.6B', null, '#6fc3d6'), + ('lfm2-5-8b-a1b', 'LFM2.5-8B-A1B', 'LFM2.5', '8B', 'moe', '1B', 'https://huggingface.co/LiquidAI/LFM2.5-8B-A1B', null, '#6fc3d6'), + ('llama-3-1-8b', 'Llama 3.1 8B Instruct', 'Llama 3.1', '8B', 'dense', null, 'https://huggingface.co/meta-llama/Llama-3.1-8B-Instruct', '/logos/models/llama.svg', '#73b0ee'), + ('minicpm5-2b', 'MiniCPM5-2B', 'MiniCPM5', '2.5B', 'dense', null, 'https://huggingface.co/openbmb/MiniCPM5-2B', null, '#e5a3c2'), + ('mistral-small-3-2-24b', 'Mistral Small 3.2 24B Instruct', 'Mistral Small 3.2', '24B', 'dense', null, 'https://huggingface.co/mistralai/Mistral-Small-3.2-24B-Instruct-2506', null, '#eba36d'), + ('nemotron-3-5-lightning-30b-a3b', 'Nemotron 3.5 Lightning 30B A3B', 'Nemotron 3.5', '30B', 'moe', '3B', 'https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16', null, '#8fc25c'), + ('qwen3-30b-a3b', 'Qwen3-30B-A3B', 'Qwen3', '30B', 'moe', '3B', 'https://huggingface.co/Qwen/Qwen3-30B-A3B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-4b-instruct-2507', 'Qwen3-4B-Instruct-2507', 'Qwen3', '4B', 'dense', null, 'https://huggingface.co/Qwen/Qwen3-4B-Instruct-2507', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-8b', 'Qwen3-8B', 'Qwen3', '8B', 'dense', null, 'https://huggingface.co/Qwen/Qwen3-8B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-coder-next', 'Qwen3-Coder-Next', 'Qwen3-Next', '80B', 'moe', '3B', 'https://huggingface.co/Qwen/Qwen3-Coder-Next', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-next-80b-a3b', 'Qwen3-Next-80B-A3B-Instruct', 'Qwen3-Next', '80B', 'moe', '3B', 'https://huggingface.co/Qwen/Qwen3-Next-80B-A3B-Instruct', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-5-0-8b', 'Qwen3.5-0.8B', 'Qwen3.5', '0.8B', 'dense', null, 'https://huggingface.co/Qwen/Qwen3.5-0.8B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-5-122b-a10b', 'Qwen3.5-122B-A10B', 'Qwen3.5', '122B', 'moe', '10B', 'https://huggingface.co/Qwen/Qwen3.5-122B-A10B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-5-27b', 'Qwen3.5-27B', 'Qwen3.5', '27B', 'dense', null, 'https://huggingface.co/Qwen/Qwen3.5-27B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-5-2b', 'Qwen3.5-2B', 'Qwen3.5', '2B', 'dense', null, 'https://huggingface.co/Qwen/Qwen3.5-2B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-5-35b-a3b', 'Qwen3.5-35B-A3B', 'Qwen3.5', '35B', 'moe', '3B', 'https://huggingface.co/Qwen/Qwen3.5-35B-A3B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-5-397b-a17b', 'Qwen3.5-397B-A17B', 'Qwen3.5', '397B', 'moe', '17B', 'https://huggingface.co/Qwen/Qwen3.5-397B-A17B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-5-4b', 'Qwen3.5-4B', 'Qwen3.5', '4B', 'dense', null, 'https://huggingface.co/Qwen/Qwen3.5-4B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-5-9b', 'Qwen3.5-9B', 'Qwen3.5', '9B', 'dense', null, 'https://huggingface.co/Qwen/Qwen3.5-9B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-6-27b', 'Qwen3.6-27B', 'Qwen3.6', '27B', 'dense', null, 'https://huggingface.co/Qwen/Qwen3.6-27B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-6-35b-a3b', 'Qwen3.6-35B-A3B', 'Qwen3.6', '35B', 'moe', '3B', 'https://huggingface.co/Qwen/Qwen3.6-35B-A3B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-8-2-4t-a95b', 'Qwen3.8-2.4T-A95B', 'Qwen3.8', '2.4T', 'moe', '95B', 'https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-8-27b', 'Qwen3.8-27B', 'Qwen3.8', '27B', 'dense', null, 'https://huggingface.co/Qwen/Qwen3.8-27B', '/logos/models/qwen.svg', '#b699eb'), + ('qwen3-8-flash-next', 'Qwen3.8-Flash-Next', 'Qwen3.8', '125B', 'moe', '6B', 'https://huggingface.co/Qwen/Qwen3.8-Flash-Next', '/logos/models/qwen.svg', '#b699eb') +on conflict (id) do update set name = excluded.name, family = excluded.family, params = excluded.params, architecture = excluded.architecture, active_params = excluded.active_params, source_url = excluded.source_url, logo_url = excluded.logo_url, brand_color = excluded.brand_color; + +insert into public.model_quants (model_id, quant_id) values + ('gemma-3-12b', 'int4'), + ('gemma-3-12b', 'q4_k_m'), + ('gemma-3-12b', 'q8_0'), + ('gemma-4-12b', 'int4'), + ('gemma-4-12b', 'q4_k_m'), + ('gemma-4-12b', 'q8_0'), + ('gemma-4-26b-a4b', 'int4'), + ('gemma-4-26b-a4b', 'q4_0'), + ('gemma-4-26b-a4b', 'q4_k_m'), + ('gemma-4-26b-a4b', 'q8_0'), + ('glm-5-3-flash', 'int4'), + ('glm-5-3-flash', 'q4_k_m'), + ('gpt-oss-20b', 'mxfp4'), + ('gpt-oss-20b', 'int4'), + ('gpt-oss-20b', 'q4_k_m'), + ('gpt-oss-20b', 'q8_0'), + ('granite-4-2-30b', 'int4'), + ('granite-4-2-30b', 'q4_k_m'), + ('granite-4-2-30b', 'q8_0'), + ('granite-4-2-8b', 'int4'), + ('granite-4-2-8b', 'q4_k_m'), + ('granite-4-2-8b', 'q8_0'), + ('granite-4-2-8b', 'fp16'), + ('lfm2-5-2-6b', 'int4'), + ('lfm2-5-2-6b', 'int8'), + ('lfm2-5-2-6b', 'q4_k_m'), + ('lfm2-5-2-6b', 'q8_0'), + ('lfm2-5-2-6b', 'fp16'), + ('lfm2-5-8b-a1b', 'int4'), + ('lfm2-5-8b-a1b', 'q4_k_m'), + ('lfm2-5-8b-a1b', 'q8_0'), + ('llama-3-1-8b', 'int4'), + ('llama-3-1-8b', 'q4_k_m'), + ('llama-3-1-8b', 'q8_0'), + ('llama-3-1-8b', 'fp16'), + ('minicpm5-2b', 'int4'), + ('minicpm5-2b', 'q4_k_m'), + ('minicpm5-2b', 'q8_0'), + ('minicpm5-2b', 'fp16'), + ('mistral-small-3-2-24b', 'int4'), + ('mistral-small-3-2-24b', 'q4_k_m'), + ('mistral-small-3-2-24b', 'q8_0'), + ('nemotron-3-5-lightning-30b-a3b', 'q4_k_m'), + ('nemotron-3-5-lightning-30b-a3b', 'q8_0'), + ('nemotron-3-5-lightning-30b-a3b', 'bf16'), + ('qwen3-30b-a3b', 'int4'), + ('qwen3-30b-a3b', 'q4_k_m'), + ('qwen3-30b-a3b', 'q8_0'), + ('qwen3-4b-instruct-2507', 'int4'), + ('qwen3-4b-instruct-2507', 'int8'), + ('qwen3-4b-instruct-2507', 'q4_k_m'), + ('qwen3-4b-instruct-2507', 'q8_0'), + ('qwen3-4b-instruct-2507', 'fp16'), + ('qwen3-8b', 'int4'), + ('qwen3-8b', 'q4_k_m'), + ('qwen3-8b', 'q8_0'), + ('qwen3-8b', 'fp16'), + ('qwen3-coder-next', 'int4'), + ('qwen3-coder-next', 'q4_k_m'), + ('qwen3-coder-next', 'q8_0'), + ('qwen3-next-80b-a3b', 'int4'), + ('qwen3-next-80b-a3b', 'q4_k_m'), + ('qwen3-next-80b-a3b', 'q8_0'), + ('qwen3-5-0-8b', 'int4'), + ('qwen3-5-0-8b', 'q4_k_m'), + ('qwen3-5-0-8b', 'q8_0'), + ('qwen3-5-0-8b', 'fp16'), + ('qwen3-5-122b-a10b', 'gptq-4bit'), + ('qwen3-5-122b-a10b', 'q4_k_m'), + ('qwen3-5-122b-a10b', 'q8_0'), + ('qwen3-5-27b', 'int4'), + ('qwen3-5-27b', 'awq-4bit'), + ('qwen3-5-27b', 'q4_k_m'), + ('qwen3-5-27b', 'q8_0'), + ('qwen3-5-2b', 'int4'), + ('qwen3-5-2b', 'q4_k_m'), + ('qwen3-5-2b', 'q8_0'), + ('qwen3-5-2b', 'fp16'), + ('qwen3-5-35b-a3b', 'int4'), + ('qwen3-5-35b-a3b', 'gptq-4bit'), + ('qwen3-5-35b-a3b', 'q4_k_m'), + ('qwen3-5-35b-a3b', 'q8_0'), + ('qwen3-5-397b-a17b', 'gptq-4bit'), + ('qwen3-5-397b-a17b', 'q4_k_m'), + ('qwen3-5-4b', 'int4'), + ('qwen3-5-4b', 'awq-4bit'), + ('qwen3-5-4b', 'q4_k_m'), + ('qwen3-5-4b', 'q8_0'), + ('qwen3-5-4b', 'fp16'), + ('qwen3-5-9b', 'int4'), + ('qwen3-5-9b', 'awq-4bit'), + ('qwen3-5-9b', 'q4_k_m'), + ('qwen3-5-9b', 'q8_0'), + ('qwen3-6-27b', 'int4'), + ('qwen3-6-27b', 'awq-4bit'), + ('qwen3-6-27b', 'q4_k_m'), + ('qwen3-6-27b', 'q8_0'), + ('qwen3-6-35b-a3b', 'int4'), + ('qwen3-6-35b-a3b', 'q4_k_m'), + ('qwen3-6-35b-a3b', 'q8_0'), + ('qwen3-8-2-4t-a95b', 'fp8'), + ('qwen3-8-2-4t-a95b', 'q4_k_m'), + ('qwen3-8-27b', 'int4'), + ('qwen3-8-27b', 'int8'), + ('qwen3-8-27b', 'q4_k_m'), + ('qwen3-8-27b', 'q8_0'), + ('qwen3-8-flash-next', 'fp8'), + ('qwen3-8-flash-next', 'q4_k_m'), + ('qwen3-8-flash-next', 'q8_0') +on conflict (model_id, quant_id) do nothing; + +insert into public.runtimes (id, name, logo_url, repo_url, color) values + ('cascadia', 'Cascadia', '/logos/runtimes/cascadia.svg', 'https://github.com/labscommunity/cascadia', '#e89960'), + ('pytorch', 'PyTorch', '', 'https://github.com/pytorch/pytorch', '#df8db5'), + ('vllm', 'vLLM', '', 'https://github.com/vllm-project/vllm', '#dac46d'), + ('llamacpp', 'llama.cpp', '', 'https://github.com/ggml-org/llama.cpp', '#9ec773'), + ('ollama', 'Ollama', '', 'https://github.com/ollama/ollama', '#b4b7bf'), + ('openvino-genai', 'OpenVINO GenAI', '', 'https://github.com/openvinotoolkit/openvino.genai', '#6ab8e4'), + ('ipex-llm', 'IPEX-LLM', '', 'https://github.com/intel/ipex-llm', '#64c6ad') +on conflict (id) do update set name = excluded.name, logo_url = excluded.logo_url, repo_url = excluded.repo_url, color = excluded.color; + +insert into public.hardware (id, type, vendor, name, series, specs, release_date, image_url, source, integrated) values + ('intel-core-ultra-9-285k', 'cpu', 'Intel', 'Core Ultra 9 285K', 'Core Ultra 200S', '{"cores":24,"threads":24,"boostGhz":5.7,"tdpW":125,"platform":"Arrow Lake-S"}'::jsonb, '2024-10-24'::date, null, 'seeded', array['intel-graphics-arrow-lake-s', 'intel-ai-boost-arrow-lake']::text[]), + ('intel-core-ultra-7-265k', 'cpu', 'Intel', 'Core Ultra 7 265K', 'Core Ultra 200S', '{"cores":20,"threads":20,"boostGhz":5.5,"tdpW":125,"platform":"Arrow Lake-S"}'::jsonb, '2024-10-24'::date, null, 'seeded', array['intel-graphics-arrow-lake-s', 'intel-ai-boost-arrow-lake']::text[]), + ('intel-core-ultra-5-245k', 'cpu', 'Intel', 'Core Ultra 5 245K', 'Core Ultra 200S', '{"cores":14,"threads":14,"boostGhz":5.2,"tdpW":125,"platform":"Arrow Lake-S"}'::jsonb, '2024-10-24'::date, null, 'seeded', array['intel-graphics-arrow-lake-s', 'intel-ai-boost-arrow-lake']::text[]), + ('intel-core-ultra-9-288v', 'cpu', 'Intel', 'Core Ultra 9 288V', 'Core Ultra 200V', '{"cores":8,"threads":8,"boostGhz":5.1,"tdpW":30,"platform":"Lunar Lake"}'::jsonb, '2024-09-24'::date, null, 'seeded', array['intel-arc-140v', 'intel-ai-boost-npu-4']::text[]), + ('intel-core-ultra-7-258v', 'cpu', 'Intel', 'Core Ultra 7 258V', 'Core Ultra 200V', '{"cores":8,"threads":8,"boostGhz":4.8,"tdpW":17,"platform":"Lunar Lake"}'::jsonb, '2024-09-24'::date, null, 'seeded', array['intel-arc-140v', 'intel-ai-boost-npu-4']::text[]), + ('intel-core-ultra-7-155h', 'cpu', 'Intel', 'Core Ultra 7 155H', 'Core Ultra 100H', '{"cores":16,"threads":22,"boostGhz":4.8,"tdpW":28,"platform":"Meteor Lake"}'::jsonb, '2023-12-14'::date, null, 'seeded', array['intel-arc-graphics-meteor-lake', 'intel-ai-boost-npu-3']::text[]), + ('intel-core-ultra-x7-358h', 'cpu', 'Intel', 'Core Ultra X7 358H', 'Core Ultra 300', '{"cores":16,"threads":16,"boostGhz":4.8,"tdpW":25,"platform":"Panther Lake"}'::jsonb, '2026-01-05'::date, null, 'seeded', array['intel-arc-b390', 'intel-ai-boost-npu-5']::text[]), + ('intel-core-i9-14900k', 'cpu', 'Intel', 'Core i9-14900K', 'Core 14th Gen', '{"cores":24,"threads":32,"boostGhz":6,"tdpW":125,"platform":"Raptor Lake Refresh"}'::jsonb, '2023-10-17'::date, null, 'seeded', array['intel-uhd-770']::text[]), + ('intel-core-i7-14700k', 'cpu', 'Intel', 'Core i7-14700K', 'Core 14th Gen', '{"cores":20,"threads":28,"boostGhz":5.6,"tdpW":125,"platform":"Raptor Lake Refresh"}'::jsonb, '2023-10-17'::date, null, 'seeded', array['intel-uhd-770']::text[]), + ('intel-xeon-w7-3465x', 'cpu', 'Intel', 'Xeon w7-3465X', 'Xeon W-3400', '{"cores":28,"threads":56,"boostGhz":4.8,"tdpW":300,"platform":"Sapphire Rapids"}'::jsonb, '2023-02-15'::date, null, 'seeded', '{}'::text[]), + ('intel-xeon-6-6960p', 'cpu', 'Intel', 'Xeon 6 6960P', 'Xeon 6', '{"cores":72,"threads":144,"boostGhz":3.9,"tdpW":500,"platform":"Granite Rapids"}'::jsonb, '2024-09-24'::date, null, 'seeded', '{}'::text[]), + ('amd-ryzen-9-9950x', 'cpu', 'AMD', 'Ryzen 9 9950X', 'Ryzen 9000', '{"cores":16,"threads":32,"boostGhz":5.7,"tdpW":170,"platform":"Zen 5"}'::jsonb, '2024-08-15'::date, null, 'seeded', '{}'::text[]), + ('amd-ryzen-7-9800x3d', 'cpu', 'AMD', 'Ryzen 7 9800X3D', 'Ryzen 9000', '{"cores":8,"threads":16,"boostGhz":5.2,"tdpW":120,"platform":"Zen 5"}'::jsonb, '2024-11-07'::date, null, 'seeded', '{}'::text[]), + ('apple-m4-max', 'cpu', 'Apple', 'M4 Max (16-core)', 'M4', '{"cores":16,"threads":16,"boostGhz":4.5,"tdpW":90,"platform":"Apple silicon"}'::jsonb, '2024-10-30'::date, null, 'seeded', array['apple-m4-max-gpu-40c']::text[]), + ('intel-arc-pro-b70', 'gpu', 'Intel', 'Arc Pro B70', 'Arc Pro B', '{"vramGb":32,"memoryType":"GDDR6","xeCores":32,"tdpW":240}'::jsonb, '2026-03-10'::date, null, 'seeded', '{}'::text[]), + ('intel-arc-pro-b60', 'gpu', 'Intel', 'Arc Pro B60', 'Arc Pro B', '{"vramGb":24,"memoryType":"GDDR6","xeCores":20,"tdpW":200}'::jsonb, '2025-05-19'::date, null, 'seeded', '{}'::text[]), + ('intel-arc-pro-b50', 'gpu', 'Intel', 'Arc Pro B50', 'Arc Pro B', '{"vramGb":16,"memoryType":"GDDR6","xeCores":16,"tdpW":70}'::jsonb, '2025-05-19'::date, null, 'seeded', '{}'::text[]), + ('intel-arc-b580', 'gpu', 'Intel', 'Arc B580', 'Arc B', '{"vramGb":12,"memoryType":"GDDR6","xeCores":20,"tdpW":190}'::jsonb, '2024-12-13'::date, null, 'seeded', '{}'::text[]), + ('intel-arc-b570', 'gpu', 'Intel', 'Arc B570', 'Arc B', '{"vramGb":10,"memoryType":"GDDR6","xeCores":18,"tdpW":150}'::jsonb, '2025-01-16'::date, null, 'seeded', '{}'::text[]), + ('intel-arc-a770-16gb', 'gpu', 'Intel', 'Arc A770 16GB', 'Arc A', '{"vramGb":16,"memoryType":"GDDR6","xeCores":32,"tdpW":225}'::jsonb, '2022-10-12'::date, null, 'seeded', '{}'::text[]), + ('intel-arc-a750', 'gpu', 'Intel', 'Arc A750', 'Arc A', '{"vramGb":8,"memoryType":"GDDR6","xeCores":28,"tdpW":225}'::jsonb, '2022-10-12'::date, null, 'seeded', '{}'::text[]), + ('intel-gaudi-3', 'gpu', 'Intel', 'Gaudi 3', 'Gaudi', '{"vramGb":128,"memoryType":"HBM2e","tdpW":900}'::jsonb, '2024-04-09'::date, null, 'seeded', '{}'::text[]), + ('nvidia-geforce-rtx-5090', 'gpu', 'NVIDIA', 'GeForce RTX 5090', 'GeForce 50', '{"vramGb":32,"memoryType":"GDDR7","tdpW":575}'::jsonb, '2025-01-30'::date, null, 'seeded', '{}'::text[]), + ('nvidia-geforce-rtx-4090', 'gpu', 'NVIDIA', 'GeForce RTX 4090', 'GeForce 40', '{"vramGb":24,"memoryType":"GDDR6X","tdpW":450}'::jsonb, '2022-10-12'::date, null, 'seeded', '{}'::text[]), + ('nvidia-geforce-rtx-3090', 'gpu', 'NVIDIA', 'GeForce RTX 3090', 'GeForce 30', '{"vramGb":24,"memoryType":"GDDR6X","tdpW":350}'::jsonb, '2020-09-24'::date, null, 'seeded', '{}'::text[]), + ('nvidia-rtx-pro-6000-blackwell', 'gpu', 'NVIDIA', 'RTX PRO 6000 Blackwell', 'RTX PRO', '{"vramGb":96,"memoryType":"GDDR7","tdpW":600}'::jsonb, '2025-03-18'::date, null, 'seeded', '{}'::text[]), + ('amd-radeon-rx-7900-xtx', 'gpu', 'AMD', 'Radeon RX 7900 XTX', 'Radeon 7000', '{"vramGb":24,"memoryType":"GDDR6","tdpW":355}'::jsonb, '2022-12-13'::date, null, 'seeded', '{}'::text[]), + ('intel-graphics-arrow-lake-s', 'igpu', 'Intel', 'Intel Graphics (Arrow Lake-S)', 'Intel Graphics', '{"xeCores":4,"platform":"Arrow Lake-S","architecture":"Xe-LPG"}'::jsonb, '2024-10-24'::date, null, 'seeded', '{}'::text[]), + ('intel-arc-140v', 'igpu', 'Intel', 'Arc 140V', 'Arc', '{"xeCores":8,"platform":"Lunar Lake","architecture":"Xe2"}'::jsonb, '2024-09-24'::date, null, 'seeded', '{}'::text[]), + ('intel-arc-140t', 'igpu', 'Intel', 'Arc 140T', 'Arc', '{"xeCores":8,"platform":"Arrow Lake-H","architecture":"Xe"}'::jsonb, '2025-01-06'::date, null, 'seeded', '{}'::text[]), + ('intel-arc-graphics-meteor-lake', 'igpu', 'Intel', 'Arc Graphics (Meteor Lake)', 'Arc', '{"xeCores":8,"platform":"Meteor Lake","architecture":"Xe-LPG"}'::jsonb, '2023-12-14'::date, null, 'seeded', '{}'::text[]), + ('intel-arc-b390', 'igpu', 'Intel', 'Arc B390', 'Arc B', '{"xeCores":12,"platform":"Panther Lake","architecture":"Xe3"}'::jsonb, '2026-01-05'::date, null, 'seeded', '{}'::text[]), + ('intel-uhd-770', 'igpu', 'Intel', 'UHD Graphics 770', 'UHD', '{"euCount":32,"platform":"Alder / Raptor Lake","architecture":"Xe-LP"}'::jsonb, '2021-11-04'::date, null, 'seeded', '{}'::text[]), + ('apple-m4-max-gpu-40c', 'igpu', 'Apple', 'M4 Max GPU (40-core)', 'M4', '{"cores":40,"platform":"Apple silicon"}'::jsonb, '2024-10-30'::date, null, 'seeded', '{}'::text[]), + ('intel-ai-boost-npu-3', 'npu', 'Intel', 'AI Boost NPU (Meteor Lake)', 'AI Boost', '{"tops":11,"platform":"Meteor Lake"}'::jsonb, '2023-12-14'::date, null, 'seeded', '{}'::text[]), + ('intel-ai-boost-npu-4', 'npu', 'Intel', 'AI Boost NPU 4 (Lunar Lake)', 'AI Boost', '{"tops":48,"platform":"Lunar Lake"}'::jsonb, '2024-09-24'::date, null, 'seeded', '{}'::text[]), + ('intel-ai-boost-npu-5', 'npu', 'Intel', 'AI Boost NPU 5 (Panther Lake)', 'AI Boost', '{"tops":50,"platform":"Panther Lake"}'::jsonb, '2026-01-05'::date, null, 'seeded', '{}'::text[]), + ('intel-ai-boost-arrow-lake', 'npu', 'Intel', 'AI Boost NPU (Arrow Lake)', 'AI Boost', '{"tops":13,"platform":"Arrow Lake"}'::jsonb, '2024-10-24'::date, null, 'seeded', '{}'::text[]), + ('ddr5-5600-32gb', 'ram', 'Generic', 'DDR5-5600 32 GB', null, '{"type":"DDR5","speedMts":5600,"capacityGb":32,"formFactor":"UDIMM"}'::jsonb, null, null, 'seeded', '{}'::text[]), + ('ddr5-6000-32gb', 'ram', 'Generic', 'DDR5-6000 32 GB', null, '{"type":"DDR5","speedMts":6000,"capacityGb":32,"formFactor":"UDIMM"}'::jsonb, null, null, 'seeded', '{}'::text[]), + ('ddr5-6400-48gb', 'ram', 'Generic', 'DDR5-6400 48 GB', null, '{"type":"DDR5","speedMts":6400,"capacityGb":48,"formFactor":"UDIMM"}'::jsonb, null, null, 'seeded', '{}'::text[]), + ('ddr5-4800-64gb-ecc', 'ram', 'Generic', 'DDR5-4800 64 GB ECC RDIMM', null, '{"type":"DDR5","speedMts":4800,"capacityGb":64,"formFactor":"RDIMM"}'::jsonb, null, null, 'seeded', '{}'::text[]), + ('ddr5-5600-16gb-sodimm', 'ram', 'Generic', 'DDR5-5600 16 GB SO-DIMM', null, '{"type":"DDR5","speedMts":5600,"capacityGb":16,"formFactor":"SO-DIMM"}'::jsonb, null, null, 'seeded', '{}'::text[]), + ('lpddr5x-8533-16gb', 'ram', 'Generic', 'LPDDR5X-8533 16 GB (on package)', null, '{"type":"LPDDR5X","speedMts":8533,"capacityGb":16,"formFactor":"On package"}'::jsonb, null, null, 'seeded', '{}'::text[]), + ('lpddr5x-8533-128gb-unified', 'ram', 'Apple', 'Unified memory 128 GB', null, '{"type":"LPDDR5X","speedMts":8533,"capacityGb":128,"formFactor":"On package"}'::jsonb, null, null, 'seeded', '{}'::text[]), + ('ddr4-3200-32gb', 'ram', 'Generic', 'DDR4-3200 32 GB', null, '{"type":"DDR4","speedMts":3200,"capacityGb":32,"formFactor":"UDIMM"}'::jsonb, null, null, 'seeded', '{}'::text[]) +on conflict (id) do update set type = excluded.type, vendor = excluded.vendor, name = excluded.name, series = excluded.series, specs = excluded.specs, release_date = excluded.release_date, image_url = excluded.image_url, source = excluded.source, integrated = excluded.integrated; + +commit;