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 驱动代理的「小脑」,负责快速、确定性的路由。 |
总体情绪:开发者对速度和多模态能力感到兴奋,但对校准、定价以及专用决策模型的长期战略定位存在担忧。
最佳实践清单
- 选择合适的问题类型 – 使用
predicate进行二元检查,choice进行无序分类,score进行有序评分。 - 为每个问题设置唯一名称 –
name字段会回显在答案中,是您下游逻辑的主要键值。 - 提供清晰的指令与明确的选项 – 模糊表述会导致置信度分数偏低。
- 基于校准数据设置阈值 – 验证 0.9 的报告概率在您的领域中是否对应约 90% 的真实准确率。
- 包含备用选项 – 对于
choice问题,添加一个「其他」值以捕获范围外的输入。 - 考虑 ZDR 与区域化处理 – 若处理 PHI、GDPR 敏感数据或需要数据驻留保证,请启用这些标志。
- 监控延迟与成本 – 使用响应中的
usage块跟踪 token 消耗;结合 OpenAI 的成本分析工具进行优化。
未来展望
OpenAI 计划在接下来几周内将决策 API 推向 正式发布(GA),并可能将模型目录扩展至 gpt-6-luna 之外。社区预计该 API 将与 实时 API 更紧密集成,以支持语音驱动的决策,并可能在模型成熟后被纳入更广泛的 响应 API 家族中。
核心要点 – 决策 API 为开发者提供了一种快速、低成本的方式,从文本和图像中获取结构化、类型化的分类结果,使其成为构建自定义分类器或过度设计通用响应 API 提示的实用替代方案。
Sources
相关
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch