Laya 与 Unsloth:本地跑 Jev 兼容决策 API

用 Unsloth Desktop 的 Decision API 本地运行 Laya:图形界面设置、模型大小与内存需求、curl 示例,以及用两个环境变量把已有 Jev 代码迁移过来。

最后更新: 2026/9/29

Unsloth(GitHub 7.6 万星,以本地微调和运行大模型著称)在 Unsloth Desktop 里加了一个 Decision API,用和 TypeSafe Jev 一样的接口格式(POST /v1/systemone)来跑 Laya。整个过程是图形界面操作:打开"Serve requests"、选一个模型尺寸,把已有的 Jev 代码指向 localhost 就行——如果你已经在用 Unsloth,不需要另外装 Python 或起一个服务进程。

本文内容全部来自 Unsloth 官方文档,包括安装步骤、模型选择、一个能跑通的请求示例,以及迁移已有 Jev 代码要注意什么。

模型选项

Unsloth Desktop 提供三个 Laya checkpoint,默认都在 CPU 上跑,也可以在设置里切到 GPU。

模型最低内存下载体积适合场景
多语言版(默认)4 GB678 MB大多数场景。支持 100+ 种语言,1024 token 上下文。
英文版5 GB846 MB仅英文,编码器更大,512 token 上下文。
Typed decisions 版5 GB846 MB仅英文,面向发票处理、安全事件、客服、Agent trace 这类工作流。

CPU 是默认设置;切到 GPU 后模型会一直留在显存里,直到你手动卸载或重启 Unsloth;如果显存不够,Laya 会自动退回 CPU 继续回答。

快速上手

第一步:安装 Unsloth Desktop

从 unsloth.ai 下载 macOS、Windows 或 Linux 版桌面应用,或者用命令行安装:

# macOS、Linux、WSL
curl -fsSL https://unsloth.ai/install.sh | sh
# Windows PowerShell
irm https://unsloth.ai/install.ps1 | iex

第二步:打开 Decision API

进入 Settings → API → Decision API,打开 Serve requests,确认下载默认的 678MB 多语言模型。

API Key 在同一个设置页的 Access tokens 里。如果只在本机用,想跳过 Key,可以打开 Keyless API access → Chat and inference。

第三步:发一个决策请求

curl http://localhost:8888/v1/systemone \
  -H "Authorization: Bearer sk-unsloth-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "laya",
    "state": "Hi, I was charged twice for my March invoice (#4411). Please refund the duplicate today.",
    "questions": {
      "team": {"type": "choice", "instructions": "Which team should handle this?",
        "criteria": {"billing": "invoices, payments, refunds",
                     "technical": "bugs, outages, errors",
                     "sales": "pricing, new plans",
                     "other": "everything else"}},
      "refund": {"type": "noul", "instructions": "Does the customer ask for a refund?"},
      "urgency": {"type": "score", "instructions": "How urgent is this?",
                  "criteria": ["not urgent", "soon", "today"]}
    }
  }'
{
  "model": "laya-multilingual",
  "answers": {
    "team": {"type": "choice", "choice": "billing", "confidence": 1.0,
              "probabilities": {"billing": 1.0, "technical": 0.0, "sales": 0.0, "other": 0.0}},
    "refund": {"type": "noul", "noul": 0.9794},
    "urgency": {"type": "score", "score": 1.9005, "confidence": 0.698,
                "legend": {"0": "not urgent", "1": "soon", "2": "today"},
                "probabilities": {"0": 0.004, "1": 0.0915, "2": 0.9045}}
  },
  "usage": {"input_tokens": 172, "output_tokens": 0}
}

第一次请求要先加载模型,需要 10 到 20 秒;之后大多数 CPU 上响应都在 1 秒以内。model 字段可以填 laya、default 或 jev-latest(对应你在设置里选的模型),也可以直接指定:laya-multilingual、laya-english、laya-typed-decisions。

问题类型

类型用途返回内容
noul是非判断「是」的概率,0 到 1 之间
choice从选项里选一个最可能的选项,以及每个选项的概率
score在量表上打分文本落在你量表上的哪一档(从 0 计数)

