意思決定
意思決定 (Jev)
データについて型を指定して質問すると、コードで扱える回答が得られます。yes の確率、選択肢からの回答、尺度上の位置を、調整された確率とともに、通常1秒以内に返します。TypeSafe 独自の API で提供されるため、TypeSafe の SDK は変更せずに使えます。
/v1/systemoneJev は TypeSafe の意思決定モデルです。TypeSafe はこれを System One モデルと呼んでいます。チャットモデルのように自然言語を理解しますが、文章を書く代わりに、指定した質問に答えます。jev-latest、jev-1.14.0、typesafe/jev-1.14 もモデル ID として使えます。jev-1.13 も、それ向けに調整したプロンプトで引き続き利用できます。
質問する
# pip install typesafe-sdkfrom typesafe_sdk import Choice, Noul, Score, TypeSafeClientwith TypeSafeClient( base_url="https://api.zurelay.com", api_key="YOUR_ZURELAY_KEY", model="jev-1.14",) as client: response = client.system_one( state={"ticket": "I was charged twice for October, please refund one today."}, questions={ "refund": Noul(instructions="Is the customer asking for money back?"), "team": Choice( instructions="Which team should handle this?", criteria={"billing": "Charges and refunds", "technical": "Bugs and outages"}, ), "urgency": Score( instructions="How urgent is it?", criteria=["can wait", "this week", "today"], ), }, )print(response.nouls["refund"].noul) # 0.98print(response.choices["team"].choice) # billingprint(response.scores["urgency"].score) # 1.9TypeSafe の SDK では、ベース URL を /v1 を含めずに https://api.zurelay.com に設定してください。/v1/systemone は SDK が追加します。環境変数 TYPESAFE_BASE_URL と TYPESAFE_API_KEY も使えます。どの HTTP クライアントでも方法は同じです。Zurelay のキーを Bearer トークンとして送信してください。
回答
{ "id": "req_8Kq2vXbN4tR7mWc1pLs9dYe3", "model": "jev-1.14", "answers": { "refund": { "type": "noul", "noul": 0.98 }, "team": { "type": "choice", "choice": "billing", "probabilities": { "billing": 1.0, "technical": 0.0 }, "confidence": 1.0 }, "urgency": { "type": "score", "score": 1.9, "legend": { "0": "can wait", "1": "this week", "2": "today" }, "probabilities": { "0": 0.0, "1": 0.1, "2": 0.9 }, "confidence": 0.81 } }, "usage": { "input_tokens": 396, "output_tokens": 61, "cost": 0.00001386 }}各回答は、質問に付けた名前の下に返されます。usage は課金対象となった量、cost は米ドルでの料金です。同じリクエストでも、呼び出すたびに回答が1~2ポイント異なることがあります。
パラメータ
modelstring必須jev-1.14、jev-latest(同じモデル)、またはjev-1.13。statestring, object or array必須- 判断対象の内容です。テキストのほか、レコード、チャットログ、アプリの現在の状態などの構造化データを指定できます。質問からフィールドを参照するときは、`ticket` のように名前をバックティックで囲みます。
questionsobject必須- 質問ごとに任意の名前を付けます。回答は同じ名前の下に返されます。名前はモデルには送信されません。
typestring必須noul、choice、またはscore。instructionsstring, object or array必須- 質問です。オブジェクトを使う場合は、1つのフィールドに質問を、ほかのフィールドに参照するデータを入れられます。
criteriaobject or arraychoice(必須)では、最大255件の選択肢をオブジェクトで指定します。各選択肢には説明またはnullを設定します。score(必須)では、2~10段階の配列を低い順に指定します。noul(任意)では、yes と no の意味をtrueとfalseで指定します。
質問の種類
1つのリクエストに3種類すべてを混在させられます。質問を増やしても、コストは1問の場合とほとんど変わりません。状態を一度読み取り、すべての質問に並列で回答します。
制限
- 1リクエストあたり、状態とすべての質問を合わせて最大64K トークンです。また、状態と最も長い質問の合計は最大32K トークンです。
- テキストのみ対応しています。文字列、JSON オブジェクト、配列を指定できます。画像、PDF、音声は先にテキストに変換してください。
- ストリーミングには対応していません。回答はまとめて返され、通常1秒以内に届きます。
- 不正なリクエスト(
instructionsの欠落、段階が1つしかないスコアなど)は、モデルに届く前に400で拒否され、料金はかかりません。64K トークンを超えるリクエストも同様に、コードcontext_length_exceededで拒否されます。
よい回答を得るには
意思決定の料金
Jev は、Jev が数えた入力トークンに基づいて課金されます。入力には、状態と質問に加え、リクエストごとに約270トークンが含まれます。TypeSafe と同様、回答は無料です。約300トークンの短いリクエストなら約$0.00001、100万件で約$10です。各レスポンスの usage ヘッダーと x-zurelay-input-tokens ヘッダーで課金対象を確認できます。すべてのリクエストはリクエストログに記録され、失敗したリクエストには料金がかかりません。
ダッシュボードの プレイグラウンド で、自分のコンテンツと質問を試せます。Jev を選び、コンテンツを貼り付け、その横に質問を設定してください。Get code ボタンを押すと、同じリクエストのコードが Python、Node.js、または cURL で生成されます。
ご質問や不足している情報はありますか? サポートチームにお問い合わせください。通常1分以内にメールで回答します。