
Azure OpenAI で Decisions API が一般提供(GA)されたので早速試してみた
こんにちは、けーまです。
2026年10月22日に OpenAI が Decisions API を一般提供(GA)し、同日に Microsoft Foundry でも利用できるようになりました。
Azure OpenAI のリソースに専用のエンドポイントが追加されたため、gpt-6-luna のデプロイがあれば呼び出せます。
本記事では、2026年10月25日時点の公式ドキュメントの要点をまとめつつ、手元のリソースで1回叩いた結果を載せます。
1. Decisions API とは
Decisions API は、TypeSafe AI の Jev のような decision model を呼び出す API で、自由な文章は生成せず、あらかじめ決められた形式の答だけを返します。
問い合わせの自動振り分けや、特定条件に合致するかの判定のように、取り得る回答の範囲が決まっている処理に向いています。
入力にはテキストだけでなく画像も使えます。
The Azure OpenAI Decisions API evaluates text, images, or both and returns typed answers instead of generated text.
引用元: Use the Azure OpenAI Decisions API | Microsoft Learn
もともとは、2026年9月29日の OpenAI DevDay 2026 で限定プレビューとして発表されました。
その後、10月6日にパブリックベータとして全開発者に公開され、10月22日に GA になりました。
OpenAI の変更履歴によると、GA の時点で質問数の上限がベータ時の 200 から 400 に増え、プロンプトキャッシュや JSON 入力が追加されたと記載されています。
質問の型は3つです。
| 型 | 返るもの |
|---|---|
predicate |
条件が真である確率(0〜1) |
choice |
渡した選択肢のうち1つと、各選択肢の確率・confidence |
score |
順序付きの段階に対する確率加重平均と、各段階の確率・confidence |
2. Azure で使うときの条件
| 項目 | 内容 |
|---|---|
| エンドポイント | Azure OpenAI リソースの /openai/v1/decisions |
| 対応モデル | gpt-6-luna のみ |
| リージョン | gpt-6-luna があるリージョンに順次展開。East US 2 は対象外 |
| 認証 | API キー(api-key ヘッダー)または Microsoft Entra ID |
| 1リクエストの上限 | 質問 400 個、画像 128 枚・合計 32 MB |
| 料金(100万トークンあたり) | 入力 $0.10、キャッシュ入力 $0.01。出力の課金なし |
3. 叩いてみた
eastus の Foundry リソースにある gpt-6-luna デプロイへ向けて、Entra ID のトークンを使って POST しました。
テキストと画像を1回ずつ試し、それぞれ同じリクエストを3回送っています。
金額は1ドル150円で換算し、応答時間は手元の Mac から curl で計測した値で、日本から eastus までの通信時間を含みます。
3.1 テキストを判定する
問い合わせ文1件に対し、3つの型の質問を1つのリクエストにまとめて送りました。
リクエスト本文です。
{
"model": "gpt-6-luna",
"input": "先週注文したキーボードが届いたら、Enterキーが反応しません。交換か返金をお願いします。",
"questions": [
{"type": "predicate", "name": "refund_requested", "instructions": "顧客は返金または交換を求めているか"},
{"type": "choice", "name": "department", "instructions": "どの部署が対応すべきか",
"choices": [
{"value": "billing", "description": "請求・返金"},
{"value": "technical", "description": "製品の不具合"},
{"value": "shipping", "description": "配送・追跡"},
{"value": "other", "description": "その他"}]},
{"type": "score", "name": "severity", "instructions": "問題の深刻度は",
"levels": [
{"label": "軽微", "description": "機能は失われていない"},
{"label": "回避策あり", "description": "別の方法で作業できる"},
{"label": "完全に使えない", "description": "回避策がない"}]}
]
}
こちらが1回目のレスポンスです。
{
"model": "gpt-6-luna",
"answers": [
{"type": "predicate", "name": "refund_requested", "probability": 1.0},
{"type": "choice", "name": "department", "choice": "technical",
"probabilities": [
{"value": "billing", "probability": 0.03},
{"value": "technical", "probability": 0.97},
{"value": "shipping", "probability": 0.0},
{"value": "other", "probability": 0.0}],
"confidence": 0.96},
{"type": "score", "name": "severity", "score": 1.08,
"probabilities": [
{"value": 0, "label": "軽微", "probability": 0.06},
{"value": 1, "label": "回避策あり", "probability": 0.8},
{"value": 2, "label": "完全に使えない", "probability": 0.14}],
"confidence": 0.7}
],
"usage": {"input_tokens": 477, "output_tokens": 0, "total_tokens": 477}
}
返金・交換の要求は確率 1.0、部署は technical、深刻度は「回避策あり」寄りの 1.08 という結果になりました。
3回送って答えはすべて同じで、choice の confidence だけが 0.96 と 0.95 で揺れました。
消費した入力は 477 トークンで、1回あたり約 $0.000048(約0.007円)です。
応答時間は、1回目が約2.05秒(2045ms)、2回目が約1.61秒(1607ms)、3回目が約1.40秒(1400ms)でした。
3.2 画像を判定する
次の犬の写真を入力しました。

