@attribute [Route(Routes.ASSISTANT_MODEL_COMPARISON_STABILITY)] @inherits AssistantBaseCore @* Two views: the form to fill in, and the batch in short while it runs and once it has. *@ @if (!this.ShowsBatch) { @T("Presets") @TA("A preset keeps everything you set up below, so that you can run the same comparison again later, e.g., once a new model is available. You always work in a preset, and AI Studio saves your changes by itself.") @foreach (var preset in this.presets) { @this.ListedName(preset) } @T("Add preset") @T("Delete this preset") @if (this.SelectedPreset is not null) { } @T("Models") @ModelComparisonTexts.WhatTheModelsAreFor @T("First model") @T("Second model") @T("Number of runs") @ModelComparisonTexts.WhatTheRunsAreFor @T("1 (single comparison)") 3 5 10 15 @T("20 (heavy load on the models)") @TA("Your request") @ModelComparisonTexts.WhatTheModelsReceive @T("Material (optional)") @ModelComparisonTexts.WhatTheMaterialIs @* The form checks the fields of the judge also while the panel is collapsed: *@ @ModelComparisonTexts.WhatTheJudgeIsFor @if (this.judgeEnabled) { @T("Judge model") } } else { @* What was asked, in short: without it, the answers below would have to be judged from memory. *@ var request = this.CurrentRequest; @TA("Your request") @request.GetQuestionPreview() @if (request.Context.Length > 0) { @string.Format(DisplayCulture, T("Material: {0} characters"), request.Context.Length.CompactCount()) } @if (this.batch is { RunCount: > 1 } shownBatch) { } } @code { private protected override RenderFragment HeaderActions => @ ; private protected override RenderFragment BelowSubmitContent => @; }