mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-04-17 17:21:36 +00:00
Fixed model recall for stored chats (#726)
Some checks are pending
Build and Release / Determine run mode (push) Waiting to run
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 / 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
Some checks are pending
Build and Release / Determine run mode (push) Waiting to run
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 / 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
This commit is contained in:
parent
fa18c80bed
commit
9d6d3842b5
@ -879,22 +879,7 @@ public partial class ChatComponent : MSGComponentBase, IAsyncDisposable
|
|||||||
var chatProfile = this.ChatThread?.SelectedProfile;
|
var chatProfile = this.ChatThread?.SelectedProfile;
|
||||||
var chatChatTemplate = this.ChatThread?.SelectedChatTemplate;
|
var chatChatTemplate = this.ChatThread?.SelectedChatTemplate;
|
||||||
|
|
||||||
switch (this.SettingsManager.ConfigurationData.Chat.LoadingProviderBehavior)
|
this.Provider = this.SettingsManager.GetChatProviderForLoadedChat(chatProvider);
|
||||||
{
|
|
||||||
default:
|
|
||||||
case LoadingChatProviderBehavior.USE_CHAT_PROVIDER_IF_AVAILABLE:
|
|
||||||
this.Provider = this.SettingsManager.GetPreselectedProvider(Tools.Components.CHAT, chatProvider);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case LoadingChatProviderBehavior.ALWAYS_USE_DEFAULT_CHAT_PROVIDER:
|
|
||||||
this.Provider = this.SettingsManager.GetPreselectedProvider(Tools.Components.CHAT);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case LoadingChatProviderBehavior.ALWAYS_USE_LATEST_CHAT_PROVIDER:
|
|
||||||
if(this.Provider == AIStudio.Settings.Provider.NONE)
|
|
||||||
this.Provider = this.SettingsManager.GetPreselectedProvider(Tools.Components.CHAT);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
await this.ProviderChanged.InvokeAsync(this.Provider);
|
await this.ProviderChanged.InvokeAsync(this.Provider);
|
||||||
|
|
||||||
|
|||||||
@ -304,6 +304,43 @@ public sealed class SettingsManager
|
|||||||
return this.ConfigurationData.Providers.FirstOrDefault(x => x.Id == this.ConfigurationData.App.PreselectedProvider && x.UsedLLMProvider.GetConfidence(this).Level >= minimumLevel) ?? Provider.NONE;
|
return this.ConfigurationData.Providers.FirstOrDefault(x => x.Id == this.ConfigurationData.App.PreselectedProvider && x.UsedLLMProvider.GetConfidence(this).Level >= minimumLevel) ?? Provider.NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[SuppressMessage("Usage", "MWAIS0001:Direct access to `Providers` is not allowed")]
|
||||||
|
public Provider GetChatProviderForLoadedChat(string? chatProviderId = null)
|
||||||
|
{
|
||||||
|
var minimumLevel = this.GetMinimumConfidenceLevel(Tools.Components.CHAT);
|
||||||
|
|
||||||
|
bool IsSelectableProvider(Provider provider) =>
|
||||||
|
provider != Provider.NONE
|
||||||
|
&& provider.UsedLLMProvider != LLMProviders.NONE
|
||||||
|
&& provider.UsedLLMProvider.GetConfidence(this).Level >= minimumLevel;
|
||||||
|
|
||||||
|
Provider? FindProviderById(string? providerId)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(providerId))
|
||||||
|
return null;
|
||||||
|
|
||||||
|
var provider = this.ConfigurationData.Providers.FirstOrDefault(x => x.Id == providerId);
|
||||||
|
return provider is not null && IsSelectableProvider(provider) ? provider : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
var chatProvider = FindProviderById(chatProviderId);
|
||||||
|
if (chatProvider is not null)
|
||||||
|
return chatProvider;
|
||||||
|
|
||||||
|
var defaultChatProvider = this.ConfigurationData.Chat.PreselectOptions
|
||||||
|
? FindProviderById(this.ConfigurationData.Chat.PreselectedProvider)
|
||||||
|
: null;
|
||||||
|
if (defaultChatProvider is not null)
|
||||||
|
return defaultChatProvider;
|
||||||
|
|
||||||
|
var defaultAppProvider = FindProviderById(this.ConfigurationData.App.PreselectedProvider);
|
||||||
|
if (defaultAppProvider is not null)
|
||||||
|
return defaultAppProvider;
|
||||||
|
|
||||||
|
var selectableProviders = this.ConfigurationData.Providers.Where(IsSelectableProvider).ToList();
|
||||||
|
return selectableProviders.Count == 1 ? selectableProviders[0] : Provider.NONE;
|
||||||
|
}
|
||||||
|
|
||||||
public Profile GetPreselectedProfile(Tools.Components component)
|
public Profile GetPreselectedProfile(Tools.Components component)
|
||||||
{
|
{
|
||||||
var preselection = component.GetProfilePreselection(this);
|
var preselection = component.GetProfilePreselection(this);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user