Views
No views yet
1from peft import PeftModel
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4base_model = AutoModelForCausalLM.from_pretrained(
5 "Qwen/Qwen2.5-7B-Instruct",
6 trust_remote_code=True,
7 torch_dtype="auto",
8 device_map="auto")
9tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-7B-Instruct")
10
11model = PeftModel.from_pretrained(base_model, "LLMMINE/TIPA-7B-TranditionalTask")
12def chat(text):
13 system = (
14 "纠正输入这段话中的错别字,直接给出纠正后的文本,无需任何解释\n"
15 )
16 messages = [
17 {"role": "system", "content": system},
18 {"role": "user", "content": text}
19 ]
20 text_input = tokenizer.apply_chat_template(
21 messages,
22 tokenize=False,
23 add_generation_prompt=True
24 )
25
26 # print("Input to model:")
27 # print(text_input)
28 model_inputs = tokenizer([text_input], return_tensors="pt").to(model.device)
29
30 generated_ids = model.generate(
31 **model_inputs,
32 max_new_tokens=512,
33 temperature=0.01,
34 )
35 generated_ids = [
36 output_ids[len(input_ids):]
37 for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
38 ]
39
40 response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
41 # print("Model response:")
42 # print(response)
43 return response
44
45def main():
46 print("命令行聊天程序已启动。输入您的文本,或输入 'exit' 退出。")
47 while True:
48 user_input = input("您: ")
49 if user_input.lower() in ['exit', 'quit']:
50 print("程序已退出。")
51 break
52 if not user_input.strip():
53 print("请输入文本。")
54 continue
55 response = chat(user_input)
56 print("回复:", response)
57
58if __name__ == '__main__':
59 main()花雨在镇上落了一整夜,这静寂的风暴覆盖了屋顶,堵住了房门,令露宿的动物窒息而死。如此多的花朵自天而降,天亮时大界小巷都覆上了一层绵密的花毯,人们得用铲子耙子清理出通道才能出殡。街 -> 界花雨在镇上落了一整夜,这静寂的风暴覆盖了屋顶,堵住了房门,令露宿的动物窒息而死。如此多的花朵自天而降,天亮时大街小巷都覆上了一层绵密的花毯,人们得用铲子耙子清理出通道才能出殡。