首页00月度趋势榜01新星榜02增速榜03HF热榜04总表05搜索06

cactus-compute/needle

Needle 2 是一个仅 45M 参数、权重烧录进单个 14MB 引擎二进制的开源基础模型,专攻微型设备上的工具调用、设备操控与结构化信息抽取,完整会话只需约 28MB 内存。业界主流是让手机塞进几亿参数的通用模型,Cactus 却反向操作:抓住 Agent 场景最刚需的调工具与抽结构两件事,用专精架构压到 14MB、2bit 量化的极限尺寸。

语言
Python
⭐ 总星标
9,280
📅 创建
早期项目
🍴 Forks
0
许可证
未标注
🔥 本月净增
+5,861
在 GitHub 打开 回到总表

配图

信息卡

项目内容
仓库cactus-compute/needle
语言 / 许可证Python / 未标注
总星标⭐ 9280
本月净增星标+5861
榜单GitHub官方月度趋势榜 第31名;星标增速榜 第7名

一句话定位

Needle 2 是一个仅 45M 参数、权重烧录进单个 14MB 引擎二进制的开源基础模型,专攻微型设备上的工具调用、设备操控与结构化信息抽取,完整会话只需约 28MB 内存。

趋势解读:为什么火

业界主流是让手机塞进几亿参数的通用模型,Cactus 却反向操作:抓住 Agent 场景最刚需的调工具与抽结构两件事,用专精架构压到 14MB、2bit 量化的极限尺寸。对 IoT、可穿戴这类跑不动大模型的设备而言近乎唯一解,再加 pip 即装即用的顺滑体验与 arXiv 论文背书,本月以近 5900 星净增挤进双榜前列。

核心功能拆解

7. Playground:`needle playground` 起本地服务在浏览器里改提示词、跑模型,UI 上还有"Finetune on these tools"一键微调按钮。

架构与技术栈浅析

论文(arXiv:2607.18363)提出的 Simple Attention Network 用 Hadamard MLP 取代传统 FFN(Walsh-Hadamard 正交变换,n log n 时间、无可学习矩阵),注意力走 GQA,辅以哈希 n-gram 表构成的 engram 键值记忆与多通道 hyper-connections;残差 Sandwich-norm 加 σ 门控,路由 logits 经 Sinkhorn 迭代做双随机归一化。训练栈是纯 JAX,CUDA 与 Apple Metal 经 extra 即装即用;推理引擎首次运行从 Hugging Face 下载缓存一次,之后离线可用,气隙设备的离线部署有 doc/apis.md 专门覆盖。

安装与环境要求

pip install cactus-needle            # 基础安装(自动拉取引擎)
pip install "cactus-needle[gpu]"     # NVIDIA GPU 训练
pip install "cactus-needle[metal]"   # Apple Silicon GPU 训练

说明工具时写好函数签名与 docstring 是效果好坏的关键。

快速上手示例

import needle

@needle.tool
def get_weather(city: str):
    "Get the current weather for a city."
    return {"city": city, "temp_c": 27, "sky": "clear"}

agent = needle.Needle(tools=[get_weather])
print(agent.run("what's it like in Lagos right now?")["results"])

结构化抽取同样一小段搞定:定义 Pydantic 模型 Invoice 后调用 `needle.extract("Invoice from Acme Corp, $1,200.00, due 2026-09-01", Invoice)` 即返回带类型的对象。

进阶使用要点

典型应用场景

同类生态位对比

同为小型工具调用模型的 FunctionGemma 270M、LFM2.5 230M 与 Apple FM 体量大 5–70 倍且多为 f16 存储,benchmark 上与本模型互有胜负;Raspberry Pi 圈常用的 whisper.cpp/RWKV 更偏语音或通用文本。Needle 走"专用小模型+烧录引擎"路线,牺牲闲聊能力换取确定性结构输出与极致体积,填补了真正的空白生态位。

资源导航

← 上一篇multica-ai/multica下一篇 →pingdotgg/t3code