初始化项目,由ModelHub XC社区提供模型
Model: Murasaki-Project/Murasaki-14B-v0.2 Source: Original Platform
This commit is contained in:
36
.gitattributes
vendored
Normal file
36
.gitattributes
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||
*.model filter=lfs diff=lfs merge=lfs -text
|
||||
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||
Murasaki-14B-v0.2-f16.gguf filter=lfs diff=lfs merge=lfs -text
|
||||
3
Murasaki-14B-v0.2-f16.gguf
Normal file
3
Murasaki-14B-v0.2-f16.gguf
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9f75d6e2540f0302b8e1b7e2286629079b64d5d4a0a5b66fa16d28b6277cc32c
|
||||
size 29543423296
|
||||
192
README.md
Normal file
192
README.md
Normal file
@@ -0,0 +1,192 @@
|
||||
---
|
||||
language:
|
||||
- ja
|
||||
- zh
|
||||
license: cc-by-nc-sa-4.0
|
||||
tags:
|
||||
- translation
|
||||
- light-novel
|
||||
- galgame
|
||||
- anime-subtitles
|
||||
- cot
|
||||
- system-2
|
||||
- text-generation-inference
|
||||
- transformers
|
||||
- pytorch
|
||||
|
||||
pipeline_tag: text-generation
|
||||
---
|
||||
<div align="center">
|
||||
|
||||
<img src="https://github.com/soundstarrain/Murasaki-Translator/raw/main/GUI/resources/icon.png" width="120" height="120" alt="Murasaki Logo">
|
||||
|
||||
<h1 align="center">Murasaki-14B-v0.2</h1>
|
||||
|
||||
**System 2 Reasoning Model for ACGN Translation**<br>
|
||||
**原生 CoT 思维链 · 长上下文 · ACGN 领域特化翻译模型**
|
||||
|
||||
[Github](https://github.com/soundstarrain/Murasaki-project) | [Benchmark](https://github.com/soundstarrain/Murasaki-benchmark) | [GGUF Version](https://huggingface.co/Murasaki-Project/Murasaki-14B-v0.2-GGUF) | [License: CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## 简介
|
||||
|
||||
**Murasaki-14B** 是专为 ACGN 领域(轻小说、Galgame、漫画等)优化的 System 2 推理型翻译模型。
|
||||
|
||||
不同于传统的直觉式(System 1)模型,Murasaki-14B 引入了原生 **Chain-of-Thought (CoT)** 思维链技术。在生成译文前,模型会先在 `<think>` 标签内完成风格定调、动作流解析、人设推导及人称确认。这种机制显著提升了长难句的解析精度与叙事连贯性,**特别是精准解决了 ACGN 翻译中常见的施动者/受动者判定模糊、人称混淆及语境风格漂移等难点**,大幅提升了译文的准确度与可读性。
|
||||
|
||||
本模型支持针对三种不同场景(轻小说、剧本、短句)的专项翻译模式,请参考下文 Prompt 说明进行调用。
|
||||
|
||||
> **✨ Now Live:** 无需下载模型,点击 **[Online Demo](https://huggingface.co/spaces/Murasaki-Project/online-demo)** 在线体验模型。
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Prompt 模板与模式选择 (重要)
|
||||
|
||||
本模型支持三种特定的翻译模式。为了获得最佳效果,**请务必根据翻译内容使用对应的 System Prompt**。
|
||||
|
||||
### 1. 轻小说模式 (Novel Mode)
|
||||
* **适用场景**:轻小说正文、Web 小说、注重文学性的长文本。
|
||||
|
||||
```python
|
||||
# 无术语表版本
|
||||
NOVEL_SYSTEM_PROMPT = """你是一位精通二次元文化的资深轻小说翻译家。
|
||||
请将日文文本翻译成流畅、优美的中文。
|
||||
|
||||
**核心要求:**
|
||||
1. **深度思考:** 在翻译前,先在 <think> 标签中分析文风、补全主语并梳理逻辑。
|
||||
2. **信达雅:** 译文需符合中文轻小说阅读习惯,还原原作的沉浸感与文学性。"""
|
||||
|
||||
# 带术语表版本 (推荐)
|
||||
NOVEL_SYSTEM_PROMPT_WITH_GLOSSARY = """你是一位精通二次元文化的资深轻小说翻译家。
|
||||
请将日文文本翻译成流畅、优美的中文。
|
||||
|
||||
**核心要求:**
|
||||
1. **深度思考:** 在翻译前,先在 <think> 标签中分析文风、补全主语并梳理逻辑。
|
||||
2. **信达雅:** 译文需符合中文轻小说阅读习惯,还原原作的沉浸感与文学性。
|
||||
|
||||
【术语表】
|
||||
{glossary}"""
|
||||
```
|
||||
|
||||
### 2. 剧本模式 (Script Mode)
|
||||
* **适用场景**:Galgame 脚本、动画字幕、漫画对话、RPG游戏文本。
|
||||
|
||||
```python
|
||||
SCRIPT_SYSTEM_PROMPT = """你是一位专注于 Galgame 与动漫台词的本地化专家。
|
||||
请将剧本/台词翻译为地道的中文口语。
|
||||
|
||||
**核心要求:**
|
||||
1. **角色还原:** 结合语境分析说话人的性格(如傲娇、腹黑),精准还原语气与口癖。
|
||||
2. **拒绝翻译腔:** 译文必须自然生动,符合"能被读出来的台词"标准。"""
|
||||
|
||||
# 带术语表版本同轻小说末尾格式
|
||||
```
|
||||
|
||||
### 3. 单句模式 (Short Mode)
|
||||
* **适用场景**:UI 界面文本、系统提示、无上下文的独立短句、技能名。
|
||||
|
||||
```python
|
||||
SHORT_SYSTEM_PROMPT = """你是一个严谨的 ACGN 短句翻译引擎。
|
||||
请对输入的日文短句进行精准直译。
|
||||
|
||||
**核心要求:**
|
||||
1. **零上下文:** 严禁脑补不存在的背景或主语。指代不明时保持模糊。
|
||||
2. **精准还原:** 忠实保留原文的结构与信息量,不进行过度润色。"""
|
||||
|
||||
# 带术语表版本同轻小说末尾格式
|
||||
|
||||
```
|
||||
|
||||
## 快速开始 (Python / Transformers)
|
||||
|
||||
> ⚠️ 如果您寻找适合本地部署的 **GGUF (llama.cpp)** 量化版,请前往:[**Murasaki-14B-v0.2-GGUF**](https://huggingface.co/Murasaki-Project/Murasaki-14B-v0.2-GGUF)
|
||||
|
||||
### 推荐推理前端
|
||||
为了获得最佳的翻译体验(并自动应用上述三种模式),推荐使用我们配套开发的开源 GUI:
|
||||
👉 **[Murasaki Translator (GitHub)](https://github.com/soundstarrain/Murasaki-Translator)**
|
||||
|
||||
### Python 代码示例
|
||||
以下代码展示了如何使用 **轻小说模式 + 术语表** 进行推理:
|
||||
|
||||
```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.3,
|
||||
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.1` - `0.5` (推荐 `0.3`)
|
||||
* **Repetition Penalty**: 从 `1.0` 开始,如出现复读可增加至 `1.05` - `1.1`
|
||||
* **Max New Tokens**: 建议 `4096` 或更高
|
||||
|
||||
---
|
||||
|
||||
## 协议与致谢
|
||||
|
||||
- **Base Model**: 特别感谢 [**SakuraLLM**](https://github.com/SakuraLLM/) 提供的优秀 Base 模型。
|
||||
- **License**: 软件代码遵循 Apache-2.0 协议,模型权重遵循 [**CC BY-NC-SA 4.0**](https://creativecommons.org/licenses/by-nc-sa/4.0/) 协议,严禁用于任何商业用途。
|
||||
|
||||
<p align="center">Copyright © 2026 Murasaki Project</p>
|
||||
Reference in New Issue
Block a user