diff --git a/app/MindWork AI Studio/Chat/ChatThread.cs b/app/MindWork AI Studio/Chat/ChatThread.cs index a028e8db..adb64850 100644 --- a/app/MindWork AI Studio/Chat/ChatThread.cs +++ b/app/MindWork AI Studio/Chat/ChatThread.cs @@ -91,7 +91,6 @@ public sealed record ChatThread /// The prepared system prompt. public string PrepareSystemPrompt(SettingsManager settingsManager, ChatThread chatThread, ILogger logger) { - // // Use the information from the chat template, if provided. Otherwise, use the default system prompt // diff --git a/app/MindWork AI Studio/Components/Settings/SettingsPanelChatTemplates.razor.cs b/app/MindWork AI Studio/Components/Settings/SettingsPanelChatTemplates.razor.cs index 6abd4760..ba494cb8 100644 --- a/app/MindWork AI Studio/Components/Settings/SettingsPanelChatTemplates.razor.cs +++ b/app/MindWork AI Studio/Components/Settings/SettingsPanelChatTemplates.razor.cs @@ -38,6 +38,7 @@ public partial class SettingsPanelChatTemplates : SettingsPanelBase { x => x.DataSystemPrompt, chatTemplate.SystemPrompt }, { x => x.IsEditing, true }, {x => x.ExampleConversation, chatTemplate.ExampleConversation}, + {x => x.AllowProfileUsage, chatTemplate.AllowProfileUsage}, }; var dialogReference = await this.DialogService.ShowAsync(T("Edit Chat Template"), dialogParameters, DialogOptions.FULLSCREEN); diff --git a/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor b/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor index a9ad14a3..b00221ff 100644 --- a/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor +++ b/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor @@ -55,7 +55,7 @@ - + diff --git a/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor.cs b/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor.cs index df823db8..a113d7a0 100644 --- a/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor.cs +++ b/app/MindWork AI Studio/Dialogs/ChatTemplateDialog.razor.cs @@ -43,6 +43,9 @@ public partial class ChatTemplateDialog : MSGComponentBase [Parameter] public List ExampleConversation { get; set; } = []; + + [Parameter] + public bool AllowProfileUsage { get; set; } = true; [Inject] private ILogger Logger { get; init; } = null!; @@ -57,12 +60,9 @@ public partial class ChatTemplateDialog : MSGComponentBase private bool dataIsValid; private string[] dataIssues = []; private string dataEditingPreviousName = string.Empty; - + private ContentBlock messageEntryBeforeEdit; - // private readonly List additionalMessagesEntries = []; - // private readonly List availableRoles = ["User", "Assistant"]; private readonly IEnumerable availableRoles = ChatRoles.ChatTemplateRoles().ToArray(); - private bool allowProfileUsage = true; // We get the form reference from Blazor code to validate it manually: private MudForm form = null!; @@ -75,7 +75,7 @@ public partial class ChatTemplateDialog : MSGComponentBase Name = this.DataName, SystemPrompt = this.DataSystemPrompt, ExampleConversation = this.ExampleConversation, - AllowProfileUsage = allowProfileUsage, + AllowProfileUsage = this.AllowProfileUsage, }; private void RemoveMessage(ContentBlock item) @@ -85,6 +85,8 @@ public partial class ChatTemplateDialog : MSGComponentBase private void AddNewMessageToEnd() { + this.ExampleConversation ??= new List(); + var newEntry = new ContentBlock { Role = ChatRole.USER, // Default to User