SDK 2.6.0 で追加。すべての API キーはガバナンスポリシーが ダッシュボード で一元的に構成されるアプリケーションにバインドされます。これら 3 つのメソッドを使用してコードはランタイムでその構成を読み取ることができます — スタートアップチェック、ダッシュボード、監視に便利です。読み取り専用でクレジットを消費しません 。
アプリケーション構成
get_config() はキーがバインドされたアプリケーション、そのガバナンスポリシー、強制がレスポンスを積極的に整形しているか、または単に監視しているだけかを返します。
from rail_score_sdk import RailScoreClient
client = RailScoreClient( api_key = "YOUR_RAIL_API_KEY" )
cfg = client.get_config()
print ( f "アプリケーション: { cfg.application.id } ( { cfg.application.environment } )" )
print ( f "プラン: { cfg.application.plan } " )
print ( f "強制: { cfg.policy.enforcement } " ) # log_only | block | regenerate
print ( f "評価モード: { cfg.policy.eval_mode } " ) # basic | deep
print ( f "閾値: { cfg.policy.overall_threshold } " )
print ( f "モード: { cfg.enforcement.mode } " ) # enforce | monitor
if cfg.policy.locked:
print ( "ポリシーは管理者によってロックされています。リクエストごとのオーバーライドは無視されます。" )
プラン機能
get_capabilities() はキーのプランがアクセスできるもの — 評価モード、コンプライアンスフレームワーク、エージェントと DPDP 機能、リクエスト制限をレポートします。プラン仮定をハードコーディングせずに動作を適応させるために使用します。
caps = client.get_capabilities()
print ( f "プラン: { caps.plan } " )
print ( f "フレームワーク: { caps.compliance.get( 'frameworks' ) } " )
print ( f "DPDP 証拠が利用可能: { caps.dpdp.get( 'evidence' ) } " ) # Pro+ のみ
print ( f "リクエスト/日: { caps.limits.get( 'requests_per_day' ) } " ) # None = 無制限
次元メタデータ
get_dimensions() は 8 つの RAIL 次元とあなたのアプリケーション向けに構成された重み と閾値 、プラス結果が落ちるスコアバンドを返します。
dims = client.get_dimensions()
for d in dims.dimensions:
print ( f " { d.get( 'name' ) :14} weight= { d.get( 'weight' ) } threshold= { d.get( 'threshold' ) } " )
for band in dims.score_bands:
print (band.get( "band" ), ">=" , band.get( "min" ))
各型付き結果は、修正されていないレスポンスを含む .raw 辞書も公開するため、新しいフィールドは SDK が型付きアクセッサーを追加する前であっても常に到達可能です。
非同期
非同期クライアントは同じ 3 つのメソッドを公開します:
import asyncio
from rail_score_sdk import AsyncRAILClient
async def main ():
client = AsyncRAILClient( api_key = "YOUR_RAIL_API_KEY" )
caps = await client.get_capabilities()
print (caps[ "plan" ]) # 非同期クライアントは生の辞書を返します
asyncio.run(main())
構成 API これらのメソッドの背後にある REST エンドポイント。
ポリシーエンジン 強制、閾値、ロックがどのように機能するか。