import os import platform from utils import load_mode_and_tokenizer model, tokenizer = load_mode_and_tokenizer("THUDM/chatglm-6b", num_gpus=1) os_name = platform.system() clear_command = 'cls' if os_name == 'Windows' else 'clear' def build_prompt(history): prompt = "欢迎使用 ChatGLM-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序" for query, response in history: prompt += f"\n\n用户:{query}" prompt += f"\n\nChatGLM-6B:{response}" return prompt def main(): history = [] print("欢迎使用 ChatGLM-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序") while True: query = input("\n用户:") if query == "stop": break if query == "clear": history = [] os.system(clear_command) print("欢迎使用 ChatGLM-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序") continue count = 0 for response, history in model.stream_chat(tokenizer, query, history=history): count += 1 if count % 8 == 0: os.system(clear_command) print(build_prompt(history), flush=True) os.system(clear_command) print(build_prompt(history), flush=True) if __name__ == "__main__": main()