Added capabilities for Mistral and Qwen models (#719)
Some checks are pending
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage,deb,updater, appimage,deb) (push) Blocked by required conditions
Build and Release / Prepare & create release (push) Blocked by required conditions
Build and Release / Determine run mode (push) Waiting to run
Build and Release / Read metadata (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage,deb,updater, appimage,deb) (push) Blocked by required conditions
Build and Release / Publish release (push) Blocked by required conditions

Co-authored-by: Thorsten Sommer <SommerEngineering@users.noreply.github.com>
This commit is contained in:
Sabrina-devops 2026-04-15 19:03:52 +02:00 committed by GitHub
parent 446f344162
commit a02c53a8b5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 127 additions and 17 deletions

View File

@ -35,6 +35,28 @@ public static partial class ProviderExtensions
Capability.CHAT_COMPLETION_API, Capability.CHAT_COMPLETION_API,
]; ];
// Check for Qwen 3.6 plus:
if(modelName.StartsWith("qwen3.6-plus"))
return
[
Capability.TEXT_INPUT, Capability.VIDEO_INPUT,
Capability.MULTIPLE_IMAGE_INPUT,
Capability.TEXT_OUTPUT,
Capability.ALWAYS_REASONING, Capability.FUNCTION_CALLING,
Capability.CHAT_COMPLETION_API,
];
// Check for the 3.0 VL models:
if(modelName.IndexOf("-vl-") is not -1)
return
[
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
Capability.TEXT_OUTPUT,
Capability.CHAT_COMPLETION_API,
];
// Check for Qwen 3: // Check for Qwen 3:
if(modelName.StartsWith("qwen3")) if(modelName.StartsWith("qwen3"))
return return
@ -45,15 +67,6 @@ public static partial class ProviderExtensions
Capability.OPTIONAL_REASONING, Capability.FUNCTION_CALLING, Capability.OPTIONAL_REASONING, Capability.FUNCTION_CALLING,
Capability.CHAT_COMPLETION_API, Capability.CHAT_COMPLETION_API,
]; ];
if(modelName.IndexOf("-vl-") is not -1)
return
[
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
Capability.TEXT_OUTPUT,
Capability.CHAT_COMPLETION_API,
];
} }
// QwQ models: // QwQ models:

View File

@ -19,24 +19,68 @@ public static partial class ProviderExtensions
Capability.CHAT_COMPLETION_API, Capability.CHAT_COMPLETION_API,
]; ];
// Mistral large latest:
if (modelName.IndexOf("mistral-large-latest") is not -1)
return
[
Capability.TEXT_INPUT,
Capability.MULTIPLE_IMAGE_INPUT,
Capability.TEXT_OUTPUT,
Capability.OPTIONAL_REASONING,
Capability.FUNCTION_CALLING,
Capability.CHAT_COMPLETION_API,
];
// Mistral large: // Mistral large:
if (modelName.IndexOf("mistral-large-") is not -1) if (modelName.IndexOf("mistral-large-") is not -1)
return return
[ [
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT, Capability.TEXT_INPUT,
Capability.TEXT_OUTPUT, Capability.TEXT_OUTPUT,
Capability.FUNCTION_CALLING, Capability.FUNCTION_CALLING,
Capability.CHAT_COMPLETION_API, Capability.CHAT_COMPLETION_API,
]; ];
// Mistral medium latest:
if (modelName.IndexOf("mistral-medium-latest") is not -1)
return
[
Capability.TEXT_INPUT,
Capability.MULTIPLE_IMAGE_INPUT,
Capability.TEXT_OUTPUT,
Capability.OPTIONAL_REASONING,
Capability.FUNCTION_CALLING,
Capability.CHAT_COMPLETION_API,
];
// Mistral medium: // Mistral medium:
if (modelName.IndexOf("mistral-medium-") is not -1) if (modelName.IndexOf("mistral-medium-") is not -1)
return return
[ [
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT, Capability.TEXT_INPUT,
Capability.TEXT_OUTPUT, Capability.TEXT_OUTPUT,
Capability.OPTIONAL_REASONING,
Capability.FUNCTION_CALLING,
Capability.CHAT_COMPLETION_API,
];
// Mistral small latest:
if (modelName.IndexOf("mistral-small-latest") is not -1)
return
[
Capability.TEXT_INPUT,
Capability.MULTIPLE_IMAGE_INPUT,
Capability.TEXT_OUTPUT,
Capability.OPTIONAL_REASONING,
Capability.FUNCTION_CALLING, Capability.FUNCTION_CALLING,
Capability.CHAT_COMPLETION_API, Capability.CHAT_COMPLETION_API,
]; ];
@ -45,9 +89,11 @@ public static partial class ProviderExtensions
if (modelName.IndexOf("mistral-small-") is not -1) if (modelName.IndexOf("mistral-small-") is not -1)
return return
[ [
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT, Capability.TEXT_INPUT,
Capability.TEXT_OUTPUT, Capability.TEXT_OUTPUT,
Capability.OPTIONAL_REASONING,
Capability.FUNCTION_CALLING, Capability.FUNCTION_CALLING,
Capability.CHAT_COMPLETION_API, Capability.CHAT_COMPLETION_API,
]; ];

