OpenAI Decisions API 与 TypeSafe Jev 对比:价格、输入与响应形状

OpenAI Decisions API 和 TypeSafe Jev 都返回带概率的类型化答案、都只按输入计费。本文逐项对比两者在接口、模型、输入、问题类型、价格、速率限制与数据管控上的差异,并演示如何在 Apifox 中用同一条置信度规则同时测试两个服务。

用 Apifox,节省研发团队的每一分钟

OpenAI Decisions API 与 TypeSafe Jev 对比:价格、输入与响应形状

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

OpenAI Decisions API 和 TypeSafe 的 Jev 做的是同一件事:发送一段输入和一组问题,拿回带概率的类型化答案而不是需要解析的文本,并且都只为输入 token 付费。Decisions 每 100 万输入 token 0.10 美元,处于公测阶段,接受文本和图片,运行在 GPT-6 Luna 上。Jev 每 100 万输入 token 0.042 美元,需通过 TypeSafe 控制台账号才能早期访问,仅支持文本,单请求上限 64k token。

基础内容可以先看「Decisions API 是什么」和「如何使用 Jev」。本文逐行对比两者,然后把它们接进同一个 Apifox 项目,用同一条置信度规则约束。

AI Coding 交流群

如果你也在用 AI 写代码,或者正在研究 Cursor、Claude Code 这些工具,欢迎加入以下交流群。群里平时会聊一些 AI 编程的实际用法、开发工作流,还有各种新工具和新玩法。

逐项对比

每个单元格都来自参考链接中的厂商页面。

OpenAI Decisions API TypeSafe Jev
接口 POST /v1/decisions POST /v1/systemone
模型 仅 gpt-6-luna jev-1.13.0(jev-latest)
状态 公测,“GA 预计在未来几周内” 早期访问(发布公告),直接访问需控制台账号
输入 文本 + 图片(base64 data URL;参考另列出公开 URL) 仅文本,单请求 64k
问题类型 predicate / choice(2 到 255 个选项)/ score noul / choice / score
questions 形状 数组,可选 name 以 id 为键的对象
输出字段 probability;choice 或 score + probabilities + confidence;refusal noul;choice 或 score + confidence + probabilities
价格 $0.10 每 100 万输入,无输出费用 $0.042 每 100 万输入,无输出费用
缓存 暂无(OpenAI 论坛) 未公布
速率限制 按组织的限制页面 100K TPS / 80 RPS,动态调整
速度口径 “比 Responses API 快约 10 倍”(OpenAI) 端到端 70 到 500 ms(TypeSafe)
数据 符合条件的客户可用 ZDR + HIPAA;美/欧数据驻留 企业版 ZDR;不用请求内容训练

Decisions 是一个接口而不是模型;它运行在 GPT-6 Luna 上。Jev 是 TypeSafe 的“System One 模型”,用 RLCD 训练以返回经过校准的决策,不是通用 LLM。

同一个工单分派请求的两种写法

一条客服工单进来,你要一个部门,外加一个“客户是否想要退款”的判断。先看 Decisions:questions 是数组,每项带 type、instructions 和可选的 name,API 会原样回显 name。

curl https://api.openai.com/v1/decisions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-luna",
    "input": "I was charged twice for my order.",
    "questions": [
      {
        "type": "choice",
        "name": "department",
        "instructions": "Which team should handle this ticket?",
        "choices": [
          {"value": "billing", "description": "Charges, refunds"},
          {"value": "technical", "description": "Bugs, errors"},
          {"value": "other"}
        ]
      },
      {
        "type": "predicate",
        "name": "wants_refund",
        "instructions": "Is the customer asking for money back?"
      }
    ]
  }'

再看 Jev:输入字段是 state,questions 是以你自定义 id 为键的对象,choice 用 criteria 映射选项到描述,是/否类型叫 noul。

curl https://api.typesafe.ai/v1/systemone \
  -H "Authorization: Bearer $TYPESAFE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "jev-latest",
    "state": "I was charged twice for my order.",
    "questions": {
      "department": {
        "type": "choice",
        "instructions": "Which team should handle this ticket?",
        "criteria": {
          "billing": "Charges, refunds",
          "technical": "Bugs, errors",
          "other": "Anything else"
        }
      },
      "wants_refund": {
        "type": "noul",
        "instructions": "Is the customer asking for money back?"
      }
    }
  }'

返回内容

Decisions 返回 model、answers 和 usage。答案按提问顺序返回,各自带 name;各选项的概率是对象数组。注意 output_tokens: 0。