写真:Dktue「File:Portrait of a labrador retriever.jpg | Wikimedia Commons」(CC0 1.0)。960px の縮小版を使用
画像は base64 に変換し、data:image/jpeg;base64,... の形式で input_image に入れます。
犬が写っているか、猫が写っているか、首輪をしているかの3つを predicate で、毛色を choice で尋ねました。
リクエスト本文です(base64 の部分は省略しています)。
{
"model": "gpt-6-luna",
"input": [{"role": "user", "content": [
{"type": "input_text", "text": "この写真を見て答えてください。"},
{"type": "input_image", "image_url": "data:image/jpeg;base64,<画像の base64>"}
]}],
"questions": [
{"type": "predicate", "name": "is_dog", "instructions": "写真に犬が写っているか"},
{"type": "predicate", "name": "is_cat", "instructions": "写真に猫が写っているか"},
{"type": "predicate", "name": "wearing_collar", "instructions": "動物は首輪をしているか"},
{"type": "choice", "name": "coat_color", "instructions": "写っている動物の毛色はどれか",
"choices": [
{"value": "black", "description": "黒"},
{"value": "yellow", "description": "クリーム・黄色"},
{"value": "chocolate", "description": "茶色"},
{"value": "other", "description": "その他"}]}
]
}
1回目のレスポンスです。
{
"model": "gpt-6-luna",
"answers": [
{"type": "predicate", "name": "is_dog", "probability": 1.0},
{"type": "predicate", "name": "is_cat", "probability": 0.0},
{"type": "predicate", "name": "wearing_collar", "probability": 1.0},
{"type": "choice", "name": "coat_color", "choice": "black",
"probabilities": [
{"value": "black", "probability": 0.99},
{"value": "yellow", "probability": 0.0},
{"value": "chocolate", "probability": 0.01},
{"value": "other", "probability": 0.0}],
"confidence": 0.99}
],
"usage": {"input_tokens": 1207, "output_tokens": 0, "total_tokens": 1207}
}
犬が写っている確率は 1.0、猫は 0.0、首輪は 1.0 と、写真のとおり判定できています。
一方、毛色は black を 0.99 で選び、chocolate は 0.01 にとどまりました。
私には写真の犬は黒にも茶色にも見えるので、どちらとも取れる毛色に 0.99 を付けるのは言い過ぎだと感じました。
3回試行しても答えはすべて同じで、2回目と3回目は confidence が 1.0 でした。
入力は 960×640 の画像1枚を含めて 1207 トークンで、コストは1回あたり約 $0.00012(約0.018円)です。
応答時間は、1回目が約5.53秒(5530ms)、2回目が約2.42秒(2421ms)、3回目が約2.79秒(2793ms)でした。
4. Microsoft-Decision-1 との違い
名前がよく似ていますが、10月9日に出た Microsoft-Decision-1 は Microsoft 自社の判定モデルであり、今回のものとは別物です。
あちらのエンドポイントは /providers/microsoft/v1/systemone で、入力はテキストのみ、料金は入力 100万トークンあたり $0.042 となっています。
一方、今回の Decisions API は OpenAI の API を gpt-6-luna で動かすものであり、画像も入力可能です。
5. まとめ
今回の検証のとおり、Azure OpenAI リソースから gpt-6-luna を指定することで、通常通り Decisions API を呼び出すことができました。
これまでは本家 OpenAI の API 経由でしか扱えませんでしたが、Azure 経由で使えるようになったことで、日本の企業でも Decisions API を導入するハードルが大きく下がったのではないでしょうか。
AWS 環境をメインで使っている身としては、Amazon Bedrock でも同様に扱えるようになることを期待したいところです。









