Instructions to use whcl412/LycheeAI-coder-2b-II-pro-MLX-bf16 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use whcl412/LycheeAI-coder-2b-II-pro-MLX-bf16 with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir LycheeAI-coder-2b-II-pro-MLX-bf16 whcl412/LycheeAI-coder-2b-II-pro-MLX-bf16
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
LycheeAI-coder-2b-II-pro-MLX-bf16
无损版本(bfloat16) · v7 · 基于 MiniCPM5-2B · Apache 2.0 · 5.03 GB
这是 LycheeAI-coder-2b-II-pro 的未量化版本: LoRA adapter 已融合进基座,权重是 bf16 全精度,没有经过任何量化。
MLX 和 transformers 都能直接加载——它是标准 safetensors 格式,所以一套权重两种用法。
和
-f16仓库的关系:同一份权重。两个仓库名只是为了让不同用户都能找到它—— 想在 MLX 上找无损版的人,看到-f16这个名字不会意识到"这个 MLX 也能用"。 如果你只想要一份,用哪个都行,字节完全相同。国内用户推荐 ModelScope:modelscope.cn/models/whcl412/LycheeAI-coder-2b-II-pro-MLX-bf16
什么时候该用这个(而不是 4bit)
| 你的目的 | 用哪个 |
|---|---|
| 就想跑起来用,越省事越好 | MLX 4bit(1.42 GB) |
| 质量基准 / 要"没有量化误差"的结果 | ✅ 本仓库 |
| 在无损基础上做自己的量化(q4/q8/custom) | ✅ 本仓库 |
| 继续微调(续训 LoRA) | ✅ 本仓库(4bit 不能训) |
| 转 GGUF | ✅ 本仓库,或直接用现成的 GGUF 仓库 |
| CUDA 卡上跑 | ✅ 本仓库 |
一句话:要在它身上"再加工",就必须用这个版本;只是想用它,4bit 更省。
快速开始
MLX
pip install mlx-lm
from mlx_lm import load, generate
model, tok = load("whcl412/LycheeAI-coder-2b-II-pro-MLX-bf16")
msgs = [
{"role": "system", "content": "你是 LycheeAI-coder-2b-II-pro,由 MiniCPM5-2B 通过 LoRA 微调而来的编程助手。回答简洁、直接,不谄媚;做不到的事直接说明,不要编造。"},
{"role": "user", "content": "递归是什么?一句话。"},
]
# ★ 必须套 chat template,否则会复读乱码(见下文"踩坑")
prompt = tok.apply_chat_template(msgs, tokenize=False,
add_generation_prompt=True,
enable_thinking=False)
print(generate(model, tok, prompt=prompt, max_tokens=256, verbose=False))
实测输出:
递归是**函数自己调用自己**。
命令行也行(mlx_lm.generate 自己会套模板):
python -m mlx_lm.generate \
--model whcl412/LycheeAI-coder-2b-II-pro-MLX-bf16 \
--prompt "用 Python 写一个二分查找,带注释。" \
--max-tokens 256 --temp 0.4
transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
mid = "whcl412/LycheeAI-coder-2b-II-pro-MLX-bf16"
tok = AutoTokenizer.from_pretrained(mid, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
mid, torch_dtype="bfloat16", device_map="auto", trust_remote_code=True)
工具的用法
和 4bit 版完全一致——模型输出裸 JSON:
{"name": "calculate", "arguments": {"expression": "789*123"}}
完整接入代码(含多步循环、JSON 兜底解析)见主仓库的 宿主接入章节。
⚠️ 踩过的坑
1. 不套 chat template 会复读。
直接 generate(model, tok, prompt="递归是什么?") 会得到类似这样的东西:
还是说:递归是函数自己调用自己。区别很大,对吧。还是说:递归是**把问题缩小到更小的问题**。还是说:…
这不是模型坏了,是你喂的是裸补全而不是对话。用 tok.apply_chat_template(...),
或者干脆用 mlx_lm.generate 命令行。
2. enable_thinking 记得显式传 False。
模板里有 <think> 开关,不传的话没有默认值,输出可能带游离的 </think>。
想要思考内容就传 True,它会单独出现(不混在回答里)。
3. 加载比 4bit 慢、占内存多——这是正常的。
实测对比(MacBook Pro M4 / 16GB):
| MLX 4bit | 本仓库(bf16) | |
|---|---|---|
| 磁盘 | 1.42 GB | 5.03 GB |
| 峰值内存 | 1.52 GB | ~5.5 GB |
| 冷启动 | 3.4 s | ~10 s |
差的是文件大小,不是模型质量——两者输出质量的区别只来自量化误差。
关于这个版本
| 项 | 值 |
|---|---|
| 基座 | MiniCPM5-2B(面壁智能 OpenBMB,Apache 2.0) |
| 精度 | bfloat16(无量化) |
| 微调 | LoRA(rank 8,16 层),已融合进基座 |
| 训练数据 | 精选 980 条 × 1 epoch(490 步) |
| 验收 | 26 / 27(上一版 25/27) |
| 许可 | Apache 2.0(可商用) |
完整能力说明、局限、训练方法论见主仓库: whcl412/LycheeAI-coder-2b-II-pro
已知问题(简版):
① 无工具时算术会算错 → 在 system 里要求"一律调 calculate";
② 通用 system 下身份可能答错 → system 里写清身份;
③ 偶发控制字符 \x08 → 输出前过滤;
④ 偶发工具名幻觉 → 宿主必须查注册表。
📁 文件说明
| 文件 | 大小 | 说明 |
|---|---|---|
model.safetensors |
5,033,556,906 B | bf16 全精度权重(已融合 LoRA) |
model.safetensors.index.json |
— | 分片索引 |
config.json |
— | 无 quantization 字段(= 未量化) |
chat_template.jinja |
— | 含 tools 支持的完整对话模板 |
tokenizer.json / tokenizer_config.json |
— | 分词器 |
generation_config.json |
— | 生成默认参数 |
🙏 致谢
- 基座:MiniCPM5-2B(面壁智能 OpenBMB)
- 许可:Apache 2.0
个人项目,欢迎提 issue。有用的话 Bilibili 关注一下 🤖
- Downloads last month
- 83
Quantized
Model tree for whcl412/LycheeAI-coder-2b-II-pro-MLX-bf16
Base model
openbmb/MiniCPM5-2B