--- summary: "使用经过验证的 ONNX 分类器在本地运行类型化决策" title: "本地 ONNX 决策模型" read_when: - "您想要一个没有托管 API 的本地决策模型" - "您正在安装或检查 ONNX 模型工件" --- # 本地ONNX决定模型 可安装的 **ONNX** 插件通过 [ 决策模型 API](/plugins/sdk-overview/capabilities#decision-models-contract-version-1) 在本地运行分类器。它使用单独的、持久的 Node 进程和 ONNX 运行时的 CPU 后端。推理不会将状态或问题发送到远程服务。仅当您显式运行下载命令时才会下载模型。 有关模型角色、标题示例和提供商中立插件 API,请参阅 [ 决策模型](/concepts/decision-models)。 ## 设置 决策提供者 API 在发布 OpenClaw `2026.9.5` 后添加。打包的 ONNX 安装需要至少 `2026.9.6` 的主机和插件 API;安装程序在加载插件之前拒绝 `2026.9.5`。本机运行时属于插件包,不捆绑到核心中。 ### 当前开发结账 在支持版本可用之前,请使用包含决策提供程序 API 和 `extensions/onnx` 的 OpenClaw 源签出。使用 `pnpm install --frozen-lockfile` 和 `pnpm build` 构建该结帐,然后启用插件并使用以下配置选择其模型。从结帐运行命令: ```sh pnpm openclaw onnx models pnpm openclaw onnx download gliclass-edge-v3.0 pnpm openclaw onnx probe gliclass-edge-v3.0 ``` checkout 的同版本源插件使用主机的开发 API。这不会使打包的插件与已发布的 `2026.9.5` 主机兼容。 ### 打包安装 在兼容的主机上,安装本地构建的包并准备模型: ```sh openclaw plugins install npm-pack:/path/to/openclaw-onnx.tgz openclaw onnx models openclaw onnx download gliclass-edge-v3.0 openclaw onnx probe gliclass-edge-v3.0 ``` ### 配置 选择全局或一个代理的角色: ```json5 { agents: { defaults: { decisionModel: "onnx/gliclass-edge-v3.0" }, }, plugins: { entries: { onnx: { enabled: true, config: { threads: 2, maxLoadedModels: 2 }, }, }, }, } ``` 默认工件目录是 `/models/onnx`。设置插件的`modelDir`使用其他目录; `download`、`verify` 和 `probe` 命令也接受 `--model-dir `。工件按模型 ID 分组。下载使用固定存储库修订版、大小和 SHA256 哈希值。现有的不匹配文件将被拒绝而不是被覆盖。 `openclaw onnx verify ` 检查安装。验证和缓存下载检查流式传输文件,因此检查大图不需要图大小的内存缓冲区。推理仍然将经过验证的图形字节加载到其工作线程中。 ## 模型 | 模型 ID | 来源 | 准备 | | ------------------------------- | ---------------------------------------------- | ------------ | | `deberta-v3-base-zeroshot-v2.0` | Moritz Laurer 的官方 ONNX 出口 | `download` | | `gliclass-base-v3.0` | Knowledgator模型,cnmoro ONNX转换 | `download` | | `gliclass-edge-v3.0` | Knowledgator模型,cnmoro ONNX转换 | `download` | | `gliclass-instruct-base-v1.0` | 知识者模型 | 本地出口 | | `gliclass-instruct-edge-v1.0` | 知识者模型 | 本地出口 | | `gliner2.5-base-v1` | Fastino模型,nicolasmbleton ONNX转换 | `download` | | `gliner2.5-small-v1` | Fastino模型,nicolasmbleton ONNX转换 | `download` | 托管预设使用 FP32 图表。模型许可证和转换源从原始 [GLiClass](https://github.com/Knowledgator/GLiClass)、[GLiNER2](https://github.com/fastino-ai/GLiNER2) 和 [DeBERTa model](https://huggingface.co/MoritzLaurer/deberta-v3-base-zeroshot-v2.0) 页面链接。下载的权重与 OpenClaw 的包分开。 对于 Instruct 模型,请将已安装插件的 `dist/scripts/export-gliclass-instruct.py` 帮助程序与 `--help` 列出的固定 Python 包一起使用。提供由 `openclaw onnx models` 打印的确切官方检查点修订版的本地副本: ```sh python export-gliclass-instruct.py --model edge \ --source /path/to/checkpoint \ --output /path/to/models/gliclass-instruct-edge-v1.0 openclaw onnx verify gliclass-instruct-edge-v1.0 --model-dir /path/to/models ``` 帮助程序验证源文件,无需远程模型代码或下载即可运行,并创建一个包含图形、标记生成器和 `model.json` 导出清单的新目录。本地导出是操作员提供的工件:运行时检查其声明的源版本和文件哈希值。他们的图哈希不是已发布的第三方证明。此导出不支持少数镜头示例部分。 ## 问题语义 这些模型根据标题对文本进行分类。 JSON 状态和标题条目被序列化为文本;说明和标准描述条件分类。尽可能使用描述性标准而不是不透明的 ID。 - **选择:** 对模型的完整标签 logits 进行 softmax;概率最高的标签获胜。 - **Score:** 对有序标准级别进行分类,然后返回其期望的从零开始的索引。 - **Boolean:** 提供 `criteria.true` 和 `criteria.false` 作为有意义的谓词描述。不支持纯布尔问题,因为 `true` 和 `false` 等标签不能可靠地表达零样本谓词。 概率是模型估计,而不是校准保证。这些分类器在每个推理任务上都不能与 Jev 互换。在依赖其决策质量之前,先在代表性示例上验证该标题。 该插件最多支持 32 个问题,每个问题有 64 个标签,整个批次中编译输入的限制为 1-MiB。每个编码输入(包括其标题)必须适合 512 个标记。它拒绝不支持的输入而不是截断它。 GLiClass 保留其标签、分隔符和示例标记。 GLiNER2.5 还拒绝规则中模式的保留标记和括号;普通状态文本可以包含标点符号。 ## 生命周期和运行时 在插件服务启动期间,最多 `maxLoadedModels` 选定的模型会预热。稍后的请求重用本机会话;当常驻缓存已满时,将逐出最近最少使用的模型。丢失的文件和失败的工件完整性检查使热会话保持可用。驱逐发生在工件验证和标记器准备之后、加载替换本机会话之前。 `threads` 将 CPU 操作内并行度从 1 设置为 8。 冷加载大型模型可能会耗尽较慢机器上请求的最后期限。主机允许最多30秒;消费者可以要求更少。当代理使用多个模型时,如果内存允许,请设置 `maxLoadedModels` 以保存活动模型,或选择较小的模型。默认缓存保存两个模型;最多为 5 个。 主办方仍然执行 30 秒决策期限和四次呼叫提供商限制。工作线程序列化本机操作。排队取消会使热进程保持不变;取消活动的本机工作会在释放请求之前终止并加入该进程。下一个实时请求会启动一个新的工作人员。插件退休会停止工作人员及其拥有的工作。 运行时需要支持的 Node.js 和可选的 `onnxruntime-node` 本机包。 CPU 推理是初始后端;此插件未启用 GPU 和 WASM 执行。本机库和模型标记器加载在工作人员内部,使它们远离网关发现和普通插件注册。