def convert_to_openai_style(session: dict):
# 将CharacterDial转换成openai风格
# 1. 本函数并未构造出system prompt,而是保留了user_name, user_profile, assistant_name, assistant_profile等信息
# 2. 这里只处理了中文对话。若您想利用英文对话,只需用同样的代码处理session["language_en"]即可
user_name = session["user_name"]
user_profile = session.get("user_profile", "")
assistant_name = session["character_name"]
assistant_profile = session.get("character_profile", "")
# 首先将dialogue转换成openai风格
for msg in session["dialogue"]:
speaker = msg["speaker"]
elif speaker == "character":
raise ValueError(f"Unknown speaker: {speaker}")
"content": msg["utterance"]
assert all(messages[i]["role"] != messages[i-1]["role"] for i in range(1, len(messages)))
"user_profile": user_profile,
"assistant_name": assistant_name,
"assistant_profile": assistant_profile