{
  "model": "gpt-6-luna",
  "answers": [
    {
      "type": "choice",
      "name": "department",
      "choice": "billing",
      "probabilities": [
        {"value": "billing", "probability": 0.95},
        {"value": "technical", "probability": 0.02},
        {"value": "other", "probability": 0.03}
      ],
      "confidence": 0.93
    },
    {"type": "predicate", "name": "wants_refund", "probability": 0.95}
  ],
  "usage": {
    "input_tokens": 42,
    "input_tokens_details": {"cached_tokens": 0, "cache_write_tokens": 0},
    "output_tokens": 0,
    "output_tokens_details": {"reasoning_tokens": 0},
    "total_tokens": 42
  }
}

Jev 返回 model(带版本号的 id)、以问题 id 为键的 answers 对象,以及带 input_tokens 和 output_tokens 的 usage。你读 answers.department.choice、它的 confidence、按选项名为键的 probabilities,以及 answers.wants_refund.noul。只有 OpenAI 一侧可能对单个问题返回 refusal,其他问题照常给答案。

每百万的价格,以及一百万条工单的成本

OpenAI 的口径:使用 gpt-6-luna 时输入每 100 万 token 0.10 美元,不收缓存读、缓存写或输出 token 费用。TypeSafe 列出的是每 100 万输入 token 0.042 美元,输出免费。

按一条 500 token、带上述两个问题的工单计算:

  • Decisions:500 / 1,000,000 x $0.10 = $0.00005 每次请求。一百万条工单 = $50。
  • Jev:500 / 1,000,000 x $0.042 = $0.000021 每次请求。一百万条工单 = $21。

OpenAI 一侧有两个倍率:长上下文输入(超过 272K token)为 2 倍,即每 100 万 0.20 美元(由定价页推算);区域处理加收 10%。/v1/decisions 没有文档化的 Batch、Flex 或 Fast 档位;据 OpenAI 论坛,目前也没有提示词缓存,尽管 usage 带有 cached_tokens 和 cache_write_tokens 字段。Jev 对缓存没有任何公开信息。

输入:一边能看图,一边只有文本

Decisions 接受字符串或混合 input_text 与 input_image 的用户消息数组。指南要求图片必须是内联 base64 data URL;API 参考另列出公开 HTTP(S) URL、每请求最多 128 张,把 base64 当安全路径,托管 URL 先测再依赖。file_id、文件和音频不支持。

Jev 只支持文本:字符串、JSON 对象或文本数组,按 TypeSafe 模型页的说法没有图片、音频或视频输入。OpenAI 论坛上 sam.saffron 说得很直接:图像理解是 Jev 目前不支持的。如果你的决策依赖一张照片,只有 Decisions 能看它。

上下文与速率限制

Jev 公布了单请求 64k token 上限,其中 state 加最长的问题占 32k,并称状态只摄取一次、所有问题并行评估。其模型页列出每秒 100K token、每秒 80 次请求并动态调整,超限返回 429。这些数字自九月以来变过,请以线上页面为准。

OpenAI 没有公布上下文窗口数字,也没有 Decisions 专属速率限制;Luna 的 1,050,000 token 窗口是模型页数字,不是接口数字。请查看 Settings > Organization > Limits(速率限制指南);我们的「速率限制超限指南」覆盖两边的 429 处理。

状态与访问方式

Decisions 于 2026-10-06 进入公测,据公告对所有开发者开放;指南称 OpenAI 预计 GA 在“未来几周内”,没有具体日期。

据 TypeSafe 的发布文章,Jev 处于早期访问,提到有候补名单,直接访问 api.typesafe.ai 需要一个 TypeSafe 控制台账号;「如何访问 Jev」梳理了各条路径,「Jev API key」覆盖密钥创建。第二条路径是 Vercel AI Gateway:Jev 在上面叫 typesafe-ai/jev,通过 AI SDK(7.0.105 或更高)的 experimental_evaluate 调用,见 Vercel 更新日志;Vercel 的评估文档说明它不暴露在 Gateway 的 OpenAI 兼容端点上,且那里的是/否类型叫 boolean,返回 true 的概率。

数据管控

OpenAI 表示符合条件的客户可将 Decisions 用于零数据保留(ZDR)和 HIPAA 场景,美国和欧洲(EEA 加瑞士)支持数据驻留与区域处理;数据管控页补充 /v1/decisions 的滥用监测日志默认保留最长 30 天。TypeSafe 表示 Jev 不用客户请求或响应做训练,向企业客户提供 ZDR,且所有账户跑同一套权重。

两家都没有公布准确率或校准数据;OpenAI 的指南让你基于自己的标注样本设阈值,这条对 Jev 同样适用。

速度,以及怎么选

