judgevet について
judgevetは、TypeSafeのJevモデルに構造化された判定質問を行う、型付きPythonクライアントとCLIです。型付きの回答とローカルポリシー評価を提供し、オプションのMCP経由でエージェントからも利用できます。
主な機能
- 01型付きのYes/No・選択・スコア質問
- 02PythonライブラリとCLI
- 03JSON出力とポリシー終了ステータス
- 04ローカル受け入れポリシー評価
- 05オプションのstdio MCPサーバー
活用シーン
- 01サポートチケットのトピック分類
- 02順序付きルーブリックによるコンテンツ評価
- 03回答値の下限による受け入れ判定
MCP 対応
オプションのstdio MCPサーバーは、MCPクライアントに `ask_noul`、`ask_choice`、`ask_score`、`evaluate_policy` を公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
judgevet
TypeSafe の Jev(System One)判定モデル向けの、型付き Python クライアントです。CLI とオプションの MCP エントリーポイントを備えています。コンテンツについて、たとえばサポートチケットが請求に関するものかどうかなど、構造化された質問をするために使用できます。
state は評価対象のコンテンツです。question は評価する内容を示します。型付きの answer にはモデルの値が含まれており、アプリケーションで確認したり、ローカルの受け入れポリシーと比較したりできます。
非公式であり、TypeSafe とは提携していません。 TypeSafe 公式 Python SDK も、型付きの質問と同期・非同期クライアントを提供しています。judgevet は、ローカルポリシー評価を備えた共有ライブラリ、CLI、MCP コントラクトを追加します。ライブラリと CLI は MCP ランタイムなしでインストールできます。
ドキュメントの状態:ドラフトです。以下から始めるか、環境設定、チェックポイント、復旧手順については最初の判定チュートリアルを参照してください。
インストールして質問を 1 つする
Python 3.12 以降を使用してください。仮想環境で次を実行します。
python -m pip install 'judgevet==0.23.0'
judgevet --help
TypeSafe API キーは、プロセス環境またはシークレットプロバイダーから設定してください。この例では JEV_API__KEY を読み取り、ライブラリに明示的に渡します。実際のキーをソースコードやコマンド引数に記述しないでください。その他のインストール方法については、インストールガイドを参照してください。
この呼び出しでは、state、質問、選択したモデルが設定済みのサービスに送信されます。 開示する権限のあるコンテンツのみを送信してください。機密性の高いコンテンツを使用する前に、データと認証情報に関するガイダンスをお読みください。この例では、合成チケットを使用します。
import os
from judgevet import HTTPSystemOneAdapter, Noul
with HTTPSystemOneAdapter(api_key=os.environ["JEV_API__KEY"]) as client:
response = client.system_one(
state="I was charged twice. Please help today.",
questions={"billing": Noul(instructions="Is this about billing?")},
)
answer = response.nouls["billing"]
print(f"Probability of billing: {answer.noul}")
print(f"Resolved model: {response.model}")
print(f"Input tokens: {response.usage.input_tokens}")
コンテキストマネージャーは、呼び出し後に HTTP クライアントを閉じます。answer は引き続き利用できます。インポートまたは呼び出しに失敗した場合は、チュートリアルの復旧手順またはトラブルシューティングガイドを参照してください。
回答を読み取り、判断する
0.85 のような Noul 値は、モデルが「はい」と回答する確率を示します。実際の値は変動します。これはブール値でも、測定された正解率でも、チケットを振り分ける指示でもありません。Noul に独立した信頼度フィールドはありません。
ベンダーによる Noul の定義を参照してください。
返されるコンテナーには、解決されたモデルとトークン使用量も記録されます。 ほかの質問タイプでは、ラベルを選択したり、順序付きの評価基準を評価したりできます。
| 質問 | 回答に含まれる内容 |
|---|---|
Noul | 「はい」の確率 |
Choice | 選択されたラベル、ラベルごとの確率、信頼度 |
Score | 連続スコア、評価基準の凡例、レベルごとの確率、信頼度 |
ベンダーの API リファレンスで、これらのフィールドが定義されています。 質問タイプの説明 では、タイプの選び方と、スコア、信頼度、確率の区別を確認できます。
ローカルポリシーでは、アプリケーションが回答を受け入れるための最小値を設定できます。たとえば、0.85 は最小値が 0.8 なら条件を満たし、0.9 なら満たしません。これらは学習用のしきい値であり、本番環境向けの推奨値ではありません。ポリシーの条件を満たしても、モデルの正しさが証明されるわけではなく、アプリケーションの次のアクションが実行されるわけでもありません。合成回答を使った最初のポリシーのチュートリアル
を試してみてください。キーもネットワークも必要ありません。
次のタスクを選ぶ
| 必要なこと | こちらから始める |
|---|---|
| サービス呼び出しを最初から最後まで学ぶ | 最初の判定 |
| 非同期アプリケーションから呼び出す | Python 非同期ガイド |
| マウントされたキーまたはシークレットプロバイダーを使う | 認証情報のソース |
| コンテナーまたはサーバーレス環境にデプロイする | デプロイガイド |
| 診断イベントを関連付ける | イベントの仕様と呼び出し元のバインド |
| プロキシまたはプライベート CA を設定する | ネットワーク設定 |
| 上限付きの再試行を設定する | 再試行の上限 |
| サービスやトランスポートの障害に対処する | ライブラリのエラー処理 |
| Python で型付きポリシーまたは JSON ポリシーを評価する | ポリシーガイド |
| シェルコマンド、ファイル、または標準入力を使う | CLI の入力とCLI ポリシー |
| エージェントに判定ツールを提供する | MCP の任意インストール、接続、探索 |
| 型、オプション、スキーマを調べる | リファレンスマップ |
| しきい値とトレードオフを理解する | ローカルポリシーの説明 |
| エントリーポイントを選び、そのライフサイクルを管理する | ライブラリ中心のアーキテクチャ |
CLI は同じライブラリを使用し、JSON またはポリシー終了ステータスを返すことができます。
任意の MCP サーバーは、stdio 経由で ask_noul、ask_choice、ask_score、evaluate_policy を公開します。接続ガイドに従って追加機能をインストールし、ホストを設定してください。
これらは代替のエントリーポイントです。Python や CLI を使うのに MCP は必要ありません。
制限事項を把握する
正確なドキュメント例は、合成された回答を使用して、分離されたインストール環境で実行されます。これらのチェックで確認できるのはローカルの接続設定であり、モデルの品質やキャリブレーションではありません。実環境での証拠は、観測されたケースと解決済みの jev-1.13.0 モデルに限られます。429/529 エラーの本文は確認されておらず、ほかのモデルや未変更のフィールドも未検証です。検証の説明では、ローカルテスト、ベンダーの声明、実環境での観測を区別しています。
診断情報は、デフォルトでは出力されません。デバッグメタデータには状態や質問のテキストは含まれませんが、プロトコルエラー、CLI エラーのエンベロープ、任意のトレースバックには機密情報が含まれる場合があります。共有する前に確認してください。セキュリティポリシーでは、認証情報、情報開示、診断情報の制限について説明しています。
メンテナー
作業を提案する前に、コントリビューションポリシーをお読みください。 ドキュメントのチェック、パッケージの検証、リリースには、メンテナー向け手順を使用してください。 リポジトリへのコントリビューションルールでは、ゲートとコミットを定めています。検証台帳には、どのサービスに対する主張が実際の呼び出しで検証されたかが記録されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。