View File

@ -113,6 +113,18 @@ public static partial class ProviderExtensions
Capability.CHAT_COMPLETION_API, Capability.CHAT_COMPLETION_API,
]; ];
// Check for Qwen 3.6:
if(modelName.IndexOf("qwen3.6-plus") is not -1)
return
[
Capability.TEXT_INPUT, Capability.VIDEO_INPUT,
Capability.MULTIPLE_IMAGE_INPUT,
Capability.TEXT_OUTPUT,
Capability.ALWAYS_REASONING, Capability.FUNCTION_CALLING,
Capability.CHAT_COMPLETION_API,
];
if(modelName.IndexOf("-vl-") is not -1) if(modelName.IndexOf("-vl-") is not -1)
return [ return [
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT, Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT,
@ -150,7 +162,47 @@ public static partial class ProviderExtensions
modelName.IndexOf("mistral-large-3") is not -1) modelName.IndexOf("mistral-large-3") is not -1)
return return
[ [
Capability.TEXT_INPUT, Capability.MULTIPLE_IMAGE_INPUT, Capability.TEXT_INPUT,
Capability.MULTIPLE_IMAGE_INPUT,
Capability.TEXT_OUTPUT,
Capability.OPTIONAL_REASONING,
Capability.FUNCTION_CALLING,
Capability.CHAT_COMPLETION_API,
];
if (modelName.IndexOf("mistral-small-4") is not -1)
return
[
Capability.TEXT_INPUT,
Capability.MULTIPLE_IMAGE_INPUT,
Capability.TEXT_OUTPUT,
Capability.OPTIONAL_REASONING,
Capability.FUNCTION_CALLING,
Capability.CHAT_COMPLETION_API,
];
if (modelName.IndexOf("mistral-small-3") is not -1 ||
modelName.IndexOf("mistral-small-4") is not -1)
return
[
Capability.TEXT_INPUT,
Capability.MULTIPLE_IMAGE_INPUT,
Capability.TEXT_OUTPUT,
Capability.OPTIONAL_REASONING,
Capability.FUNCTION_CALLING,
Capability.CHAT_COMPLETION_API,
];
if (modelName.IndexOf("mistral-small-") is not -1)
return
[
Capability.TEXT_INPUT,
Capability.TEXT_OUTPUT, Capability.TEXT_OUTPUT,
Capability.FUNCTION_CALLING, Capability.FUNCTION_CALLING,

View File

@ -1,5 +1,5 @@
# v26.3.1, build 235 (2026-03-xx xx:xx UTC) # v26.3.1, build 235 (2026-03-xx xx:xx UTC)
- Added support for the new Qwen 3.5 model family. - Added support for the latest AI models, e.g., Qwen 3.5 & 3.6 Plus, Mistral Large 3 & Small 4, OpenAI GPT 5.4, etc.
- Added assistant plugins, making it possible to extend AI Studio with custom assistants. Many thanks to Nils Kruthof `nilskruthoff` for this contribution. - Added assistant plugins, making it possible to extend AI Studio with custom assistants. Many thanks to Nils Kruthof `nilskruthoff` for this contribution.
- Added a slide planner assistant, which helps you turn longer texts or documents into clear, structured presentation slides. Many thanks to Sabrina `Sabrina-devops` for her wonderful work on this assistant. - Added a slide planner assistant, which helps you turn longer texts or documents into clear, structured presentation slides. Many thanks to Sabrina `Sabrina-devops` for her wonderful work on this assistant.
- Added a reminder in chats and assistants that LLMs can make mistakes, helping you double-check important information more easily. - Added a reminder in chats and assistants that LLMs can make mistakes, helping you double-check important information more easily.
@ -8,7 +8,6 @@
- Added a start-page setting, so AI Studio can now open directly on your preferred page when the app starts. Configuration plugins can also provide and optionally lock this default for organizations. - Added a start-page setting, so AI Studio can now open directly on your preferred page when the app starts. Configuration plugins can also provide and optionally lock this default for organizations.
- Added pre-call validation to check if the selected model exists for the provider before making the request. - Added pre-call validation to check if the selected model exists for the provider before making the request.
- Added math rendering in chats for LaTeX display formulas, including block formats such as `$$ ... $$` and `\[ ... \]`. - Added math rendering in chats for LaTeX display formulas, including block formats such as `$$ ... $$` and `\[ ... \]`.
- Added the latest OpenAI models.
- Added support for mandatory information notices in configuration plugins. Organizations can now require users to read and confirm important information before continuing in AI Studio. - Added support for mandatory information notices in configuration plugins. Organizations can now require users to read and confirm important information before continuing in AI Studio.
- Released the document analysis assistant after an intense testing phase. - Released the document analysis assistant after an intense testing phase.
- Improved enterprise deployment for organizations: administrators can now provide up to 10 centrally managed enterprise configuration slots, use policy files on Linux and macOS, and continue using older configuration formats as a fallback during migration. - Improved enterprise deployment for organizations: administrators can now provide up to 10 centrally managed enterprise configuration slots, use policy files on Linux and macOS, and continue using older configuration formats as a fallback during migration.