using static AIStudio.Provider.Capability; namespace AIStudio.Models.Mistral; /// /// Magistral, the Mistral models which always think before they answer. /// public sealed class MagistralFamily : ModelFamily { /// public override ModelVendor Vendor => ModelVendor.MISTRAL_AI; /// public override ModelSource Source => new("https://docs.mistral.ai/getting-started/models/models_overview/", new DateOnly(2026, 9, 11), "Ported unchanged from the rules in ProviderExtensions.OpenSource.cs: images, tool calling, and thinking which cannot be switched off."); /// protected override void Declare(ModelFamilyBuilder builder) => builder.Rule("magistral").AsSegment() .Capabilities(TEXT_INPUT | MULTIPLE_IMAGE_INPUT | TEXT_OUTPUT | FUNCTION_CALLING) .Apis(CHAT_COMPLETION_API) .Reasoning(ReasoningSupport.ALWAYS); }