OpenAI 决策 API 公开测试版:更快、更结构化的文本和图像分类

TL;DR:OpenAI 决策 API 现已公开测试版上线,可提供

  • 什么是:一个新 /v1/decisions 端点,返回类型化的「决策」答案(针对谓词的置信度,即是/否)
  • 为什么
    • 10× 更快
    • 10 倍的吞吐量
    • 仅按输入 token 计费
    • 支持图像和文本的多模态输入

什么是决策 API?

决策 API 是基于 gpt-6-luna 模型构建的专用 决策服务。它接受一个包含以下内容的单一请求:

字段 用途
model 目前仅支持 gpt-6-luna。
input 文本、用户消息或 base-64 编码的图像,用于提供决策依据。
questions 一个或多个 问题对象,描述您需要的决策类型(谓词、选择或评分)。

响应结果是一个 answers 数组,其中每个答案都与您为问题指定的 name 一致,使得将结果映射回应用逻辑变得极为简单。


何时使用决策 API 与响应 API

使用场景 推荐 API
二元分类(是/否),例如 “是否有可见损坏?” 决策 API – 返回单个概率值(0-1),速度约为 10 倍快。
从固定列表中选择类别,例如支持工单路由。 决策 API – 返回所选值、各选项概率及置信度分数。
根据有序评分标准(严重性、风险等)对项目评分。 决策 API – 返回加权数值评分及概率分布。
需要复杂 JSON 对象、自由格式解释或函数调用。 响应 API(结构化输出或函数调用)。

简而言之,当您只需要一个 类型化 的答案(谓词/选择/评分)且关注延迟和成本时,使用决策 API。


问题类型及其输出

类型 典型场景 答案中的主要字段
predicate 是/否检查 – 损坏检测、合规性、情感分析。 probability(0-1)
choice 分类路由 – 部门、产品类型、语言。 choice(所选值),probabilities(数组),confidence
score 有序评分 – 严重性、优先级、质量等级。 score(浮点数),probabilities(各等级),confidence

谓词 返回单个概率值。选择 返回所选值、完整的概率分布及整体置信度指标。评分 返回加权平均值,可在离散等级之间取值,适用于模糊排序。


快速入门代码片段(Python、Node、Go、Java、Ruby)

所有 SDK 示例均需 OpenAI SDK ≥ Python 3.26.0、JavaScript 7.30.0、Go 3.73.0、Ruby 0.101.0、Java 4.78.0。

Python(谓词 – 图像损坏检测)

import base64, pathlib
from openai import OpenAI

client = OpenAI()
img_b64 = base64.b64encode(pathlib.Path('product.png').read_bytes()).decode()
decision = client.decisions.create(
    model='gpt-6-luna',
    input=[{
        'role': 'user',
        'content': [
            {'type': 'input_text', 'text': '检查这张照片中的产品。'},
            {'type': 'input_image', 'image_url': f'data:image/png;base64,{img_b64}'}
        ]
    }],
    questions=[{
        'type': 'predicate',
        'name': 'visible_damage',
        'instructions': '产品是否有可见损坏(裂纹、撕裂、凹陷)?'
    }]
)
print(decision.answers[0].probability)

Node(选择 – 工单路由)

import OpenAI from 'openai';
const client = new OpenAI();
const decision = await client.decisions.create({
  model: 'gpt-6-luna',
  input: '我的订单被重复扣款了。',
  questions: [{
    type: 'choice',
    name: 'department',
    instructions: '该投诉应由哪个部门处理?',
    choices: [
      {value: 'billing', description: '支付、发票、退款'},
      {value: 'technical', description: '产品使用问题'},
      {value: 'shipping', description: '配送与追踪'},
      {value: 'other', description: '其他事项'}
    ]
  }]
});
const ans = decision.answers[0];
console.log(`${ans.choice} (置信度 ${ans.confidence})`);

Go(评分 – 问题严重性)

import (
    "context"
    "encoding/base64"
    "os"
    "github.com/openai/openai-go/v3"
)

