Arbiter 本地 Serving
使用 Jev-compatible HTTP API 服务 Laya,提供 checkpoint 路由、batch、metrics、Playground 与 NVIDIA / Apple Silicon recipe。
git clone https://github.com/0xBakeer/arbiter.git
cd arbiter
./run.sh setup
./run.sh serveArbiter 是一个面向 typed-decision 模型的轻量 HTTP 服务层。它兼容 TypeSafe 的 Jev API(POST /v1/systemone),原本对接 Jev 的客户端只要改 base URL 就能用;三个 Laya checkpoint 同时常驻内存,并自动路由。
安装
需要 Python 3.12+,分两条路线:NVIDIA GPU(CUDA 13.0 的 wheel,支持 aarch64 和 x86_64),或 Apple Silicon(PyTorch MPS,另有可选的 MLX 引擎)。
git clone https://github.com/0xBakeer/arbiter.git
cd arbiter
./run.sh setup # 虚拟环境、torch、依赖和三个 checkpoint(2.3 GB)
./run.sh serve # http://localhost:8010
其余操作用 ./run.sh status、smoke、examples、bench、test、stop。服务在 / 提供一个 Playground 页面,在 /showcase/ 提供六个浏览器小游戏。
实测速度(项目 README,经 HTTP 端到端)
| 1 个问题 | 10 个 | 50 个 | |
|---|---|---|---|
| NVIDIA GB10,LLM 空闲 | 20.9 ms | 40.0 ms | 152.4 ms |
| NVIDIA GB10,旁边的 LLM 正忙 | 326.6 ms | 258.1 ms | 381.6 ms |
| Apple M2 Max,fp32 | 30.3 ms | 107.4 ms | 462.3 ms |
Apple M2 Max,laya_mlx 引擎 | 22.7 ms | 102.7 ms | 448.4 ms |
三个 checkpoint 合计约占 5 GB 显存(bf16 下约 2.9 GB),可以和大模型共用一张卡。不过大模型正在生成时,调用会慢 10–15 倍左右。
路由
你传的 model | 实际运行 |
|---|---|
"laya"、"auto"、"jev-latest" 或不传 | 按文字脚本和语言自动选择 |
"english" / "laya-english" | 英文,512 token |
"multilingual" / "laya-multilingual" | 100+ 语言,1,024 token |
"typed-decisions" | 微调版 checkpoint,不会被自动选中 |
重要配置
ARBITER_API_KEY:设置后必须带Authorization: Bearer <key>。ARBITER_MODELS:只加载部分 checkpoint(只要英文约 1.9 GB)。ARBITER_DTYPE=bf16:CUDA 上快 15–35%,但概率最多偏移 2.1e-2,所以默认仍是autocast。ARBITER_MODE=graphs(仅 CUDA):单个小请求快约 20%,大请求反而更慢。/metrics提供 Prometheus 指标,/readyz表示 checkpoint 已加载并预热完成。
集成与示例
附带九个可运行示例:客服分流、邮件分流、Agent 命令行防护、PR 风险门禁、告警分流、模型路由、RAG 相关性、内容审核和发票字段识别。还提供 MCP Server 和 Claude Code 插件(用 PreToolUse 钩子在执行每条 Bash 命令前做判断),详见 Laya 集成。
什么时候选它
如果你需要跨请求的微批处理、Prometheus 监控、Playground,以及按机器实测过的部署方案,选 Arbiter 而不是上游的 laya-serve。模型本身的限制依然存在:基础 checkpoint 在自定义工作流上 zero-shot 较弱,概率也需要先校准。
来源:0xBakeer/arbiter · MIT(模型权重为 Apache 2.0)。
最后对照项目 README 核实:2026 年 9 月 24 日。