TypeSafe Decisions
Jev を使用して条件判定、分類、評価、ツール選択を行います。
Decisions は Jev を使用してテキストや業務の状態を判定し、コードから直接読み取れる回答を返します。API は JSON を同期的に返し、ストリーミングには対応していません。
リクエスト例
以下の例では jev-1.13.0 を使用します。質問のシナリオとコードの言語を選択すると、対応するリクエストをコピーできます。
返金要求の有無を判定
curl --request POST 'https://api.agtcloud.cn/v1/decisions' \
--header 'Authorization: Bearer your-api-key' \
--header 'Content-Type: application/json' \
--data '{
"model": "jev-1.13.0",
"state": "My subscription was charged twice. Please refund the duplicate charge.",
"questions": {
"ticket": {
"type": "noul",
"instructions": "Does the customer explicitly request a refund?",
"criteria": {
"true": "The message explicitly asks for a refund.",
"false": "The message does not ask for a refund."
}
}
}
}'質問の種類
| 種類 | 用途 | 返されるフィールド |
|---|---|---|
noul | 顧客の返金要求の有無などを判定 | noul:成立する確率 |
choice | チケットの担当部署など、候補から分類やアクションを選択 | choice、probabilities、confidence |
score | チケットの緊急度など、順序付けられた基準で評価 | score、legend、probabilities、confidence |
state に判定対象の内容を、questions に質問と基準を指定します。同じリクエストに複数の質問を含め、3 種類を組み合わせることもできます。各質問は同じ state を共有します。
結果の読み取り
answers は questions と同じ質問 ID を使用します。たとえば質問 ID が ticket の場合、answers.ticket から回答を読み取ります。
- 判定:
noulを読み取ります。値の範囲は 0~1 で、1 に近いほど成立、0 に近いほど不成立の傾向を示します。業務に応じて判定のしきい値を設定してください。 - 分類:
choiceから選択された候補名を取得し、probabilitiesで各候補の確率を確認します。 - 評価:
scoreを読み取ります。レベルはcriteriaの配列位置に従って 0 から番号が付けられます。3 段階の基準は 0~2 に対応し、スコアは小数になることもあります。legendはレベル番号と説明の対応を示します。
choice と score の confidence は確率分布の確かさを示し、回答の正解率ではありません。確率、スコア、Token 使用量はリクエストによって変わります。
ツール選択では choice が lookup_payment などのアクション名を返します。アプリケーションはその名前に基づいて後続の処理を実行します。この決定リクエスト自体はツールを実行せず、OpenAI の tool_calls も生成しません。
Token 使用量と料金
usage.input_tokens と usage.output_tokens は、それぞれ入力と出力の Token 使用量を記録します。Jev は入力 Token に対して課金し、出力 Token には課金しません。複数の質問や候補の説明も入力使用量に影響します。最新の料金は モデルマーケットプレイス をご確認ください。