func main() {
    img, _ := os.ReadFile("product.png")
    client := openai.NewClient()
    decision, _ := client.Decisions.New(context.Background(), openai.DecisionNewParams{
        Model: "gpt-6-luna",
        Input: openai.DecisionNewParamsInputUnion{OfString: openai.String("在 Safari 中导出失败,但在 Chrome 中正常工作。")},
        Questions: []openai.DecisionNewParamsQuestionUnion{{
            OfScore: &openai.DecisionNewParamsQuestionScore{
                Name: openai.String("severity"),
                Instructions: "这个问题的严重性如何?",
                Levels: []openai.DecisionNewParamsQuestionScoreLevel{{Label: "外观问题"}, {Label: "可绕过"}, {Label: "无法使用"}},
            },
        }},
    })
    fmt.Println(decision.Answers[0].AsAny().(openai.DecisionAnswerScore).Score)
}

(其他语言的代码片段结构相同;请参阅完整文档获取 Ruby 和 Java 的示例。)


性能与成本

  • 延迟 – 公开测试版测量显示中位数 160–175 毫秒 端到端延迟,第 95 百分位约 285 毫秒,最坏情况约 743 毫秒(见 @agentdev001 的评论)。这大约是通用响应 API 的 10 倍快,适用于类似工作负载。
  • 定价 – 仅按 输入 token 收费,价格为 每 100 万个 token 0.10 美元,适用于 gpt-6-luna。由于 API 仅返回结构化决策字段,因此不收取输出 token 费用。
  • 数据控制 – 支持零数据保留(ZDR)和符合 HIPAA 的使用。美国和欧盟+瑞士地区提供区域化处理。

Hacker News 社区洞察

评论者 关键要点
@simonw 分享了一个可直接使用的 llm-openai-decisions 插件,并指出该端点可能成为其他提供商的事实标准。
@agentdev001 报告了真实世界延迟(中位数 160–175 毫秒),并确认了支持多模态图像的 100 万个 token 窗口。
@TSiege 认为廉价的二元是/否评分可能使 AI 市场商品化,迫使提供商陷入价格战。
@AM1010101 指出缺乏缓存功能,可能影响批量处理效率,因为长系统提示本可复用。
@armcat 进行了统计实验:谓词概率校准良好,但选择概率可能受选项顺序影响而产生偏差。
@solatic 指出定价差距:OpenAI 每 100 万个输入 token 0.10 美元,而 Jev 为 0.042 美元。
@mritchie712 强调支持图像输入的能力——这是许多竞争性分类器所缺失的功能。
@bob1029 警告暴露原始概率可能因误解而削弱用户信任。
@Sunny_Fung 将决策 API 比作 LLM 驱动代理的「小脑」,负责快速、确定性的路由。

总体情绪:开发者对速度和多模态能力感到兴奋,但对校准、定价以及专用决策模型的长期战略定位存在担忧。


最佳实践清单

  1. 选择合适的问题类型 – 使用 predicate 进行二元检查,choice 进行无序分类,score 进行有序评分。
  2. 为每个问题设置唯一名称 – name 字段会回显在答案中,是您下游逻辑的主要键值。
  3. 提供清晰的指令与明确的选项 – 模糊表述会导致置信度分数偏低。
  4. 基于校准数据设置阈值 – 验证 0.9 的报告概率在您的领域中是否对应约 90% 的真实准确率。
  5. 包含备用选项 – 对于 choice 问题,添加一个「其他」值以捕获范围外的输入。
  6. 考虑 ZDR 与区域化处理 – 若处理 PHI、GDPR 敏感数据或需要数据驻留保证,请启用这些标志。
  7. 监控延迟与成本 – 使用响应中的 usage 块跟踪 token 消耗;结合 OpenAI 的成本分析工具进行优化。

未来展望

OpenAI 计划在接下来几周内将决策 API 推向 正式发布(GA),并可能将模型目录扩展至 gpt-6-luna 之外。社区预计该 API 将与 实时 API 更紧密集成,以支持语音驱动的决策,并可能在模型成熟后被纳入更广泛的 响应 API 家族中。


核心要点 – 决策 API 为开发者提供了一种快速、低成本的方式,从文本和图像中获取结构化、类型化的分类结果,使其成为构建自定义分类器或过度设计通用响应 API 提示的实用替代方案。

Sources

相关