@page "/assistant" @inject IOllamaService OllamaService @inject ISettingsService SettingsService @inject NavigationManager Navigation @rendermode InteractiveServer Assistent - Author Buddy
@statusText @if (isRunning) { }

Eingabetext

Ergebnis

@if (!string.IsNullOrEmpty(outputText)) {
@outputText
} else if (!string.IsNullOrEmpty(errorMessage)) {
@errorMessage
} else { Ergebnis erscheint hier nach der Ausführung. }
@code { private string selectedMode = "advocatus"; private string inputText = string.Empty; private string outputText = string.Empty; private string errorMessage = string.Empty; private string statusText = "Bereit"; private bool isRunning; private double progress; protected override async Task OnInitializedAsync() { await base.OnInitializedAsync(); } private async Task RunAssistant() { if (string.IsNullOrWhiteSpace(inputText)) return; isRunning = true; progress = 50; outputText = string.Empty; errorMessage = string.Empty; statusText = "Verarbeite..."; try { var systemPrompt = selectedMode switch { "advocatus" => await SettingsService.GetAdvocatusDiaboliPromptAsync() ?? string.Empty, "hookfinder" => await SettingsService.GetHookFinderPromptAsync() ?? string.Empty, "eli5" => await SettingsService.GetEli5PromptAsync() ?? string.Empty, _ => string.Empty }; if (string.IsNullOrEmpty(systemPrompt)) { errorMessage = "Kein System-Prompt für diesen Modus konfiguriert. Bitte in den Einstellungen hinterlegen."; return; } var model = await SettingsService.GetStyleModelAsync() ?? "llama3.2"; outputText = await OllamaService.Chat(model, inputText, systemPrompt); statusText = "Fertig."; } catch (Exception ex) { errorMessage = $"Fehler: {ex.Message}"; statusText = "Fehler"; } finally { isRunning = false; progress = 0; } } }