Murasaki-14B-v0.2
System 2 Reasoning Model for ACGN Translation
原生 CoT 思维链 · 长上下文 · ACGN 领域特化翻译模型
Github | Benchmark | GGUF Version | License: CC BY-NC-SA 4.0
简介
Murasaki-14B 是专为 ACGN 领域(轻小说、Galgame、漫画等)优化的 System 2 推理型翻译模型。
不同于传统的直觉式(System 1)模型,Murasaki-14B 引入了原生 Chain-of-Thought (CoT) 思维链技术。在生成译文前,模型会先在 <think> 标签内完成风格定调、动作流解析、人设推导及人称确认。这种机制显著提升了长难句的解析精度与叙事连贯性,特别是精准解决了 ACGN 翻译中常见的施动者/受动者判定模糊、人称混淆及语境风格漂移等难点,大幅提升了译文的准确度与可读性。
本模型支持针对三种不同场景(轻小说、剧本、短句)的专项翻译模式,请参考下文 Prompt 说明进行调用。
✨ Now Live: 无需下载模型,点击 Online Demo 在线体验模型。
🚀 Prompt 模板与模式选择 (重要)
本模型支持三种特定的翻译模式。为了获得最佳效果,请务必根据翻译内容使用对应的 System Prompt。
1. 轻小说模式 (Novel Mode)
- 适用场景:轻小说正文、Web 小说、注重文学性的长文本。
# 无术语表版本
NOVEL_SYSTEM_PROMPT = """你是一位精通二次元文化的资深轻小说翻译家。
请将日文文本翻译成流畅、优美的中文。
**核心要求:**
1. **深度思考:** 在翻译前,先在 <think> 标签中分析文风、补全主语并梳理逻辑。
2. **信达雅:** 译文需符合中文轻小说阅读习惯,还原原作的沉浸感与文学性。"""
# 带术语表版本 (推荐)
NOVEL_SYSTEM_PROMPT_WITH_GLOSSARY = """你是一位精通二次元文化的资深轻小说翻译家。
请将日文文本翻译成流畅、优美的中文。
**核心要求:**
1. **深度思考:** 在翻译前,先在 <think> 标签中分析文风、补全主语并梳理逻辑。
2. **信达雅:** 译文需符合中文轻小说阅读习惯,还原原作的沉浸感与文学性。
【术语表】
{glossary}"""
2. 剧本模式 (Script Mode)
- 适用场景:Galgame 脚本、动画字幕、漫画对话、RPG游戏文本。
SCRIPT_SYSTEM_PROMPT = """你是一位专注于 Galgame 与动漫台词的本地化专家。
请将剧本/台词翻译为地道的中文口语。
**核心要求:**
1. **角色还原:** 结合语境分析说话人的性格(如傲娇、腹黑),精准还原语气与口癖。
2. **拒绝翻译腔:** 译文必须自然生动,符合"能被读出来的台词"标准。"""
# 带术语表版本同轻小说末尾格式
3. 单句模式 (Short Mode)
- 适用场景:UI 界面文本、系统提示、无上下文的独立短句、技能名。
SHORT_SYSTEM_PROMPT = """你是一个严谨的 ACGN 短句翻译引擎。
请对输入的日文短句进行精准直译。
**核心要求:**
1. **零上下文:** 严禁脑补不存在的背景或主语。指代不明时保持模糊。
2. **精准还原:** 忠实保留原文的结构与信息量,不进行过度润色。"""
# 带术语表版本同轻小说末尾格式
评测表现
我们使用 wmt22-comet-da 指标,在 Murasaki-ACGN Benchmark 上评估了将近四十个主流开源和闭源旗舰模型的性能。
Murasaki-14B在总分以及长段落和短段落的两个测试集中均取得了总分第一的成绩。
| Rank | Model | Overall Avg | Short | Long |
|---|---|---|---|---|
| 🥇 | murasaki-14b-v0.2 | 0.8545 | 0.8289 | 0.8801 |
| 2 | murasaki-8b-v0.1 | 0.8523 | 0.8269 | 0.8778 |
| 3 | murasaki-8b-v0.2 | 0.8522 | 0.8271 | 0.8773 |
| 4 | gemini-3-flash-preview | 0.8512 | 0.8262 | 0.8765 |
| 5 | Sakura-qwen-2.5-14B | 0.8509 | 0.8282 | 0.8735 |
| 6 | gpt-5-chat-latest | 0.8503 | 0.8249 | 0.8765 |
| 7 | gemini-2.5-flash | 0.8502 | 0.8243 | 0.8767 |
| 8 | gemini-3-pro-preview | 0.8491 | 0.8238 | 0.8744 |
| 9 | gpt-4.1 | 0.8490 | 0.8259 | 0.8724 |
| 10 | claude-opus-4-5-20251101 | 0.8484 | 0.8236 | 0.8732 |
💡 以上分数基于 IQ4_XS 量化版本测得,本页面提供的 BF16 全精度版本 预期会有更优表现。
快速开始 (Python / Transformers)
⚠️ 如果您寻找适合本地部署的 GGUF (llama.cpp) 量化版,请前往:Murasaki-14B-v0.2-GGUF
推荐推理前端
为了获得最佳的翻译体验(并自动应用上述三种模式),推荐使用我们配套开发的开源 GUI: 👉 Murasaki Translator (GitHub)
Python 代码示例
以下代码展示了如何使用 轻小说模式 + 术语表 进行推理:
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_name = "Murasaki-Project/Murasaki-14B-v0.2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
torch_dtype=torch.bfloat16
)
# 1. 定义 Prompt 模板 (此处以轻小说模式为例)
NOVEL_SYSTEM_PROMPT_WITH_GLOSSARY = """你是一位精通二次元文化的资深轻小说翻译家。
请将日文文本翻译成流畅、优美的中文。
**核心要求:**
1. **深度思考:** 在翻译前,先在 <think> 标签中分析文风、补全主语并梳理逻辑。
2. **信达雅:** 译文需符合中文轻小说阅读习惯,还原原作的沉浸感与文学性。
【术语表】
{glossary}"""
USER_PROMPT_TEMPLATE = "请翻译:\n{jp}"
# 2. 准备数据
glossary_dict = {"レールガン": "超电磁炮", "妹": "妹妹"}
glossary_str = "\n".join([f"{k}: {v}" for k, v in glossary_dict.items()])
jp_text = "「お兄ちゃん、私のレールガンを見て!」"
# 3. 构造完整 Prompt
system_content = NOVEL_SYSTEM_PROMPT_WITH_GLOSSARY.format(glossary=glossary_str)
user_content = USER_PROMPT_TEMPLATE.format(jp=jp_text)
messages = [
{"role": "system", "content": system_content},
{"role": "user", "content": user_content}
]
# 4. 推理
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
generated_ids = model.generate(
model_inputs.input_ids,
max_new_tokens=2048,
temperature=0.7,
repetition_penalty=1.05
)
# 解码 (跳过 prompt 部分)
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
# 分离 <think> 思考过程与正文
if "<think>" in response and "</think>" in response:
thought = response.split("</think>")[0].replace("<think>", "").strip()
translation = response.split("</think>")[1].strip()
print("=== 思考过程 ===\n", thought)
print("\n=== 翻译结果 ===\n", translation)
else:
print(response)
推理参数建议
- Temperature:
0.6-0.8(推荐0.7) - Repetition Penalty: 建议
1.0-1.1(建议从1.0开始) - Max New Tokens: 建议
4096或更高,以便模型完整输出<think>内容,避免因token不足导致的截断。
协议与致谢
- Base Model: 特别感谢 SakuraLLM 提供的优秀 Base 模型。
- License: 软件代码遵循 Apache-2.0 协议,模型权重遵循 CC BY-NC-SA 4.0 协议,严禁用于任何商业用途。
Copyright © 2026 Murasaki Project
- Downloads last month
- 16
16-bit