🚀 Qwen2.5 32B 用于日语到英语的轻小说翻译
本模型在轻小说和网络小说上进行了微调,用于日语到英语的翻译。它能够翻译整章内容(输入和输出总计最多支持 32K 个标记)。
🚀 快速开始
本模型可在 llama.cpp 中加载使用。
✨ 主要特性
- 基础模型:thefrigidliquidation/lightnovel-translate-Qwen2.5-32B
- 支持语言:英语、日语
- 许可证:apache-2.0
- 任务类型:文本生成
属性 |
详情 |
基础模型 |
thefrigidliquidation/lightnovel-translate-Qwen2.5-32B |
支持语言 |
英语、日语 |
许可证 |
apache-2.0 |
任务类型 |
文本生成 |
💻 使用示例
提示词格式
<|im_start|>system
Translate this text from Japanese to English.<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
基础用法
<|im_start|>system
Translate this text from Japanese to English.<|im_end|>
<|im_start|>user
<GLOSSARY>
マイン : Myne
</GLOSSARY>
マイン、ルッツが迎えに来たよ<|im_end|>
<|im_start|>assistant
Myne, Lutz is here to take you home.
⚠️ 重要提示
术语表是可选的。如果不需要,可以将其移除。
文本预处理
日语文本必须使用以下 clean_string
函数进行预处理,该函数会将一些 Unicode 字符替换为 ASCII 等效字符。不这样做可能会导致问题。
import ftfy
FTFY_ADDITIONAL_MAP = {
"—": "--",
"–": "-",
"⸻": "----",
"«": "\"",
"»": "\"",
"〝": "\"",
"〟": "\"",
"✧": "*",
"✽": "*",
"⬤": "*",
"⭘": "*",
"∴": "*",
"∵": "*",
"✩": "*",
"【": "[",
"】": "]",
"「": "[",
"」": "]",
"〖": "[",
"〗": "]",
"〈": "<",
"〉": ">",
"《": "<<",
"》": ">>",
}
def clean_string(text: str, strip: bool = True) -> str:
config = ftfy.TextFixerConfig(normalization="NFC")
s = ftfy.fix_text(text, config=config)
s = "\n".join((x.strip() if strip else x.rstrip()) for x in s.splitlines())
for b, g in FTFY_ADDITIONAL_MAP.items():
s = s.replace(b, g)
return s
高级用法
你可以在运行时为名词和角色名称提供最多 30 个自定义翻译。在 <GLOSSARY></GLOSSARY>
标签内,在章节前添加术语表项(每行一个)日语术语 : 英语术语
。
glossary = [
{"ja": "マイン", "en": "Myne"},
]
chapter_text = "マイン、ルッツが迎えに来たよ"
def make_glossary_str(glossary: list[dict[str, str]]) -> str:
if glossart is None or len(glossary) == 0:
return ""
unique_glossary = {(term['ja'], term['en']) for term in glossary}
terms = "\n".join([f"{ja} : {en}" for ja, en in unique_glossary])
return f"<GLOSSARY>\n{terms}\n</GLOSSARY>\n"
user_prompt = f"{make_glossary_str(glossary)}{clean_string(chapter_text)}"
<GLOSSARY>
マイン : Myne
</GLOSSARY>
マイン、ルッツが迎えに来たよ