本地推理 · 工具调用微调 · Apache 2.0

把工具调用,装进 2B 本地模型。

LycheeAI-coder-2b-II-pro 是基于 MiniCPM5-2B 进行 LoRA 微调的中文编程助手。重点不是替代大模型,而是在自己的电脑上,以更低的资源占用完成代码问答和可控的工具调用。

2BREADY
点击任意节点,观察一次工具路由
2BMiniCPM5-2B 基座
1.42 GBMLX 4bit 磁盘体积
59.0 tok/sM4 Mac 实测生成速度
26 / 27v7 项目内部验收

BASE MODEL · MINICPM5-2B

小底座,也有完整的能力基础

MiniCPM5-2B 是 OpenBMB 面向本地助手、Coding Agent、工具调用与紧凑推理场景发布的稠密模型。以下底座数据只取自 MiniCPM5-2B 官方模型卡,不混用系列中其他型号的参数或评测。

2,516,756,480 参数约 25.17 亿参数、42 层;采用 GQA,包含 16 个 Q heads 与 2 个 KV heads。
代码与 Agent 数据官方披露的训练数据包含代码数据、约 50 万条 Agent SFT 样本,以及覆盖代码等任务的 8 万余条强化学习样本。
标准架构,多种运行时采用标准 LlamaForCausalLM,官方提供 Transformers、vLLM、SGLang、llama.cpp、MLX 与 GGUF 等运行路径。
131,072 上下文2B 官方模型卡明确标注为 131,072(128K);本项目微调长度为 2048,微调版仍按 2048 保守使用。
口径说明:官方在其对比集合中报告平均分 53.9,称达到 2B 级开源 SOTA;这并非本项目独立复测,微调也可能改变底座能力。 只查看 2B 官方模型卡 →

WHY LOCAL 2B

小,是明确的取舍

2B 参数换来的不是云端大模型级推理,而是低占用、快响应和代码不离开设备。适合个人开发者做本地代码问答,也适合作为小型 Agent 的工具路由核心。

  • 推理可以完全离线模型加载到本机后,无需把代码发送给第三方模型服务。
  • 围绕工具调用训练覆盖单步、多步、并列调用和工具结果解读,默认输出裸 JSON。
  • 三种格式按设备选择Mac 用 MLX,Ollama / llama.cpp 用 GGUF,继续微调或 CUDA 用 f16。
  • 训练过程可复现LoRA 数据、训练脚本和回归检查随项目公开,许可为 Apache 2.0。

TOOL CALLING

它负责决定,宿主负责执行

模型输出工具名与参数,宿主校验后执行,再把结果喂回模型。这个边界让本地模型保持轻量,也让权限掌握在你的程序手里。

USER帮我算一下 789×123
MODEL{"name":"calculate","arguments":{"expression":"789*123"}}
TOOL97047
MODEL789 × 123 = 97047。

注意:Ollama 对该模型的裸 JSON 不一定自动映射为 tool_calls,宿主应从 content 兜底解析,并校验工具注册表。

CHOOSE A BUILD

按运行方式选版本

同一模型提供三条路径。下面的体积来自项目文档;实际内存、速度会随硬件和运行时变化。

GGUF q8_0

2.50 GB · ~3 GB RAM

适合 Ollama 与 llama.cpp。工具调用场景优先 q8_0,格式稳定性通常比更低量化档更合适。

打开 GGUF 仓库 →

f16

5.03 GB · ~5.5 GB RAM

用于 CUDA、二次量化或继续微调。只想在 Mac 本地使用时,没有必要下载这一版。

打开 f16 仓库 →

QUICK START

在 Apple Silicon 上跑起来

先安装 MLX-LM,再加载 4bit 仓库。首次运行需要联网下载模型,下载完成后可以离线推理。

Terminal · MLX
# 安装运行时
pip install mlx-lm

# 一次性问答
python -m mlx_lm.generate \
  --model whcl412/LycheeAI-coder-2b-II-pro \
  --prompt "帮我写个快速排序"

# 或启动 OpenAI 兼容服务
python -m mlx_lm.server \
  --model whcl412/LycheeAI-coder-2b-II-pro --port 8080

KNOWN LIMITS

先知道它做不到什么

这是 2B 个人微调模型,不应按 GPT、Claude 或 DeepSeek 的能力标准使用。生产接入必须由宿主做校验、限步和错误兜底。

无工具算术可能出错在 system 中明确要求所有计算调用 calculate
工具格式需要宿主兼容优先读标准 tool_calls,没有时再从正文解析裸 JSON。
偶发编造工具名执行前必须检查注册表,未注册工具不能直接运行。
身份依赖 system 提示通用提示下可能答错身份,应在 system 首句写明模型名称。
控制字符与旁白低概率出现格式杂讯;建议低温度并过滤不可见控制字符。
长上下文尚未充分验证2B 官方模型卡标注 131,072 上下文,但本次微调训练长度为 2048,实际以 2048 为稳妥范围。
关于页面数据:59.0 tok/s、42.9 tok/s 和 26/27 均来自项目在指定环境下的内部测试,不是跨模型标准基准,也不保证在其他设备复现。模型输出可能不准确,请在代码合并、命令执行和外部工具调用前人工确认。