From 22f998de9adb6d1e966ba71e4200e64d880375df Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Sun, 20 Apr 2025 12:41:33 +0200 Subject: [PATCH] Improve provider dialogs by conditionally rendering input fields based on relevance --- .../Dialogs/EmbeddingProviderDialog.razor | 71 ++++++++++--------- .../Dialogs/ProviderDialog.razor | 30 ++++---- .../wwwroot/changelog/v0.9.40.md | 1 + 3 files changed, 54 insertions(+), 48 deletions(-) diff --git a/app/MindWork AI Studio/Dialogs/EmbeddingProviderDialog.razor b/app/MindWork AI Studio/Dialogs/EmbeddingProviderDialog.razor index 9a600499..2aea5f63 100644 --- a/app/MindWork AI Studio/Dialogs/EmbeddingProviderDialog.razor +++ b/app/MindWork AI Studio/Dialogs/EmbeddingProviderDialog.razor @@ -20,44 +20,49 @@ Create account - @* ReSharper disable once CSharpWarnings::CS8974 *@ - - - + @if (this.DataLLMProvider.IsAPIKeyNeeded(this.DataHost)) + { + @* ReSharper disable once CSharpWarnings::CS8974 *@ + + } - - @foreach (Host host in Enum.GetValues(typeof(Host))) - { - if (host.AreEmbeddingsSupported()) + @if (this.DataLLMProvider.IsHostnameNeeded()) + { + + } + + @if (this.DataLLMProvider.IsHostNeeded()) + { + + @foreach (Host host in Enum.GetValues(typeof(Host))) { - } - } - + if (host.AreEmbeddingsSupported()) + { @host.Name() + } + } + + } @if (this.DataLLMProvider.IsEmbeddingModelProvidedManually(this.DataHost)) diff --git a/app/MindWork AI Studio/Dialogs/ProviderDialog.razor b/app/MindWork AI Studio/Dialogs/ProviderDialog.razor index db6989ee..1a01faba 100644 --- a/app/MindWork AI Studio/Dialogs/ProviderDialog.razor +++ b/app/MindWork AI Studio/Dialogs/ProviderDialog.razor @@ -18,19 +18,20 @@ Create account - @* ReSharper disable once CSharpWarnings::CS8974 *@ - + @if (this.DataLLMProvider.IsAPIKeyNeeded(this.DataHost)) + { + @* ReSharper disable once CSharpWarnings::CS8974 *@ + + } @if (this.DataLLMProvider.IsHostnameNeeded()) { @@ -38,7 +39,6 @@ T="string" @bind-Text="@this.DataHostname" Label="Hostname" - Disabled="@(!this.DataLLMProvider.IsHostnameNeeded())" Class="mb-3" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.Dns" @@ -49,7 +49,7 @@ @if (this.DataLLMProvider.IsHostNeeded()) { - + @foreach (Host host in Enum.GetValues(typeof(Host))) { diff --git a/app/MindWork AI Studio/wwwroot/changelog/v0.9.40.md b/app/MindWork AI Studio/wwwroot/changelog/v0.9.40.md index 7e7d7b4c..f7edfe98 100644 --- a/app/MindWork AI Studio/wwwroot/changelog/v0.9.40.md +++ b/app/MindWork AI Studio/wwwroot/changelog/v0.9.40.md @@ -2,6 +2,7 @@ - Added support for the announced OpenAI `o4` models. - Added Alibaba Cloud as a new provider. Thanks Peer `peerschuett` for the contribution. - Added the Hugging Face inference provider as an LLM provider to AI Studio. Thanks Peer `peerschuett` for the contribution. +- Improved the LLM & embedding provider dialogs by hiding not relevant options. - Improved the provider selection by showing the name of the provider in the provider selection instead of its identifier. - Improved the developer experience by adding a tolerant enum converter for better configuration handling. - Fixed an issue where OpenAI `o3` models were not shown in the model selection.