Views
No views yet
Qwen/Qwen3-1.7B,使用完整
HistoryTrans/Dataset 训练一轮。1import torch
2from peft import PeftModel
3from transformers import AutoModelForCausalLM, AutoTokenizer
4
5adapter_id = "emiya111/EmiyaMind-Qwen3-1.7B-Wenyan-Full"
6base_id = "Qwen/Qwen3-1.7B"
7
8tokenizer = AutoTokenizer.from_pretrained(adapter_id)
9base_model = AutoModelForCausalLM.from_pretrained(
10 base_id,
11 torch_dtype=torch.bfloat16,
12 device_map="auto",
13)
14model = PeftModel.from_pretrained(base_model, adapter_id)
15model.eval()
16
17source = "环滁皆山也。其西南诸峰,林壑尤美。"
18messages = [
19 {
20 "role": "system",
21 "content": (
22 "你是一名严谨的古汉语翻译专家。你的任务是把文言文翻译成通顺、准确的现代汉语,"
23 "忠实保留原文的人名、地名、官名、时间、因果关系和语气,不增添原文没有的信息。"
24 ),
25 },
26 {
27 "role": "user",
28 "content": f"请将下面的文言文翻译成现代汉语。只输出译文,不要解释。\n\n文言文:{source}",
29 },
30]
31prompt = tokenizer.apply_chat_template(
32 messages,
33 tokenize=False,
34 add_generation_prompt=True,
35 enable_thinking=False,
36)
37inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
38with torch.inference_mode():
39 output = model.generate(
40 **inputs,
41 max_new_tokens=256,
42 do_sample=False,
43 repetition_penalty=1.05,
44 )
45result = tokenizer.decode(
46 output[0, inputs["input_ids"].shape[1]:],
47 skip_special_tokens=True,
48)
49print(result.strip())