in evalbench/scorers/llmrater.py [0:0]
def take_n_uniques(output_list: list, n: int) -> list:
"""Takes n number of unique (non duplicate) values from the output list.
Args:
output_list: The execution output result set
n: Max number of unique values needed.
Returns:
The execution output result set without duplicates in a size of n values or less.
"""
seen_dicts = set()
new_list = []
for d in output_list:
# Convert the dictionary to a hashable frozenset for efficient lookup
t = frozenset((k, make_hashable(v)) for k, v in d.items())
if t not in seen_dicts:
seen_dicts.add(t)
new_list.append(d)
if len(new_list) == n:
break
return new_list