Skip to main content
Jevによる判断
Jevは、TypeSafeの構造化された意思決定モデルです。アプリケーションの状態と名前付きの質問を送信すると、生成されたチャットテキストではなく、分類、スコア、またはyes/noの確率が同期的に返されます。 POST https://api.mixroute.ai/v1/systemone Authorization: Bearer $MIXROUTE_API_KEYでContent-Type: application/jsonとともにMixRouteのAPIキーを使用してください。ネイティブのTypeSafeボディ構造であるmodel、state、questionsを維持してください。metadataでラップしたり、チャットメッセージや非同期タスクのポーリングを使用したりしないでください。

対応モデル

jev-1.13.0は固定バージョンID、jev-latestは最新安定版のエイリアスです。現在はいずれもJev 1.13を呼び出しており、別々の2つのモデルではなく、1つのモデルを指します。最新エイリアスの参照先は今後のリリースで変更される可能性があります。安定性を重視する場合はバージョンを固定し、レスポンスのmodelで使用されたバージョンを確認してください。 アカウントのモデル一覧で利用可能な、正確なモデルIDのみを使用してください。

質問タイプの選択

トップレベルのパラメーター

質問IDはリクエストと回答を対応付けるためのもので、モデルには表示されません。実際の質問はIDだけでなくinstructionsに記述してください。複数の質問は同じstateに対して独立して評価され、3種類すべてを混在させることができます。ある質問が別の回答に依存する場合は、アプリケーション内で個別の呼び出しを組み合わせてください。

質問のパラメーター

以下のフィールドはquestions[question_id]内に配置します。各質問にinstructionsを明示的に指定し、1つの明確な判断内容を記述してください。

Choiceによる分類

返されるchoiceは、確率が最も高い選択肢です。probabilitiesにはすべての選択肢が含まれ、その合計はおおむね1になります。入力の一部が指定したカテゴリに当てはまらない可能性がある場合は、otherまたはinsufficient_informationを含めてください。

スコア評価

レベルのインデックスは0から始まります。3つのレベルは0、1、2に対応します。scoreは確率で重み付けされた位置で、0からレベル数マイナス1までの値を取り、小数になる場合があります。常に0〜1のスコアとは限りません。legendは文字列のインデックスを元の説明に対応付け、probabilitiesも同じインデックスを使用します。返されたscoreは切り捨てずに使用してください。離散的なレベルが必要な場合は、アプリケーション側で判定ルールを定めてください。

NoulによるYes/No評価

返されるnoulは、ブール値ではなく0~1の確率です。1に近いほどtrue、0に近いほどfalseを支持し、0.5付近は不確実であることを示します。Noulには独立したconfidenceフィールドがなく、程度を測定するものでもありません。段階的な評価にはScoreを使用してください。

入力とコンテキストの上限

テキスト、指示、評価基準はすべてコンテキストを消費します。質問間でstateは共有されますが、質問が増えるごとに入力全体の量も増えます。プロバイダーが公表するレート制限は、MixRouteアカウントの利用可能枠を定めるものではありません。ご自身のアカウントの制限を使用してください。

リクエスト例

サーバー側で環境変数MIXROUTE_API_KEYを設定してください。このリクエストでは、3種類すべての質問を混在させています。

レスポンス例

確率とトークン数はレスポンス形式を示すための例です。値は入力や呼び出しによって異なる場合があります。 アプリケーションで確率や信頼度のしきい値を設定し、不確実な入力に対してはレビューや確認を行う経路を用意してください。信頼度が高くても正確さが保証されるわけではありません。英語以外のタスクは、ご自身のアプリケーションデータで評価してください。

構造化入力

状態、指示、説明形式の基準には、ネイティブのJSON構造を使用してください。この例では、オブジェクト/配列形式の指示と、構造化されたレベルの説明を組み合わせています。

会話配列

会話記録をstate配列として渡してください。ここでのrole/textはアプリケーションのフィールドであり、Chat Completionsのメッセージプロトコルではありません。

Python

Python 3とrequestsが必要です。この例では、タスクのポーリングや自動再送信を行わずに同期的な回答を読み取ります。

JavaScript

Node.js 18以降をESモジュール(.mjs)で使用してください。APIキーはブラウザーのコードではなく、サーバー側で保持してください。

料金と使用量

これらは米ドル建ての基本価格です。実際の請求額は、現在のモデルマーケットプレイスの価格、アカウントグループの倍率、および請求明細によって決まります。入力使用量にはstateと質問の定義が含まれ、質問や選択肢が増えると入力トークンも増えます。出力トークンが無料でも、usage.output_tokensがゼロ以外になる場合があります。 usage.input_tokensに入力単価を掛けて1,000,000で割り、その後アカウントの倍率を適用して料金を見積もります。プラットフォームは各リクエストを内部クォータ単位で精算するため、丸め処理により、丸め前の米ドル計算とはわずかな差が生じる場合があります。 クォータの換算については、認証とクォータを参照してください。

レスポンスの処理

JSONの結果を使用する前に、HTTPのステータスを確認してください。成功レスポンスには回答が直接含まれます。エラーの詳細は、文字列、オブジェクト、またはフィールドエラーの配列の場合があります。APIキー全体をログに記録せず、トラブルシューティング用にx-oneapi-request-idレスポンスヘッダーを保持してください。 ネットワークのタイムアウトは、リクエストが実行されなかった証拠にはなりません。再送信すると新たな評価が作成され、再度料金が発生する場合があります。アプリケーション側で再試行を明示的に制御してください。