Files

36 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

# 2026-07-01
## 发布 minicpm crates 到 Gitea Cargo Registry
- 修改了三个 crate 的 `Cargo.toml`:添加 `publish = ["gitea"]`,并为 `minicpm-convert``minicpm-inference``minicpm-core` 依赖添加 `version = "0.1.0", registry = "gitea"`
- Gitea registry: `sparse+http://macrocc.com:3000/api/packages/macrocc/cargo/`registry 名称为 `gitea`
- `minicpm-core@0.1.0` 已存在于 registry,跳过发布
- `minicpm-convert@0.1.0` 发布成功
- `minicpm-inference@0.1.0` 发布成功
## burn 最小依赖 + 重发布 (0.1.1)
- burn 改为 `default-features = false, features = ["std"]`,移除 `wgpu`wgpu 交给下游 binary 选择)
- 三个 crate 版本升级到 0.1.1convert/inference 的 minicpm-core 依赖也更新到 0.1.1
- 发布顺序:`cargo publish --allow-dirty --registry gitea -p minicpm-core``minicpm-convert``minicpm-inference`
- 全部发布成功
## 添加流式输出
- `minicpm-inference/src/lib.rs`: 新增 `generate_stream` 函数和 `MiniCPM::generate_stream` 方法,每 token 通过回调 `impl FnMut(&str)` 输出解码文本
- `examples/minimal-inference/src/main.rs`: 改为流式调用,`print!` + `flush` 实时输出
## 升级 0.1.2 重新发布(含流式功能)
- minicpm-core, minicpm-convert, minicpm-inference 全部升级到 0.1.2
- 发布全部成功
## Q8 量化导出和加载
- `minicpm-convert`: 新增 `export_model_q8`2D 权重 per-tensor INT8 量化(scale = max(|f|)/127),1D norm 权重存 F16;输出 `model.q8.json` + `model.q8.bin`
- `minicpm-inference`: 新增 `MiniCPM::load_q8`,加载 Q8 模型并在内存中反量化为 f32 推理;新增依赖 `memmap2``serde``serde_json`
- `examples/convert`: 支持 Q8 导出
- `examples/minimal-inference`: 支持 `--full|--half|--q8` 三种模式
- 量化方式:`q = clamp(round(f / scale), -127, 127)``f' = q * scale`