Added the Model Comparison assistant for blind comparisons of two models (#1009)

Co-authored-by: Thorsten Sommer <SommerEngineering@users.noreply.github.com>
This commit is contained in:
Dominic NeuburgandThorsten Sommer authored and GitHub committed 2026-11-14 14:11:34 +01:00
1 parent 12f26445ba
commit b7255694cd
221 files changed
+19989 -90

No files matched your search

@@ -0,0 +1,48 @@
@inherits MSGComponentBase
<MudPaper Outlined="true" Class="pa-3 mb-3">
<MudStack Row="true" AlignItems="AlignItems.Center" Spacing="1" Class="mb-1">
<MudIcon Icon="@AppIcons.JUDGE" Size="Size.Small"/>
<MudText Typo="Typo.subtitle1">
@string.Format(ModelComparisonFormat.Culture, T("Judge on task {0}"), this.TaskNumber)
</MudText>
</MudStack>
@switch (this.SeriesTask.JudgeStatus)
{
case ModelComparisonSeriesJudgeStatus.VERDICT:
<MudText Typo="Typo.body1" Class="mb-1">
@this.VerdictText
</MudText>
<ModelComparisonJudgeReasoning Reasoning="@this.SeriesTask.JudgeReasoning"/>
break;
case ModelComparisonSeriesJudgeStatus.TOO_LONG:
<MudJustifiedText Typo="Typo.body1">
@T("Both chats together are too long for the judge, so it did not judge this task.")
</MudJustifiedText>
break;
case ModelComparisonSeriesJudgeStatus.UNAVAILABLE:
<MudJustifiedText Typo="Typo.body1">
@T("The judge is no longer available as it was when the series began, so it did not judge this task.")
</MudJustifiedText>
break;
case ModelComparisonSeriesJudgeStatus.NOT_ASKED or ModelComparisonSeriesJudgeStatus.NO_VERDICT when this.IsJudging:
<MudProgressLinear Color="Color.Primary" Indeterminate="true" Class="mb-2"/>
<MudJustifiedText Typo="Typo.body1">
@T("The judge reads both chats. This can take a while.")
</MudJustifiedText>
break;
default:
<MudJustifiedText Typo="Typo.body1" Class="mb-2">
@(this.SeriesTask.JudgeStatus is ModelComparisonSeriesJudgeStatus.NO_VERDICT ? T("The judge did not give a usable verdict.") : T("The judge has not judged this task yet."))
</MudJustifiedText>
<MudButton Variant="Variant.Outlined" Size="Size.Small" StartIcon="@AppIcons.JUDGE" OnClick="@(() => this.AskJudge.InvokeAsync())">
@T("Ask the judge")
</MudButton>
break;
}
</MudPaper>