Laya 与 Unsloth:本地跑 Jev 兼容决策 API
用 Unsloth Desktop 的 Decision API 本地运行 Laya:图形界面设置、模型大小与内存需求、curl 示例,以及用两个环境变量把已有 Jev 代码迁移过来。
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 GB | 678 MB | 大多数场景。支持 100+ 种语言,1024 token 上下文。 |
| 英文版 | 5 GB | 846 MB | 仅英文,编码器更大,512 token 上下文。 |
| Typed decisions 版 | 5 GB | 846 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;官方参考实现 | pip | CPU、CUDA、Apple MPS |
| laya-serve | 官方包自带的 Jev 兼容 HTTP API | pip install "laya[serve]" | CPU、CUDA、MPS |
| laya-mlx | Apple Silicon 原生推理 | pip | Apple 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。
相关阅读
- Laya 与 Ollama:另一个 Ollama 风格的 Jev 兼容本地方案
- 安装 Laya:官方 Python 快速上手
- 自托管 Laya:laya-serve、Docker 与 MCP
- Jev 替代品:可以原样接收 Jev 请求的开源模型和服务
- Jev 是什么?:这个本地服务兼容的就是这套接口
最后对照 Unsloth 官方文档核实:2026 年 9 月 29 日。