Show the automatic reasoning behavior

This commit is contained in:
Thorsten Sommer 2026-07-05 12:31:24 +02:00
parent 3d516a4674
commit 5d57d8c49c
Signed by untrusted user who does not match committer: tsommer
GPG Key ID: 371BBA77A02C0108
2 changed files with 19 additions and 3 deletions

View File

@ -1,7 +1,6 @@
@using AIStudio.Provider
@using AIStudio.Provider.HuggingFace
@using AIStudio.Provider.SelfHosted
@using AIStudio.Settings
@inherits MSGComponentBase
<MudDialog>
<DialogContent>
@ -106,7 +105,7 @@
}
else
{
<MudSelect T="AIStudio.Provider.Model"
<MudSelect T="Provider.Model"
Value="@this.DataModel"
ValueChanged="@(async model => await this.OnModelChanged(model))"
OpenIcon="@Icons.Material.Filled.FaceRetouchingNatural" AdornmentColor="Color.Info"

View File

@ -444,6 +444,21 @@ public partial class ProviderDialog : MSGComponentBase, ISecretId
return ReasoningOverrideMode.NO_REASONING;
}
private ReasoningOverrideMode GetAutomaticReasoningOverrideMode()
{
var capabilities = this.GetAutomaticModelCapabilities();
if (capabilities.Contains(Capability.ALWAYS_REASONING))
return ReasoningOverrideMode.ALWAYS_ON;
if (capabilities.Contains(Capability.REASONING_BY_DEFAULT))
return ReasoningOverrideMode.ON_BY_DEFAULT;
if (capabilities.Contains(Capability.OPTIONAL_REASONING))
return ReasoningOverrideMode.CAN_BE_ENABLED;
return ReasoningOverrideMode.NO_REASONING;
}
private void SetReasoningOverrideMode(ReasoningOverrideMode mode)
{
this.capabilityOverrides = mode switch
@ -489,7 +504,7 @@ public partial class ProviderDialog : MSGComponentBase, ISecretId
private string GetReasoningOverrideModeDescription(ReasoningOverrideMode mode) => mode switch
{
ReasoningOverrideMode.AUTOMATIC => T("Use detected model behavior."),
ReasoningOverrideMode.AUTOMATIC => string.Format(T("Use detected model behavior: {0}."), this.GetReasoningOverrideModeLabel(this.GetAutomaticReasoningOverrideMode())),
ReasoningOverrideMode.NO_REASONING => T("No reasoning (thinking) capability."),
ReasoningOverrideMode.CAN_BE_ENABLED => T("Reasoning (thinking) is available, but off unless additional API parameters enable it."),
ReasoningOverrideMode.ON_BY_DEFAULT => T("Reasoning (thinking) is available and on unless additional API parameters disable it."),
@ -520,6 +535,8 @@ public partial class ProviderDialog : MSGComponentBase, ISecretId
return currentProviderSettings.GetModelCapabilities();
}
private List<Capability> GetAutomaticModelCapabilities() => this.DataLLMProvider.GetModelCapabilities(this.DataModel);
private string GetCurrentModelApiLabel()
{
var capabilities = this.GetCurrentModelCapabilities();