Instructions to use ChisatoY/dolas-zh-finetuned with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use ChisatoY/dolas-zh-finetuned with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf ChisatoY/dolas-zh-finetuned:Q4_K_M # Run inference directly in the terminal: llama cli -hf ChisatoY/dolas-zh-finetuned:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf ChisatoY/dolas-zh-finetuned:Q4_K_M # Run inference directly in the terminal: llama cli -hf ChisatoY/dolas-zh-finetuned:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf ChisatoY/dolas-zh-finetuned:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf ChisatoY/dolas-zh-finetuned:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf ChisatoY/dolas-zh-finetuned:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf ChisatoY/dolas-zh-finetuned:Q4_K_M
Use Docker
docker model run hf.co/ChisatoY/dolas-zh-finetuned:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use ChisatoY/dolas-zh-finetuned with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ChisatoY/dolas-zh-finetuned" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ChisatoY/dolas-zh-finetuned", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ChisatoY/dolas-zh-finetuned:Q4_K_M
- Ollama
How to use ChisatoY/dolas-zh-finetuned with Ollama:
ollama run hf.co/ChisatoY/dolas-zh-finetuned:Q4_K_M
- Unsloth Studio
How to use ChisatoY/dolas-zh-finetuned with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for ChisatoY/dolas-zh-finetuned to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for ChisatoY/dolas-zh-finetuned to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for ChisatoY/dolas-zh-finetuned to start chatting
- Pi
How to use ChisatoY/dolas-zh-finetuned with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ChisatoY/dolas-zh-finetuned:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "ChisatoY/dolas-zh-finetuned:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use ChisatoY/dolas-zh-finetuned with Docker Model Runner:
docker model run hf.co/ChisatoY/dolas-zh-finetuned:Q4_K_M
- Lemonade
How to use ChisatoY/dolas-zh-finetuned with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull ChisatoY/dolas-zh-finetuned:Q4_K_M
Run and chat with the model
lemonade run user.dolas-zh-finetuned-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use ChisatoY/dolas-zh-finetuned with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ChisatoY/dolas-zh-finetuned:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default ChisatoY/dolas-zh-finetuned:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use ChisatoY/dolas-zh-finetuned with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf ChisatoY/dolas-zh-finetuned:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "ChisatoY/dolas-zh-finetuned:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
dolas-zh-finetuned
dolas-zh-finetuned 是一个面向中文文本自然化改写的 Qwen3 4B 微调模型。模型接收带有明显生成式 AI 风格的中文文本,在尽量完整保留事实、语气、名称、数字、日期、单位和引文的前提下,将其改写成更自然的人类中文。
本项目参考 bingbangboom/dolus-v3-ep1-instruct-GGUF 的反向蒸馏思路,以 unsloth/Qwen3-4B-Instruct-2507 为基础模型进行中文 QLoRA SFT。模型不会自动翻译文本;建议仅用于中文改写任务。
1. 数据来源和清洗步骤
1.1 人类原文来源
训练数据的目标文本来自以下公开中文数据集中的人类原文或人类回答:
| 数据源 | 原始候选数 | 清洗后候选数 | 采用领域 |
|---|---|---|---|
CASIA-LM/ChineseWebText2.0 |
300,000 | 123,385 | general、encyclopedia、technology、education、book |
Hello-SimpleAI/HC3-Chinese |
12,853 | 5,893 | open_qa、baike、psychology |
| 合计 | 312,853 | 129,278 | 8 个领域 |
清洗后人类原文池共 129,278 条,文本长度为 120–1,500 个字符,平均约 484.7 个字符,中位数为 424 个字符。
1.2 确定性清洗
人类原文首先经过不调用语言模型的规则清洗:
- 使用 NFKC 进行 Unicode 规范化,解码 HTML 实体。
- 删除
script、style、HTML 标签、URL、邮箱、零宽字符和控制字符。 - 统一空白字符和换行,清除网页版权、责任编辑、来源、二维码、备案信息等尾部模板。
- 按领域白名单筛选;对
ChineseWebText2.0要求质量分不低于0.92,并过滤有毒内容。 - 删除广告推广、平台套话、电话号码、联系方式和可能包含个人联系信息的文本。
- 过滤过短、过长、中文比例低于
0.55、包含替换字符或连续重复字符的文本。 - 对规范化文本计算指纹并进行精确去重。
1.3 反向蒸馏与质量控制
从清洗后的人类原文池中抽取 20,100 条唯一文本,通过 API 将人类原文合成为含有常见生成式 AI 文风的中文文本。训练方向与合成方向相反:
输入:合成的 AI 风格中文
目标:对应的人类原文
合成结果经过两级质量控制:
- 确定性检查:非空、中文比例、无提示词泄漏、数字完整保留、长度比例合理。
- 模型质检:检查事实保留、语义一致性、AI 文风强度及其他明显问题。
最终接受 11,921 条样本,拒绝 8,179 条,接受率为 59.31%。主要拒绝原因包括数字未完整保留、事实或语义变化、AI 文风不明显,以及长度不符合要求。
训练样本固定为三轮消息格式:
system: 将给定的 AI 生成中文改写成自然、熟练的人类中文。完整保留原意、语气和全部关键信息;不得遗漏、添加、虚构或推断原文没有的内容。姓名、标题、组织、数字、统计、日期、单位和引文必须保持不变。只输出改写后的正文。
user: [AI 生成文本]:{待改写文本}
assistant: {自然的人类中文}
2. 微调超参数
模型使用 Unsloth 在单张 32 GB GPU 上进行 4-bit QLoRA SFT,仅对 assistant 回复计算损失。
| 参数 | 值 |
|---|---|
| 基础模型 | unsloth/Qwen3-4B-Instruct-2507 |
| 对话模板 | Qwen3 Instruct / ChatML |
| 最大序列长度 | 4,096 |
| 训练样本数 | 11,921 |
| Epoch | 1 |
| Optimizer steps | 373 |
| 单卡 batch size | 32 |
| 梯度累积 | 1 |
| 有效 batch size | 32 |
| 学习率 | 2e-4 |
| 学习率调度 | cosine |
| Warmup steps | 39 |
| 优化器 | AdamW 8-bit |
| Weight decay | 0.01 |
| LoRA rank | 32 |
| LoRA alpha | 64 |
| LoRA dropout | 0.05 |
| LoRA bias | none |
| LoRA 目标层 | q_proj、k_proj、v_proj、o_proj、gate_proj、up_proj、down_proj |
| Gradient checkpointing | Unsloth |
| Packing | false |
| Loss | assistant only |
| Seed | 3407 |
训练完成后先合并 LoRA 与基础模型,再转换为 F16 GGUF,并导出以下量化版本:
| 文件 | 量化 | 约占空间 | SHA-256 |
|---|---|---|---|
dolas-zh-f16.gguf |
F16 | 7.5 GB | 7838aaade9141a8d54d1b57610b2f67bfd2e5d98c580ff675498d6781fb19dcc |
dolas-zh-q4_k_m.gguf |
Q4_K_M | 2.4 GB | a60901aa0b7ebbe5baca672ce6712fade67862136c39cacabb623f167c9d7769 |
dolas-zh-q8_0.gguf |
Q8_0 | 4.0 GB | ebb0b77dd2e9f87f800cb1f932d00817777ee8bd4f5b9b41a82ce199a061d04f |
3. 模型加载
3.1 Transformers 加载合并模型
以下方式适用于包含 config.json、tokenizer 文件及合并后 Safetensors 权重的 Hugging Face 格式目录。请将 YOUR_USERNAME 替换为实际的 Hugging Face 用户名或组织名。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "YOUR_USERNAME/dolas-zh-finetuned"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{
"role": "system",
"content": (
"将给定的 AI 生成中文改写成自然、熟练的人类中文。"
"完整保留原意、语气和全部关键信息;不得遗漏、添加、虚构或推断原文没有的内容。"
"姓名、标题、组织、数字、统计、日期、单位和引文必须保持不变。只输出改写后的正文。"
),
},
{
"role": "user",
"content": "[AI 生成文本]:在此填写需要自然化改写的中文文本。",
},
]
prompt = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.inference_mode():
output = model.generate(
**inputs,
max_new_tokens=512,
do_sample=True,
temperature=0.45,
top_p=0.90,
top_k=40,
repetition_penalty=1.15,
pad_token_id=tokenizer.eos_token_id,
)
generated = output[0, inputs["input_ids"].shape[1] :]
print(tokenizer.decode(generated, skip_special_tokens=True).strip())
3.2 llama.cpp 加载 GGUF
推荐日常使用 Q4_K_M,需要更高保真度时可使用 Q8_0。
./llama-cli \
-m ./dolas-zh-q4_k_m.gguf \
-sys '将给定的 AI 生成中文改写成自然、熟练的人类中文。完整保留原意、语气和全部关键信息;不得遗漏、添加、虚构或推断原文没有的内容。姓名、标题、组织、数字、统计、日期、单位和引文必须保持不变。只输出改写后的正文。' \
-p '[AI 生成文本]:在此填写需要自然化改写的中文文本。' \
--single-turn \
--predict 512 \
--temp 0.45 \
--top-p 0.90 \
--top-k 40 \
--repeat-penalty 1.15
若使用支持 GGUF 的图形界面(例如 LM Studio),应保留同一 system prompt 和 [AI 生成文本]: 输入前缀。当前模型在较高温度下偶尔会增加套话或产生半角中文标点,建议从 temperature=0.35–0.55 开始测试,并在事实敏感场景中人工核对改写结果。
- Downloads last month
- -
Model tree for ChisatoY/dolas-zh-finetuned
Base model
Qwen/Qwen3-4B-Instruct-2507