OpenAI 称 Decisions 比 Responses API 快约 10 倍,但没有公布绝对延迟数字;OpenAI 论坛有开发者反馈慢速网络下图片输入的决策约 0.8 秒返回。TypeSafe 给 Jev 的口径是端到端 70 到 500 ms。两者不是可比测量,请在自己的工单上分别计时。

输入包含图片、你已经在 OpenAI 生态想要一把钥匙一张账单、或者需要 OpenAI BAA 下的 HIPAA 覆盖时,选 Decisions。输入是文本、单 token 价格在你的量级下很重要、或者你已经在用 Vercel AI Gateway 时,选 Jev。

两边同时跑几周是合理的:用同一批标注集给两者打分,留下阈值曲线更好的那个,另一个留作兜底。如果你真正的问题是 Decisions 和 Structured Outputs 标签之间怎么选,见「Decisions 与 Responses 对比」;如果两家都不符合你的数据策略,也有「开源 Jev 替代品」可选。

在一个 Apifox 项目里测试两者

两个环境。创建 OpenAI(放 OPENAI_API_KEY)和 TypeSafe(放 TYPESAFE_API_KEY),值都放在本地字段里,这样永远不会同步给团队(「环境与私密变量」讲了作用域)。

两条保存好的请求。POST https://api.openai.com/v1/decisions,Bearer {{OPENAI_API_KEY}},用上面的第一个请求体;POST https://api.typesafe.ai/v1/systemone,Bearer {{TYPESAFE_API_KEY}},用第二个。

一条断言规则,用两次。业务规则:置信度高于 0.8 自动分派工单,低于则进人工复审队列。Decisions 请求上断言状态 200、$.answers[0].choice 等于 billing、$.answers[0].confidence 大于 0.8、$.usage.output_tokens 等于 0。Jev 请求上断言 $.answers.department.choice 等于 billing、$.answers.department.confidence 大于 0.8。

一个数据驱动场景。把二十条带期望部门的标注工单放进 CSV,作为测试场景跑两个请求,看哪个 API 在模糊样本上的置信度跌破 0.8。这就是你定阈值的方式,也能在工单错分之前抓住模型变更。

两种形状都 mock。把一个 Decisions 响应和一个 Jev 响应保存为 mock,前端就能对着稳定的 answers 数组和 answers 对象开发;「mock 条件响应」可以按需返回低置信度用例,演练复审队列分支。

接入 CI。用 Apifox CLI(apidog run 配 cli 或 junit 报告器)在每次部署时跑场景,GA 时的字段变更或 jev-latest 升级会让构建变红,而不是让支持队列遭殃。下载 Apifox 来搭建这套流程。

常见问题

Jev 是像 GPT-6 Luna 那样的 LLM 吗?不是。TypeSafe 把 Jev 描述为用 RLCD 训练、返回校准决策的 System One 模型;它不生成文本。Decisions 是通用模型 Luna 上的一个接口。

OpenAI 是为了应对 Jev 才做了 Decisions API 吗?OpenAI 的页面没有这么说,我们也不做此断言。两者实现的是同一个想法:带概率的类型化答案、按输入计费。

哪个更便宜?Jev:每 100 万输入 token 0.042 美元对 0.10 美元;一百万条 500 token 工单,21 美元对 50 美元。

两者都能按我的 JSON schema 返回吗?都不能。它们返回固定的答案形状;要抽取字段或书面说明,请在 Responses API 上用 Structured Outputs。

下一步

用同一条工单把上面两条 curl 发出去,都保存进 Apifox,各加上 0.8 置信度断言。然后换成你自己的二十条工单,看哪个 API 更常越过你的阈值。「使用指南」里有 Python 和 JavaScript 版本。

开发必备:API 全流程管理神器 Apifox

介绍完上文的内容,我想额外介绍一个对开发者同样重要的效率工具 —— Apifox。作为一个集 API 文档、调试、设计、测试、Mock、自动化测试于一体的工具,Apifox 是目前提升研发效率的首选。

如果你正在开发项目,不妨试试其极其友好的界面设计,它完全兼容 Postman 和 Swagger 数据格式,导入数据非常方便,,即使是新手也能很快上手,点击这里即可注册使用。

Apifox

值得一提的是,除了个人和常规团队使用,针对有高安全合规要求、或需要在内网环境协作的企业,Apifox 还提供了深度定制的私有化部署方案。

获取专属报价与部署方案

icon 详细的私有化部署系统架构与安全白皮书
icon 针对您公司规模的专属报价单
icon 免费的 1v1 专属产品演示 (Demo) 机会
获取部署方案
* 提交后,我们的客户经理将在 1 个工作日内与您联系
林俊锋 企业微信
@Apifox 专属顾问
扫码备注: 私有化 + 公司名