> ## Documentation Index
> Fetch the complete documentation index at: https://docs.responsibleailabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Python: 構成

> client.get_config / get_capabilities / get_dimensions を使用したアプリケーションのポリシー、プラン機能、次元の読み取り専用検査。クレジットを消費しません。

<Info>
  **概念:** [アプリケーション](/concepts/applications) · [ポリシーエンジン](/concepts/policy-engine) | **API:** [構成](/api-reference/config)
</Info>

<Note>
  **SDK 2.6.0** で追加。すべての API キーはガバナンスポリシーが [ダッシュボード](https://responsibleailabs.ai/dashboard)で一元的に構成されるアプリケーションにバインドされます。これら 3 つのメソッドを使用してコードはランタイムでその構成を読み取ることができます — スタートアップチェック、ダッシュボード、監視に便利です。読み取り専用で**クレジットを消費しません**。
</Note>

```mermaid theme={null}
flowchart LR
    K["あなたの API キー"] --> A["client.get_config()<br/>ポリシー + 強制モード"]
    K --> B["client.get_capabilities()<br/>プラン機能 + 制限"]
    K --> C["client.get_dimensions()<br/>重み + 閾値"]
```

## アプリケーション構成

`get_config()` はキーがバインドされたアプリケーション、そのガバナンスポリシー、強制がレスポンスを積極的に整形しているか、または単に監視しているだけかを返します。

```python theme={null}
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 機能、リクエスト制限をレポートします。プラン仮定をハードコーディングせずに動作を適応させるために使用します。

```python theme={null}
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 次元とあなたのアプリケーション向けに構成された**重み**と**閾値**、プラス結果が落ちるスコアバンドを返します。

```python theme={null}
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"))
```

<Tip>
  各型付き結果は、修正されていないレスポンスを含む `.raw` 辞書も公開するため、新しいフィールドは SDK が型付きアクセッサーを追加する前であっても常に到達可能です。
</Tip>

## 非同期

非同期クライアントは同じ 3 つのメソッドを公開します:

```python theme={null}
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())
```

## 関連

<CardGroup cols={2}>
  <Card title="構成 API" icon="gear" href="/api-reference/config">
    これらのメソッドの背後にある REST エンドポイント。
  </Card>

  <Card title="ポリシーエンジン" icon="gavel" href="/concepts/policy-engine">
    強制、閾値、ロックがどのように機能するか。
  </Card>
</CardGroup>
