in fastchat/llm_judge/qa_browser.py [0:0]
def single_to_gradio_chat_mds(question, ans, turn=None):
end = len(question["turns"]) if turn is None else turn + 1
mds = ["", "", "", "", ""]
for i in range(end):
base = i * 2
if i == 0:
mds[base + 0] = "##### User\n" + question["turns"][i]
else:
mds[base + 0] = "##### User's follow-up question \n" + question["turns"][i]
mds[base + 1] = "##### Assistant A\n" + post_process_answer(
ans["choices"][0]["turns"][i].strip()
)
ref = question.get("reference", ["", ""])
ref_md = ""
if turn is None:
if ref[0] != "" or ref[1] != "":
mds[4] = f"##### Reference Solution\nQ1. {ref[0]}\nQ2. {ref[1]}"
else:
x = ref[turn] if turn < len(ref) else ""
if x:
mds[4] = f"##### Reference Solution\n{ref[turn]}"
else:
mds[4] = ""
return mds