namespace AIStudio.Assistants.ModelComparison; /// /// A saved set of the inputs of the Model Comparison assistant, so that a familiar test case does not have to be typed /// and picked by hand again every time. /// /// /// Each preset is a file of its own below the data directory, see ModelComparisonStore, not a part of the settings: a /// preset can carry a long document as its context, and the settings are written anew whenever any setting changes. /// Presets belong to the user alone; no configuration plugin rolls them out. /// public sealed record ModelComparisonPreset { /// /// The ID of the preset, which names its file. /// public Guid Id { get; set; } /// /// The name shown in the preset picker. /// public string Name { get; set; } = string.Empty; /// /// The ID of the provider of the first model, or empty when none was selected while saving. Resolved back to a /// provider through SettingsManager.GetProviderById, which answers Provider.NONE for an ID that no longer exists. /// public string FirstProviderId { get; set; } = string.Empty; /// /// The ID of the provider of the second model, see FirstProviderId. /// public string SecondProviderId { get; set; } = string.Empty; public bool JudgeEnabled { get; set; } /// /// The ID of the provider of the judge, see FirstProviderId. /// public string JudgeProviderId { get; set; } = string.Empty; /// /// The expectations, values, and goals of the user, by which the judge decides, see ModelComparisonJudgeExpectations. /// public string JudgeInstructions { get; set; } = string.Empty; public string Context { get; set; } = string.Empty; public string Question { get; set; } = string.Empty; public int RunCount { get; set; } = 1; }