先读定义,再选工具
“列出文件”与“搜索文件内容”并不是同一件事。依据工具定义与参数结构选择,而不只认一个眼熟的工具名。
小模型,专注工具调用的判断。
我们的 AI 业务,现以 FinchAI 为名。首个模型 Rune1-Preview 面向本地 Agent:选择合适的工具,确认参数是否齐全,也判断什么时候不必调用。
基于面壁智能 OpenBMB MiniCPM-V 4.7-1B 进行 LoRA 微调。这是一份专注特定场景的预览版,不是全能助手。
这是预设交互示例,不是在线推理;不会执行工具,也不会上传数据。
微调关注的是执行前的判断。真正的权限校验、参数校验与执行控制,仍由接入它的应用负责。
“列出文件”与“搜索文件内容”并不是同一件事。依据工具定义与参数结构选择,而不只认一个眼熟的工具名。
没有给出必填目录时,先询问路径,不猜一个位置去执行。参数已经完整时,则不应重复追问。
训练包含“调用出错 → 阅读错误 → 修正后重试”的样本。这是训练目标,不代表每一次真实错误都能自动解决。
工具调用是一份结构化提议,不代表操作已经执行。把模型判断与应用执行分开,才能保留可检查、可拒绝、可确认的边界。
传入用户请求与工具定义,明确用途、必填项及参数结构。
选择合适的工具、询问缺失信息,或在不需要工具时直接回答。
宿主检查工具名、参数、权限及用户确认,不直接执行未知调用。
把工具的真实结果或错误回填给模型,让后续回答有执行证据。
训练沙箱会变化工具名、路径和参数结构。目标是让模型阅读当轮定义,而不是背下某个固定工具的调用写法。以下均为项目发布说明中的训练设计。
Agent 样本包含标准调用、报错恢复、工具消歧、不调用工具及参数反问。项目说明不含真实用户数据。
文档描述了 20 个训练沙箱与 6 个留出沙箱。生成器阻止留出样本进入训练,并隔离工具名、路径与文件名。
在 chat template 渲染后检查 token 预算与标识符,并核对调用中的参数名是否属于对应工具定义。
LoRA r=8 / alpha=16,可训练参数约 7.47M,占模型约 0.48%;视觉模块被排除。这说明训练范围,并不等于质量保证。
多轮迭代修正了参数结构不一致,补入正反例,并扩展句式覆盖。这些措施能减少直接重合与矛盾示范,但不能据此断言所有数据泄漏或泛化问题都已消除。
项目使用七组、共 27 条探针做内部验收。下面列出与工具判断相关的分项,数据来自项目发布说明,并非独立第三方评测。
| 验收项目 | 基座 | Rune1 |
|---|---|---|
| 缺参数反问 | 0/3 | 3/3 |
| 相似工具选择 | 0/3 | 3/3 |
| 无需工具的判断 | 3/3 | 3/3 |
| 留出沙箱调用 | 6/6 | 6/6 |
探针数量少,且由项目自行设计;通过比例不能外推为真实任务成功率。陌生句式与工具环境仍可能失败。
完整权重保留视觉组件,但本次 LoRA 没有针对视觉训练。不能用这些探针宣称视觉能力或长上下文能力已得到验证。
以下来自项目在 MacBook Pro M4 / 10 核 / 16 GB / MPS 上的实测记录。输入长度、运行时版本和后端都会影响资源占用。
训练记录为 600 条样本 × 2 epoch 约 63 分钟,0.5 epoch 增量训练约 14 分钟。这些是训练耗时,不是推理速度,也不是每秒输出 token 数。
文档将较高峰值与长样本关联。请勿为了复现实测而取消系统内存限制;应从短输入开始,并遵循当前运行时的配置说明。
本版发布完整的 f16 命名 safetensors 权重,实际存储精度为 bfloat16,约 2.91 GiB。使用 Transformers 接入;当前没有发布 GGUF 或 MLX 权重。
pip install "transformers>=5.18.0" torch acceleratefrom transformers import AutoProcessor, AutoModelForImageTextToText
model_id = "whcl412/FinchAI-Rune1-Preview-f16"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(
model_id, dtype="bfloat16", device_map="auto"
)生成前需套用模型的 chat template 并传入工具定义。完整推理与训练脚本见仓库;运行环境兼容性以模型卡为准。
项目实测环境:MacBook Pro M4 / 10 核 / 16 GB / MPS。约 6.5 GB 的峰值占用仅对应文档中的测试条件,不构成统一内存要求或速度保证。
Rune1 是 Agent 中一个专注的组件,不应替代整套系统。任务设计需要说明何时追问、何时校验、何时交给更强的模型,以及何时停止执行。
可以从文件列表、内容搜索、计算器等小型工具注册表开始。必填参数要明确,错误信息要能解释缺少什么、为什么失败。
算法设计和很长的多步任务并不是已经验证的强项。应拆分问题,或交给能力更强的模型,不要靠反复猜测推进。
950 token 是训练序列上限,不是架构上下文窗口。更长输入的实际质量,以及视觉任务表现,都没有由这次微调验收验证。
未知工具名、格式错误和陌生句式误判仍可能出现。宿主必须检查白名单与参数结构;删除、覆盖等操作还要取得明确确认。
接入后建议自测:参数完整、缺少参数、相似工具、无关问题、工具报错。请补充你自己的场景;项目探针不能替代应用验收。
不适合这样理解。它专注工具判断,复杂推理、算法设计和长文档不是强项。必要时应拆分任务,或交给能力更强的模型。
OpenBMB 底座本身是多模态模型;Rune1 的完整权重也保留视觉组件。但此次 LoRA 只训练文本主干,没有证据说明视觉任务得到增强,因此不把它作为本版卖点。
训练序列上限为 950 token,更长输入的实际效果没有验证。未知工具名、陌生句式误判与游离思考标签仍是已知风险,必须由宿主校验与兜底。
项目标注 Apache 2.0,与基座许可一致。使用时请保留许可要求的声明,并核对模型仓库及依赖的适用条款。
获取权重、查看训练材料,再用你自己的工具与任务验证。此前的 LycheeAI 模型介绍页继续保留。
底座与环境参考: OpenBMB MiniCPM-V 4.7-1B · Preview 发布说明:2026-10-17。训练与验收数据由项目提供,本页面未独立复现训练结果。