Liquid AI 发布了 d1,这是一个为结构化选择而非文本生成而构建的决策模型。你给它上下文和一组带类型的问题。它在一次调用中返回固定结果集上的校准概率,且生成的 token 数为零。其目标场景是许多团队仍在交给通用 LLM 做的工作:分类、工单路由、评分、审核、重排序以及 LLM-as-judge 检查。
它可部署吗?可以,今天就能,作为托管 API。d1 在 Liquid API 上以模型名 d1:free 运行。Liquid 的模型库将其列为仅 API、不可训练,因此没有可自托管的 GGUF、MLX 或 ONNX 权重。
什么是决策模型?
决策模型评估一个情境,并从你在调用前定义好的选项中返回一个带类型的答案。它不写文本。在每次响应中,usage.output_tokens 都是 0。Liquid AI 的迁移指南给出了一条简单规则:如果答案是 N 个已知选项之一,就用决策模型。如果模型必须组合出一个新字符串,那就继续用你的 LLM。
3 个原语:Noul、Choice 和 Score
Noul 是一个是/否问题,返回 0 到 1 之间的概率。在 Liquid 的示例中,'Is this message a complaint?' 返回了 0.999。
Choice 从一个命名集合中挑选一个选项。它返回首选结果、完整分布以及一个置信度值。一张重复扣费工单在 'billing.' 上得分为 0.9997。
Score 按照有序评分标准对输入进行评分,并返回一个概率加权的位置。等级从 0 开始索引,因此一个 4 级紧急度评分标准的范围是 0 到 3。一次生产中断得分为 2.9995。
你可以在一个请求中混合全部 3 种类型。模型在一次往返中针对同一状态评估每个问题。
d1 API 调用如何工作
每个请求有 3 个部分:模型、状态(纯文本或 JSON 对象)以及问题。调用发送到 POST https://api.liquid.ai/decisions/v1/systemone。密钥来自 console.liquid.ai,以 liquid_ 开头。客户端是 TypeSafe AI 的 typesafe-sdk(用于 Python)和 @typesafe-ai/sdk(用于 TypeScript)。
复制代码已复制使用其他浏览器
from typesafe_sdk import TypeSafeClient, Noul
client = TypeSafeClient(api_key=os.environ["LIQUID_API_KEY"],
base_url="https://api.liquid.ai")
result = client.system_one(
model="d1:free",
state="我已经等了三个多星期,我的订单……",
questions={"is_complaint": Noul(
instructions="这条消息是客户的投诉吗?")},
)
print(result.answers["is_complaint"].noul) # 0.999
为什么要把 LLM 分类调用迁移到 d1
迁移指南列出了与具备结构化输出的 LLM 相比的具体差异:
不计费的输出 token:即使只输出一个单词的标签,LLM 也会对输出计费。
可预测的延迟:不存在随输出长度增长的解码循环。
没有 schema 错误:答案始终与问题类型匹配,因此格式错误的 JSON 和重试都不复存在。
可用的不确定性:你得到的是经过校准的概率,而不是自报的数字。
更少的往返次数:3 次顺序分类调用变成 1 次。
概率让阈值变得实用。Liquid 的审核示例在高于 0.8 时拦截,低于 0.2 时放行,中间区间则转交人工审核。其路由示例在路由器置信度低于 0.5 时回退到能力最强的模型层级。Liquid 还表示,对同一输入的重复评估更加一致,这减少了判定结果翻转。
保留 LLM 用于摘要、起草、多轮对话、代码生成和复杂的多步推理。
演示:Road Decider
Liquid 的 road-decider cookbook 是一个像素风生存竞速游戏。d1 使用 Choice 问题在每个决策 tick 选择左、中或右,根据游戏速度大约每秒 2 到 5 次。该应用是运行在 Node.js 18+ 上的原生 JavaScript,并使用 Vite 代理将 API 密钥保留在服务端。一个“Jev vs d1”模式让 d1 通过 OpenRouter 与 TypeSafe 的 typesafe/jev-1.13 竞速。最有价值的经验在于状态设计。按车道给出到第一个障碍物距离的摘要,比原始的道路网格能产生更自信的决策。
交互式讲解:d1 分步解析
d1 与最接近的竞品对比
d1 进入了一个规模虽小但发展迅速的非生成式决策模型类别。以下是它在已公布功能上的对比。
FeatureLiquid AI d1TypeSafe Jev 1.13Convai LayaAutoTrust JEV-27BAccessLiquid API onlyOpenRouter APIOpen weightsOpen weightsPrimitivesNoul, Choice, ScoreNoul, Choice, ScoreNoul, Choice, ScoreTrue/false, Choice (2 to 16), Score (0 to 5)Output tokens00 (output billed at $0)0 (encoder)0 for decisions; can also generate textContext windowNot published32K tokens512 (English), 1,024 (multilingual)4,096 tokensModel sizeNot disclosedNot disclosed421M (English), 322M (multilingual)27B backbone, 108.9M trainablePricingd1:free tier; paid rates not published$0.042 per 1M input tokensSelf-hostedSelf-hostedLicenseHosted APIHosted APIApache 2.0Apache 2.0Fine-tuningNot trainableNot documentedYesYes (LoRA adapter)SDKTypeSafe SDK (Python, TS)TypeSafe SDK, OpenRouter SDKsHugging FaceHugging Face
数据于 2026 年 9 月 29 日对照各供应商的主页面进行了核查。
关键要点
d1 返回带有校准概率的类型化决策,且输出 token 为 0。
3 个原语覆盖了大多数有界任务:Noul、Choice 和 Score。
现可通过 Liquid API 以 d1:free 部署;无自托管权重。
最适合:路由、审核、分诊、重排序以及 LLM-as-judge 替代。
将 LLM 保留用于生成、对话和多步推理。
查看 Decision Models 文档、Migration Guide 和 Road Decider 演示。所有功劳归于本项目的研究者。另外,欢迎在 Twitter 上关注我们,别忘了加入我们拥有 150k+ 成员的 ML SubReddit 并订阅我们的 Newsletter。等等!你在 Telegram 上吗?现在你也可以在 Telegram 上加入我们了。
需要与我们合作推广你的 GitHub Repo 或 Hugging Face Page 或产品发布或网络研讨会等?联系我们
文章 Liquid AI Releases d1: A Decision Model That Returns Calibrated Probabilities With Zero Output Tokens 首次发表于 MarkTechPost。