Needle-rs:纯Rust + WebAssembly的工具调用运行时
项目概述
needle-rs 是一个纯Rust + WebAssembly实现的运行时环境,用于运行Cactus Compute开发的Needle模型。这是一个2600万参数的transformer模型,能够将(查询语句 + 工具列表)转换为JSON函数调用,仅需一次前向传播即可完成。
核心优势
- 轻量级部署:整个agent仅占23 MB,相比传统方案(如llama.cpp需700+ MB)大幅减小
- 无需服务器:不需要API密钥,完全本地运行
- 多平台支持:可部署到浏览器、边缘计算节点、CLI、Python和嵌入式系统
- 隐私保护:数据不离开本地设备
性能对比
与OpenAI函数调用、llama.cpp等方案相比:
- 部署大小:仅258 KB + 22 MB模型
- 延迟:约280毫秒
- 成本:完全免费
- 准确度:相同的路由准确率
技术特点
- 编码器-解码器架构:编码器读取查询和工具定义,解码器逐token生成JSON函数调用
- INT4量化:使用4位量化降低内存占用,支持AVX2、NEON等加速
- 受约束解码:确保输出始终是语法正确的JSON
- 支持两种schema格式:兼容扁平格式和OpenAI格式
- 贪婪解码:仅使用argmax,不支持随机采样
原文链接:https://github.com/Geekgineer/needle-rs
Weave - Git 的实体级语义合并工具
Weave 是 Ataraxy Labs 开发的一款智能 Git 合并驱动程序,通过理解代码结构来解决 Git 无法处理的合并冲突。
核心问题
Git 采用基于行的合并方式,当两个分支在同一文件添加代码时(即使是完全不同的函数),Git 会因为行范围重叠而报告冲突。这种情况在多个 AI 代理协同工作时尤为常见,导致大量误报冲突需要人工介入。
Weave 的解决方案
Weave 实现了实体级合并机制:
- 语义解析:使用 tree-sitter 将代码解析为语义实体(函数、类、JSON 键等)
- 智能匹配:根据名称、类型和作用域匹配不同版本的实体
- 实体级合并:
- 不同实体的修改 → 自动解决
- 同一实体的修改 → 尝试内部合并
- 一方修改、一方删除 → 标记有意义的冲突
性能对比
测试场景对比(31个真实合并场景):
- Weave: 31/31 清洁合并(100%)
- Mergiraf: 26/31(83%)
- Git: 15/31(48%)
原文链接:https://github.com/Ataraxy-Labs/weave
bonsai-bt v0.12.0 发布:引入实时可视化功能
主要更新内容
- bonsai-bt crate 发布 v0.12.0 版本
- 新增实时可视化功能,通过
visualize特性标志启用 - 可通过浏览器访问实时图形界面
- 便于调试行为树和执行流程
项目信息
- 仓库地址:https://github.com/Sollimann/bonsai
关于行为树
- 行为树本质上源自有限状态机(FSM)
- 相比有限状态机,行为树在状态空间增长时,更易于维护和构建复杂的条件逻辑
原文链接:https://github.com/Sollimann/bonsai
Rust应用的Rails风格REPL工具
作者创建了名为rhai-console的Rust crate,旨在为Rust应用提供类似Ruby Rails Console或Python Django Shell的运维REPL功能。
主要特点
- 交互式REPL和脚本运行器:用户只需提供应用状态和模块注册,即可获得一个CLI工具
- 基于Rhai脚本层:使用Rhai作为脚本引擎,简化了运维任务DSL的配置
- 运维导向:专为应用的运维操作设计,可直接与应用代码交互
项目状态
- 当前版本:v0.0.1(早期阶段,存在一些粗糙之处)
- 开发者欢迎反馈和试用
相关资源
- 博客文章:https://iancarey.ie/blog/rhaiconsole(介绍构建动机和灵感来源)
- Crate地址:https://crates.io/crates/rhai-console
- 源代码:https://github.com/careyi3/rhai-console
- 示例应用:https://github.com/careyi3/rhai-ops
原文链接:https://iancarey.ie/blog/rhaiconsole(介绍构建动机和灵感来源)
评论区
写评论还没有评论