每次请求最多支持 64 个问题,单个 choice 最多 255 个选项,score 最多 10 个档位。choice 和 score 还会返回 confidence:接近 1 说明有一个答案明显突出,接近 0 说明各选项概率比较平均。要不要采纳一个 choice 结果,应该看它在 probabilities 里的具体数值,而不是 confidence——Laya 和 Jev 计算置信度的方式不一样,Jev 上调好的阈值不能直接搬过来。

Unsloth 的文档页里还嵌了一个实时 demo:一份旅行打包清单,随着你输入内容变化实时更新建议物品,背后就是通过 Decision API 跑的本地 Laya。

从 Jev 迁移过来

已有的 TypeSafe SDK 代码只需要设两个环境变量,其他都不用改:

export TYPESAFE_BASE_URL=http://localhost:8888
export TYPESAFE_API_KEY=sk-unsloth-YOUR_KEY

SDK 默认的 jev-latest 会对应到你在 Unsloth 设置里选的那个模型。有两点不会自动适配:confidence 的计算方式和 Jev 不一样,所以要用自己的数据重新定阈值,不要直接搬 Jev 调好的数字;另外 choice 里的选项共享固定的 token 预算,超过大约 20 个带说明的选项就会被截断。

和其他本地跑 Laya 的方式比起来

方案适合谁安装方式运行环境
Unsloth Desktop图形界面;已经在用 Unsloth 跑本地大模型的人尤其合适桌面应用或一行命令CPU、GPU
ollaya喜欢 Ollama 那种命令行 + 守护进程一行命令CPU、NVIDIA CUDA
Python 包(pip install laya)写 Python 代码或用 notebook;官方参考实现pipCPU、CUDA、Apple MPS
laya-serve官方包自带的 Jev 兼容 HTTP APIpip install "laya[serve]"CPU、CUDA、MPS
laya-mlxApple Silicon 原生推理pipApple MLX

其余方案见 Laya 与 Ollama、安装 Laya、自托管 Laya 和全部 运行时。

该选哪一个?

  • 已经在用 Unsloth Desktop 跑本地大模型,想在同一个应用里顺便做决策:Unsloth 的 Decision API。
  • 喜欢 Ollama 那种命令行 + 守护进程:ollaya。
  • 写 Python,想要官方、最新的代码:pip install laya。
  • 已有 Jev 客户端代码,想要最小的部署体积:laya-serve 或 ollaya,两者接口和 Unsloth 一样。
  • 用 Apple Silicon,想要不装图形界面的原生速度:laya-mlx。

不想装东西,先试试看

Laya Playground 可以直接在浏览器里跑模型,选本地方案之前可以先用自己的文本和问题试一下。

常见问题

Unsloth 的 Decision API 是 Laya 团队做的吗?

不是。Laya 来自 ConvAI Innovations。Unsloth 是一个独立的、用户很多的本地大模型运行/训练工具,它自己加上了对 Laya 的 Decision API 支持。集成的细节见 Unsloth 官方文档。

通过 Unsloth 跑 Laya 需要 GPU 吗?

不需要。默认就是 CPU,最小的模型只要 4GB 内存。可以在设置里切到 GPU 换取更快的响应;显存不够时会自动退回 CPU。

我的数据会传到别的地方吗?

不会。Unsloth 的 Decision API 是本地运行 Laya,请求发到 localhost,不会发送到远程服务器。

已有的 Jev SDK 代码能直接指向 Unsloth 吗?

可以。设置 TYPESAFE_BASE_URL=http://localhost:8888 和你的 Unsloth Key 作为 TYPESAFE_API_KEY 即可。之后要重新检查一下置信度阈值,因为 Unsloth 里 Laya 和 Jev 计算置信度的方式不一样。

默认模型要多少内存?

默认的多语言模型(678MB 下载体积)需要 4GB 内存;英文版和 typed-decisions 版都需要 5GB。

相关阅读

最后对照 Unsloth 官方文档核实:2026 年 9 月 29 日。