enet45/qwen3-8b-ja2zh-merged-v1.1

来源:🤗text-generationapache-2.08.2B 参数16 GBsafetensors✓ 6 个校验和231 天前更新
帮助这个模型通过 Pirate Face 分发

模型卡、文件列表和校验和已在此收录。如果你持有文件并有权分享,可以提交种子,让其他人从节点下载。

获取来源文件需要 Hugging Face 批准。
为此模型做种

Qwen3-8B-Ja2Zh-SFT (Merged)

This is the full-parameter merged version of the Qwen3-8B model, fine-tuned for Japanese-to-Chinese subtitle translation. It integrates the LoRA weights from enet45/qwen3-8b-ja2zh-lora-v1.1 directly into the base architecture.

Quickstart

Since this is a merged model, you can load it using the standard AutoModelForCausalLM pipeline:

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "enet45/qwen3-8b-ja2zh-merged-v1.1"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto"
)

def translate_ja2zh(japanese_text, instruction="将以下日语字幕翻译成中文,文本可能存在识别错误,请根据语境修正后翻译。只输出中文。"):
    messages = [
        {"role": "system", "content": instruction},
        {"role": "user", "content": japanese_text}
    ]

    # 使用 apply_chat_template 自动匹配训练模板
    prompt = tokenizer.apply_chat_template(
        messages,
        tokenize=False,
        add_generation_prompt=True
    )

    inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
    
    outputs = model.generate(
        **inputs,
        max_new_tokens=128,
        temperature=0.7,
        top_p=0.9,
        do_sample=True,
        repetition_penalty=1.25,
        eos_token_id=tokenizer.eos_token_id,
        pad_token_id=tokenizer.pad_token_id or tokenizer.eos_token_id
    )
    
    # 只获取生成的回复部分
    response = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)
    # 字幕翻译建议取第一行,防止冗余输出
    return response.strip().split('\n')[0]

print(translate_ja2zh("君のことが好きだ。"))