GGitHub 趋势观察站
每日 07:00 更新
← 返回今日榜单

cactus-compute /

needle

面向手机、穿戴设备和机器人等小型设备的 14MB 基础模型。

访问 GitHub 仓库 ↗
最近上榜 · 2026-09-20#14

当日排名

+207当日新增 Star11,587总 Star

Needle 2:在极小内存设备上运行结构化工具调用模型

一分钟看懂

Needle 2 是一个面向工具调用、设备控制和结构化提取的开放 4500 万参数模型。模型与引擎打包为约 14MB 二进制,完整会话约占 28MB RAM;通过从工具 schema 编译出的字节级 grammar 约束输出,并为每次结果提供置信度,目标是在移动端、家电和离线设备上完成小而确定的 Agent 动作。

你可以用它做什么

  • 用 Python 装饰普通函数,让模型选择工具、填写参数、执行并汇总结果。
  • 用 Pydantic 模型把发票、表单或自然语言抽取成类型化对象。
  • 在智能家居、媒体播放器、可穿戴设备等预制环境上开发控制界面。
  • 对自己的工具和表达方式做 LoRA 微调,再导出单一 .cact 文件离线运行。
  • 用置信度阈值决定自动执行还是升级给更大模型/人工。

主要能力

它采用 Simple Attention Network、CQ2 量化、256 token 滑动窗口和固定工具 KV sink,使长期会话内存保持有界。大型工具目录会先检索每轮最相关的五个工具,再把 grammar 限制在该子集。推理无需网络;Python 包首次从 Hugging Face 获取引擎并缓存,也有隔离网安装说明。

适合哪些人

适合 IoT、移动端、边缘计算和隐私敏感设备开发者,也适合需要低成本结构化抽取或简单函数路由的团队。复杂推理、长文档问答和开放式聊天不是它的优势。

怎么开始使用

执行 pip install cactus-needle,用 @needle.tool 装饰带类型签名和清晰 docstring 的函数,再创建 needle.Needle(tools=[...]) 并调用 run()。抽取任务用 needle.extract(text, PydanticModel)。微调需安装 [train] extra,按文档准备 JSONL、运行 LoRA 训练并 build 为 .cact。

使用前需要知道

窗口只有 256 token,且官方建议每轮暴露不超过五个工具;工具描述质量直接决定表现。小模型的置信度并非安全保证,高风险设备动作仍需硬规则和人工确认。可选训练数据生成依赖 OpenRouter/兼容端点并可能收费。项目收集不含提示和输出的匿名用量遥测,可设 NEEDLE_TELEMETRY=0 或 DO_NOT_TRACK=1 退出。

官方资料