🚀 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>
マイン、ルッツが迎えに來たよ