LLMs: Mistral: update models

This commit is contained in:
Enrico Ros
2025-12-09 13:33:01 -08:00
parent f5d8d029ea
commit cb3e4cd951
@@ -11,12 +11,13 @@ const MISTRAL_DEV_SHOW_GAPS = Release.IsNodeDevBuild;
// [Mistral]
// Updated 2025-12-02
// Updated 2025-12-09
// - models on: https://docs.mistral.ai/getting-started/models/models_overview/
// - pricing on: https://mistral.ai/pricing#api-pricing
// - benchmark elo on CBA
const _knownMistralModelDetails: Record<string, {
label?: string; // override the API-provided name
chatPrice?: { input: number; output: number };
benchmark?: { cbaElo: number };
hidden?: boolean;
@@ -35,7 +36,10 @@ const _knownMistralModelDetails: Record<string, {
'magistral-medium-2509': { chatPrice: { input: 2, output: 5 } }, // reasoning
'magistral-medium-latest': { chatPrice: { input: 2, output: 5 }, hidden: true }, // symlink
'devstral-medium-2507': { chatPrice: { input: 0.4, output: 2 } }, // coding agents
'devstral-2512': { label: 'Devstral 2 (2512)', chatPrice: { input: 0.4, output: 2 } }, // Devstral 2 - 123B coding agents (API returns "Mistral Vibe Cli")
'devstral-latest': { label: 'Devstral 2 (latest)', chatPrice: { input: 0.4, output: 2 }, hidden: true }, // symlink
'mistral-vibe-cli-latest': { label: 'Devstral 2 (latest)', chatPrice: { input: 0.4, output: 2 }, hidden: true }, // alternate ID for devstral-latest
'devstral-medium-2507': { chatPrice: { input: 0.4, output: 2 }, hidden: true }, // older version
'mistral-large-pixtral-2411': { chatPrice: { input: 2, output: 6 } }, // Pixtral Large (alternate ID)
'pixtral-large-2411': { chatPrice: { input: 2, output: 6 }, hidden: true }, // symlink
@@ -69,8 +73,9 @@ const _knownMistralModelDetails: Record<string, {
'magistral-small-2509': { chatPrice: { input: 0.5, output: 1.5 } }, // reasoning
'magistral-small-latest': { chatPrice: { input: 0.5, output: 1.5 }, hidden: true }, // symlink
'devstral-small-2507': { chatPrice: { input: 0.1, output: 0.3 } }, // coding agents
'devstral-small-latest': { chatPrice: { input: 0.1, output: 0.3 }, hidden: true }, // symlink
'devstral-small-2512': { label: 'Devstral Small 2 (2512)', chatPrice: { input: 0.1, output: 0.3 } }, // Devstral Small 2 - 24B coding agents
'devstral-small-2507': { chatPrice: { input: 0.1, output: 0.3 }, hidden: true }, // older version
'devstral-small-latest': { label: 'Devstral Small 2 (latest)', chatPrice: { input: 0.1, output: 0.3 }, hidden: true }, // symlink
'pixtral-12b-2409': { chatPrice: { input: 0.15, output: 0.15 } }, // vision
'pixtral-12b-latest': { chatPrice: { input: 0.15, output: 0.15 }, hidden: true }, // symlink
@@ -93,6 +98,8 @@ const mistralModelFamilyOrder = [
// Premier
'magistral-medium',
'mistral-medium',
'devstral-2512', // Devstral 2 - must come before generic 'devstral'
'mistral-vibe-cli', // alternate ID for Devstral 2
'devstral-medium',
'mistral-large-pixtral', // Pixtral Large uses 'mistral-large-pixtral-2411' ID - must come before 'mistral-large'
'pixtral-large',
@@ -100,6 +107,7 @@ const mistralModelFamilyOrder = [
'codestral',
'magistral-small',
'mistral-small',
'devstral-small-2512', // Devstral Small 2 - must come before generic 'devstral-small'
'devstral-small',
'voxtral-small',
'voxtral-mini',
@@ -210,10 +218,11 @@ export function mistralModels(wireModels: unknown): ModelDescriptionSchema[] {
const prettyName = _prettyMistralName(name);
const extraDetails = _knownMistralModelDetails[id] || {};
const labelOverride = extraDetails.label;
return {
id: id,
label: !isSymlink ? prettyName : `🔗 ${id}${prettyName}`,
label: labelOverride ?? (!isSymlink ? prettyName : `🔗 ${id}${prettyName}`),
created: created || 0,
updated: /*updated ||*/ created || 0,
description: description,