ユースケース

分類のための Decisions API

分類とは、入力に対して有限のラベルを1つ選ぶ仕事です——それはまさにデシジョンエンドポイントがネイティブにやることです。生成テキストからラベルをパースする代わりに、ラベルを最初に定義し、勝者と全選択肢の確率を受け取ります。

更新日

有限ラベルが合う場面

下流のコードが既知の回答セットの1つを必要とするときはいつでも、デシジョン呼び出しが合います:チケットのカテゴリ、モデレーションの判定、インテントラベル、文書タイプ。人間が固定リストから選ぶなら、choice 質問がそのままの翻訳です。

ラベルが無制限なら——どの入力も新しいカテゴリになり得るなら——分類は適した形ではなく、生成が必要です。スイートスポットは、名前を付けて説明できる閉じた集合です。

  • サポートチケットのカテゴリ:billing、bug、account、other
  • コンテンツモデレーションの判定:spam、safe、needs review
  • インテントラベル:refund、cancel、change plan、question

単一ラベル:1つの choice 質問

単一ラベル分類では、各ラベルを短い説明に対応付けた criteria を持つ choice 質問を1つ送ります。必ず other や unclear の選択肢を入れてください——モデルに正直な逃げ道を与えることで、境界線の入力が間違ったバケットに入るのを防ぎます。

単一ラベルの choice

// Single-label classification: one choice question per call.
const res = await fetch("https://decisions-api.net/api/v1/decisions", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "decisions-1",
    state: "I was charged twice for my subscription this month.",
    questions: {
      category: {
        type: "choice",
        instructions: "Which category fits this support ticket best?",
        criteria: {
          billing: "Charges, invoices, refunds, or subscriptions.",
          bug: "Something is broken or returns an error.",
          account: "Login, password, or profile problems.",
          other: "None of the above fit.",
        },
      },
    },
  }),
});
// Illustrative response: answers.category ->
//   { choice: "billing", probabilities: {...}, confidence: 0.91 }

マルチラベル:1回の呼び出しで複数の noul 質問

複数のタグが同時に真になり得るマルチラベル分類は、同じ state に対する複数の noul 質問に対応します。各 noul 質問は1つのラベルの「はい」確率で、1回の呼び出しに最大6問を同じ 1 クレジットで詰め込めます。

マルチラベル noul バッチ

// Multi-label moderation: several noul questions over the same state.
// Each noul answer is a yes-probability between 0 and 1.
const res = await fetch("https://decisions-api.net/api/v1/decisions", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "decisions-1",
    state: "Congratulations! Verify your account to claim your prize.",
    questions: {
      is_spam: { type: "noul", instructions: "Is this message spam or a scam?" },
      pushes_action: {
        type: "noul",
        instructions: "Does it push the reader to click, pay, or verify something?",
      },
      needs_review: {
        type: "noul",
        instructions: "Should a human moderator review this message?",
      },
    },
  }),
});
// Illustrative response: answers.is_spam -> { noul: 0.97 },
//   answers.needs_review -> { noul: 0.88 }

重要度と順序:score

ラベルに順序があるとき——low / medium / high、P3 から P0 など——は choice ではなく score 質問を使います。criteria はレベル説明の配列で低い順に並べ、回答はレベルのインデックスと全レベルの確率です。

ラベルだけでなく確信度で動く

自動化を安全にするのは確率分布です。妥当な出発点:確信度が 0.8 以上ならラベルを自動適用し、それ未満はすべて人間のレビューに回す。しきい値は自分のデータで調整してください——正しい値は誤ラベルのコスト次第です。

よくある質問

1つの質問にいくつのラベルを持たせられますか?

choice 質問は 2〜8 個の選択肢、score 質問は 2〜10 個の順序付きレベルを取ります。1回の呼び出しで最大6問送れるので、1回で複数の軸に沿って分類できます。

マルチラベル分類はどうしますか?

同じ state に対してラベルごとに1つずつ noul 質問を送ります——1回の呼び出しで最大6問。各回答は独立した「はい」確率なので、1つの入力に任意の組み合わせのフラグを立てられます。

分類呼び出しのコストは?

このサイトでは成功した呼び出し1回につき 1 クレジットです——1問でも6問でも同じです。バリデーションエラーと上流の失敗は無料です。

今すぐ何かを分類する

新規訪問者に 1 回の無料トライアルデシジョン——自分のテキストをプレイグラウンドに貼って確率を読んでください。