Skip to Content
ガイド機能型付き確率的判断

型付き確率的判断を使う

型付き確率的判断は、共通の入力 state に対して、noul・choice・score の質問をまとめて送り、質問名ごとに確率を受け取るAPIです。チャットとは別の POST /v1/systemone を使います。

HTTPリクエスト

次の例では、同じ state に対して3種類の質問を送っています。questions は配列ではなく、質問名をキーにしたオブジェクトです。応答の answers も同じ質問名で返ります。

Shell
curl "$AI_GATEWAY_BASE_URL/v1/systemone" \ -H "Authorization: Bearer $AI_GATEWAY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "auto", "state": "商品が届きません。明日までに必要です。", "questions": { "urgent": { "type": "noul", "instructions": "至急対応が必要ですか?", "criteria": { "true": "明日までに対応が必要", "false": "期限に余裕がある" } }, "department": { "type": "choice", "instructions": "どの担当に回すべきですか?", "criteria": { "delivery": "配送に関する問い合わせ", "other": null } }, "priority": { "type": "score", "instructions": "対応の優先度を評価してください。", "criteria": [ "通常対応でよい", "早めの対応が必要", "至急対応が必要" ] } } }'
  • state と各質問の instructions には文章、またはJSONの文字列・オブジェクト・配列を指定できます。
  • noul は yes/no の判断です。criteria は省略できます。含めるときは true と false の意味を指定します。
  • choice の criteria は候補名と説明の組み合わせです。説明が不要な候補は null にします。
  • score の criteria は順番に意味がある配列です。2段階以上を指定します。返る数値スコアは段階の間の値になることがあります。

model に auto を指定すると、同じ型付き確率的判断の出力種別を持ち、APIキーで利用できるモデルから選ばれます。モデルを固定する場合は、GET /v1/models に返る output_modality が probabilistic_decision のモデルIDを指定します。

応答の見方

answers には質問名ごとに結果が入り、返る項目は質問の種類によって変わります。

noul は次の1項目です。

  • noul: 「はい」である確率です。1に近いほど強い「はい」、0に近いほど強い「いいえ」、0.5付近は「はい」と「いいえ」が同程度であることを表します。criteria を指定した場合は true の条件に当てはまる確率になります。noul に confidence は返りません。

choice は次の3項目です。

  • choice: 確率がもっとも高い候補です。
  • probabilities: 候補ごとの確率です。合計は1になります。
  • confidence: probabilities の分布の偏りから計算される0から1の値です。1つの候補に確率が集中していれば高く、複数の候補に分散していれば低くなります。選ばれた候補の確率そのものではありません。

score は次の4項目です。

  • score: 段階の番号を確率で重み付けして合計した数値です。段階の間の値になることがあります。
  • legend: 段階の番号と criteria に指定した説明の対応です。
  • probabilities: 段階ごとの確率です。合計は1になります。
  • confidence: choice と同じ統計量で、こちらは段階ごとの probabilities の分布から計算されます。
{ "model": "typesafe/jev-latest", "answers": { "urgent": { "type": "noul", "noul": 0.96 }, "department": { "type": "choice", "choice": "delivery", "probabilities": { "delivery": 1, "other": 0 }, "confidence": 1 }, "priority": { "type": "score", "score": 1.98, "legend": { "0": "通常対応でよい", "1": "早めの対応が必要", "2": "至急対応が必要" }, "probabilities": { "0": 0, "1": 0.02, "2": 0.98 }, "confidence": 0.97 } }, "usage": { "input_tokens": 454, "output_tokens": 61 } }

公式仕様