in src/alpaca_eval/processors.py [0:0]
def add_referenced_model_(self, df):
"""Add a dictionary to better understand chain of thought in case it's useful"""
df["referenced_models"] = None
for i, r in df.iterrows():
if (
isinstance(r[self._tmp_col], dict)
and "concise_explanation" in r[self._tmp_col]
and "ordered_models" in r[self._tmp_col]
):
preference = int(df.loc[i, "preference"])
ordered_models = df.loc[i, self._tmp_col]["ordered_models"]
for m in ordered_models:
if m["rank"] == 1:
first_model = m["model"]
elif m["rank"] == 2:
second_model = m["model"]
else:
assert False
df.at[i, "referenced_models"] = {
first_model: f"output_{preference}",
second_model: f"output_{3 - preference}",
}