def organize_messages(message, history):
msg_ls = [dict(
role="system",
content="You are a helpful assistant.",
)]
for user, assistant in history:
msg_ls.append(dict(role="user", content=user))
if assistant:
msg_ls.append(dict(role="assistant", content=assistant))
msg_ls.append(dict(role="user", content=message))
return msg_ls
def stream2display_text(stream_text, token_per_sec):
if stream_text.startswith("think>"):
stream_text = f"<{stream_text}"
if not stream_text.startswith(""):
return stream_text
if "" not in stream_text:
think_text, result_text = stream_text.replace("", ""), ""
else:
think_text, result_text = stream_text.split("")
think_text = think_text.replace("", "")
result_text = result_text.replace("<|im_end|>", "")
think_block = "\n".join(
f"> {line}" if line else ">" for line in think_text.rstrip().splitlines()
)
display_text_ls = [think_block]
if result_text:
display_text_ls.append(result_text)
display_text_ls.append(f"```{token_per_sec:.2f} token/s```")
return "\n\n".join(display_text_ls)