diff --git a/app/MindWork AI Studio/Settings/DataModel/BiasCatalog.cs b/app/MindWork AI Studio/Settings/DataModel/BiasCatalog.cs index 16f46cb2..2faf65c8 100644 --- a/app/MindWork AI Studio/Settings/DataModel/BiasCatalog.cs +++ b/app/MindWork AI Studio/Settings/DataModel/BiasCatalog.cs @@ -5909,4 +5909,23 @@ public static class BiasCatalog { IMPLICIT_STEREOTYPES.Id, IMPLICIT_STEREOTYPES }, { IMPLICIT_ASSOCIATIONS.Id, IMPLICIT_ASSOCIATIONS }, }; + + public static Bias GetRandomBias(ref IList usedBias) + { + if(usedBias.Count >= ALL_BIAS.Count) + usedBias.Clear(); + + int randomBiasIndex; + lock (RANDOM) + { + randomBiasIndex = RANDOM.Next(0, ALL_BIAS.Count); + while(usedBias.Contains(randomBiasIndex)) + randomBiasIndex = RANDOM.Next(0, ALL_BIAS.Count); + } + + usedBias.Add(randomBiasIndex); + return ALL_BIAS.Values.ElementAt(randomBiasIndex); + } + + private static readonly Random RANDOM = new(); } \ No newline at end of file