diff --git a/src/proxy/middleware/request/preprocessors/validate-context-size.ts b/src/proxy/middleware/request/preprocessors/validate-context-size.ts index 33fc6ca..0d49760 100644 --- a/src/proxy/middleware/request/preprocessors/validate-context-size.ts +++ b/src/proxy/middleware/request/preprocessors/validate-context-size.ts @@ -136,6 +136,10 @@ export const validateContextSize: RequestPreprocessor = async (req) => { } else if (model.match(/command/) || model.match(/cohere/)) { // Default for all other Cohere models modelMax = 128000; + } else if (model.match(/^magistral/)) { + modelMax = 40000; + } else if (model.match(/^magistral/)) { + modelMax = 40000; } else if (model.match(/tral/)) { // catches mistral, mixtral, codestral, mathstral, etc. mistral models have // no name convention and wildly different context windows so this is a diff --git a/src/proxy/mistral-ai.ts b/src/proxy/mistral-ai.ts index 24da87e..8e5c663 100644 --- a/src/proxy/mistral-ai.ts +++ b/src/proxy/mistral-ai.ts @@ -57,6 +57,7 @@ export const KNOWN_MISTRAL_AI_MODELS = [ "mistral-small-latest", "mistral-small-2503", // v3.1 with vision "mistral-small-2402", // older version + "magistral-small-latest", // Pixtral 12B (vision model) "pixtral-12b-latest", @@ -78,6 +79,7 @@ export const KNOWN_MISTRAL_AI_MODELS = [ "mistral-medium-latest", "mistral-medium-2312", "mistral-medium-2505", + "magistral-medium-latest", "mistral-tiny", "mistral-tiny-2312", ]; diff --git a/src/shared/models.ts b/src/shared/models.ts index f628e12..ae68c1a 100644 --- a/src/shared/models.ts +++ b/src/shared/models.ts @@ -289,14 +289,16 @@ export function getMistralAIModelFamily(model: string): MistralAIModelFamily { return "mistral-large"; // Premier models - Medium tier - case "mistral-saba": + case "mistral-medium-2505": + case "magistral-medium-latest": return "mistral-medium"; // Premier models - Small tier case "codestral": case "ministral-8b": case "mistral-embed": - case "mistral-moderation": + case "pixtral-12b-2409": + case "magistral-small-latest": return "mistral-small"; // Premier models - Tiny tier