OpenAI: GPT-6 Luna Decisions
OpenAI の Decisions モードにおける GPT-6 Luna は、テキストと画像を評価し、条件の確率、固定された選択肢、評価基準のスコアなど、型が定められた確率的な回答を返します。文章による説明を決定結果そのものとして使わずに、分類、振り分け、優先順位付けを行えます。
モデルについて
この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。
OpenAI の Decisions モードで動作する GPT-6 Luna は、与えられた根拠を評価し、それについて型付きの回答を返します。開発元は、この特化型の判定インターフェース向けのモデルとして GPT-6 Luna を記載しています。条件が成り立つかどうかの推定、固定の選択肢からの選択、順序付きルーブリック上への入力の位置付けを行えます。タスクに必要なのが文章による応答ではなく、定義済みの判定結果である場合に、この GPT-6 Luna のモードを使います。
共有入力、名前付きの質問と回答
開発元のリクエストは、モデル、共有入力、questions 配列で構成されます。入力には、テキスト文字列か、テキストと画像を含むユーザーメッセージを使えます。各質問には、一意の名前、タイプ、指示、そして必要に応じて選択肢やレベルを指定します。回答の配列は質問名をそのまま返すため、結果を実際に求めた条件、カテゴリ、評価と対応付けられます。
サポートメッセージの場合は、メッセージと次の判定に関係する文脈を与え、ワークフローが必要とするフィールドに沿って質問に名前を付けます。文書のパッセージの場合は、より大きなファイルへの裏付けのない参照ではなく、基準を確定させるテキストを含めます。質問は観察可能な事実に基づいて定義し、独立した関心事は分けます。有用な結果では、各回答の定義と意味を保ったまま、問題のカテゴリと深刻度の評価を組み合わせられます。
predicate:条件が成り立つかを推定する
predicate 質問は、定義した条件が真である確率を0から1の値で返します。パッセージの関連性や、画像内で目に見える状態を確認できます。製品写真の場合は、ひび割れや破れなど確認すべき目に見える欠陥を記述し、その基準とともに画像を与えます。値はモデルによる推定であり、フラグ付けやレビューに使うしきい値はアプリケーション側が選びます。
OpenAI の Decisions ガイドでは、このエンドポイントにインラインでエンコードした画像データが必要とされています。ドキュメント化されたこの仕様では、ホストされた画像のアドレスやファイル識別子は、対応する画像入力ではありません。ユーザーメッセージ内でテキストと画像のコンテンツを組み合わせることで、視覚的な根拠を関連する文章の文脈とあわせて評価できます。画像は判読できる状態に保ち、条件は具体的にします。明示した1つの欠陥についての確率は、起こり得るあらゆる問題を網羅する一般的な検査報告ではありません。
choice:与えられた値から1つを選ぶ
choice 質問は、それぞれ異なる値と、どのような場合に該当するかを説明する記述を持つ選択肢から選択します。返される選択はそれらの値のいずれかで、選択肢ごとの確率と、別個の信頼度(confidence)フィールドが付きます。ルーティングでは、実際に存在するチームや結果に沿ってカテゴリを定義し、選択肢の集合がすべての入力を網羅しない場合は「その他」の選択肢を含めます。これらのカテゴリは順序なしとして扱います。並び順は深刻度の尺度ではありません。
実用的な分類の指示では、製品の不具合、アクセスの問題、一般的な問い合わせを区別できます。短い名前だけに頼らず、これらのカテゴリの境界を記述します。返された選択は提案ラベルとして使い、複数の意味がいずれも妥当に思える場合は分布を確認します。結果が提供するのは選択であり、その選択で自動ルーティングを行うかレビューに回すかはアプリケーションが決定します。
score:確率で重み付けしたルーブリック上の位置
score 質問は、低いものから高いものへと並べた順序付きのレベルを使います。レベルのインデックスは0から始まり、スコアはそれらのインデックスの確率加重平均です。スコアはレベルとレベルの間の値になることがあります。問題の深刻度であれば、あるレベルは見た目だけの影響、別のレベルは回避策が使える状態、さらに別のレベルは完全に作業が止まる状態を意味する、といった形にし、それらを分ける基準を定義します。回答には、スコアに加えて、レベルごとの確率と信頼度が含まれます。
期待スコアは、単一のカテゴリを選ぶのではなく分布を要約したものです。結果を優先順位付けや集計上の傾向に使う際は、この違いを保ちます。固定カテゴリで表示したい場合は、代わりに choice 質問を使えます。信頼度は choice と score の回答で別個に報告されるフィールドであり、ガイドではこれを選択された選択肢の確率と同一のものとは定義していません。
複数の質問と依存する判定
独立した質問は、異なる質問タイプを含めて、開発元の1回のリクエストの中で入力を共有できます。たとえば1枚の写真で欠陥の predicate とカテゴリの choice を、1件のメッセージでカテゴリと深刻度の評価を判定できます。関心事ごとに専用の指示と意味を与えます。後の判定が前の結果に依存する場合、開発元はリクエストを分け、2つ目の質問がその結果を明示的に使えるようにすることを推奨しています。1つの配列内で質問を並べても、順を追った会話になるとは考えないでください。
適切な出力の選択と制約の解釈
Decisions は、定義された predicate、choice、score の結果を提供します。回答のタイプが refusal になる場合もあるため、確率、選択、スコアを読む前にタイプを確認します。OpenAI は、これを Structured Outputs によるスキーマに基づく任意のオブジェクトや文章による説明の生成とも、function calling によるツール操作の要求とも区別しています。判定の回答を、生成された根拠説明や、外部の操作が実行されたことの証明として提示すべきではありません。一般的なチャットモデルの出力、推論、ツールの設定は、この特化型モードに自動的に含まれるものではありません。
偽陽性と偽陰性がもたらす影響を考慮し、代表的なラベル付き入力を使ってルーティング、絞り込み、レビューのしきい値を評価します。根拠、質問の定義、生の数値出力を対応付けて保持し、曖昧な結果を確認できるようにします。共有する根拠は名前付きの質問に関係するものに絞り、判定タスクを送信する前に、各選択肢やルーブリックのレベルを明確に定義します。根拠と回答タイプはドキュメント化された判定ワークフローに沿って準備し、出力は評価対象のタスクに即して解釈します。
Ailoot Ultra · System One POST /v1/systemone openai/gpt-6-luna-decisions
openai/gpt-6-luna-decisionsはじめに
OpenAI の Decisions モードにおける GPT-6 Luna は、テキストと画像を評価し、条件の確率、固定された選択肢、評価基準のスコアなど、型が定められた確率的な回答を返します。文章による説明を決定結果そのものとして使わずに、分類、振り分け、優先順位付けを行えます。
- 対応する入力
- テキスト · 画像
- 結果
- decisions
Ailootで利用可能 · 入力とメソッド
Ailoot Ultra · System One POST /v1/systemone
- 入力の種類
text,image- 出力の種類
decisions- 出力形式
- json
| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
|---|---|---|---|---|
フィールドmodel | 種類string | 要件必須 | 値と制限 openai/gpt-6-luna-decisions | デフォルト— |
フィールドprovider | 種類schema | 要件任意 | 値と制限 | デフォルト— |
フィールドquestions | 種類object | 要件必須 | 値と制限 | デフォルト— |
フィールドsession_id | 種類string | 要件任意 | 値と制限 | デフォルト— |
フィールドstate | 種類schema | 要件必須 | 値と制限 | デフォルト— |
フィールドtrace | 種類schema | 要件任意 | 値と制限 | デフォルト— |
フィールドuser | 種類string | 要件任意 | 値と制限 | デフォルト— |
フィールドquestions.<id>.type | 種類string | 要件必須 | 値と制限 noul, choice, score | デフォルト— |
フィールドquestions.<id>.instructions | 種類string|object|array | 要件必須 | 値と制限 | デフォルト— |
フィールドquestions.<id>.criteria | 種類object|array | 要件任意 | 値と制限 条件: choice/score:必須;noul:任意。choiceのcriteriaはオブジェクト、scoreはminItems1の配列です。 | デフォルト— |
フィールドquestions.<id>.criteria.true | 種類string|object|array | 要件必須 | 値と制限 適用条件: noul の条件オブジェクトが指定されている | デフォルト— |
フィールドquestions.<id>.criteria.false | 種類string|object|array | 要件必須 | 値と制限 適用条件: noul の条件オブジェクトが指定されている | デフォルト— |
入力素材の組み合わせ
noul · 必須: state, questions.<id>.type=noul, questions.<id>.instructions
choice · 必須: state, questions.<id>.type=choice, questions.<id>.instructions, criteria object
score · 必須: state, questions.<id>.type=score, questions.<id>.instructions, criteria array with minItems1
メソッドのパラメータとライフサイクル
| パラメータ | 仕様 |
|---|---|
パラメータcontent_type | 仕様application/json |
パラメータrequired | 仕様model, state, questions |
パラメータmaterial_types | 仕様text, image |
パラメータoptional_controls | 仕様provider, session_id, trace, user |
パラメータmultimodal_input_binding | 仕様宣言された正確な状態/文書の表現形式だけを使用してください。メーカーが画像に対応していることだけでは、モデル固有の受け入れ可能な画像の受け渡し形式が確定するわけではありません。 |
ライフサイクル: synchronous
正確なモデルIDを送信し、ネイティブのレスポンス全体を保持してください。
料金
料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。
- 高速モード
- 未指定 高速モードが選択されている場合
- Flex モード
- 未指定 flex モードが選択されている場合
- 最大推論量
- 未指定 推論量が最大で、調整に既定値(default)を使用する場合
Ailootの料金
設定別の価格
各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。
| 設定 | 料金表 | コンテキストトークン数が次の値を超える場合 | コンテキストトークン数が次の値以下の場合 | 料金 |
|---|---|---|---|---|
| 設定トークンの基本単価 | 料金表基本料金 | コンテキストトークン数が次の値を超える場合— | コンテキストトークン数が次の値以下の場合上限なし | 料金 入力 · 入力トークン $0.0002 / 1K トークン 出力 · 出力トークン $0 / 1K トークン 入力 · キャッシュ読み取り $0 / 1K トークン 入力 · キャッシュ書き込み $0 / 1K トークン 入力 · キャッシュ書き込み、1時間 — / 1K トークン |
| 設定リクエスト長に応じた料金区分 1 | 料金表— | コンテキストトークン数が次の値を超える場合0 | コンテキストトークン数が次の値以下の場合上限なし | 料金 入力 · 入力トークン $0.0002 / 1K トークン 出力 · 出力トークン $0 / 1K トークン 入力 · キャッシュ読み取り $0 / 1K トークン 入力 · キャッシュ書き込み $0 / 1K トークン 入力 · キャッシュ書き込み、1時間 — / 1K トークン |
Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →
リクエスト例
Ailoot Ultra · System One
{
"model": "openai/gpt-6-luna-decisions",
"questions": {
"is_bug": {
"criteria": {
"false": "The customer is asking a question or requesting a feature.",
"true": "The customer describes broken or unexpected product behavior."
},
"instructions": "Is the customer reporting a software defect?",
"type": "noul"
},
"team": {
"criteria": {
"account": "Login, permissions, or profile issues.",
"frontend": "Rendering, layout, or browser compatibility issues.",
"payments": "Checkout, billing, or payment processing issues."
},
"instructions": "Which team should own this ticket?",
"type": "choice"
},
"urgency": {
"criteria": [
"Can wait for the next release",
"Should be fixed this week",
"Blocking revenue right now"
],
"instructions": "How urgent is this ticket?",
"type": "score"
}
},
"state": {
"customer_tier": "enterprise",
"ticket": "My checkout page shows a blank screen after I click Pay. I have tried two browsers."
}
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_REQUEST_FILE:?Set your actual JSON request file}"
export AILOOT_REQUEST_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))
if not isinstance(p,dict): raise SystemExit('Request must be a JSON object')
p['model']='openai/gpt-6-luna-decisions'
Path('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))
PY_RESULT
結果を受け取って保存
Ailoot Ultra · System One
json
完了した結果をすべて保存
返された完全なレスポンス、ファイル、コンテンツ部分をすべて保存してください。
指定された各質問IDに対する回答は、正確な型、noul/choice/scoreの値、信頼度、確率、凡例とともにすべて保持されます。元のJSON全体は保存され、精算後にのみ返されます。
元のレスポンスを確認する場合
元の操作と、完全または部分的な応答を保持してください。POSTを再実行しないでください。
レスポンスのフィールド
| フィールド | 種類 |
|---|---|
フィールドmodel | 種類string |
フィールドid | 種類string |
フィールドprovider | 種類string |
フィールドanswers.<id>.type | 種類string |
フィールドanswers.<id>.noul | 種類number |
フィールドanswers.<id>.choice | 種類string |
フィールドanswers.<id>.score | 種類number |
フィールドanswers.<id>.confidence | 種類number |
フィールドanswers.<id>.probabilities | 種類object |
フィールドanswers.<id>.legend | 種類object |
フィールドusage.input_tokens | 種類integer |
フィールドusage.output_tokens | 種類integer |
フィールドusage.cost | 種類number |
エラーと次の手順
| レスポンス | 条件 | 次の手順 |
|---|---|---|
レスポンス400 · invalid_request_error | 条件必須フィールド、表現形式、または値が無効です | 次の手順指摘されたリクエストフィールドを修正してください。 |
エイリアス
モデルのエイリアス
Ailoot Ultra openai/gpt-6-luna-decisions
メソッドパスのエイリアス
上記に表示されたメソッドパスを使用してください。
関連する呼び出し用ID
FAQ · OpenAI: GPT-6 Luna Decisions
- 利用できる入力と結果は何ですか?
POST /v1/systemone·openai/gpt-6-luna-decisions:text,image→decisions- リクエストはどの項目を使用しますか?
POST /v1/systemone·openai/gpt-6-luna-decisions:model,provider,questions,session_id,state,trace,user