> ## 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.

# Google Gemini

> RAILGemini - Google Gemini と Vertex AI のためのドロップインラッパーで、すべてのレスポンスを自動的にスコアリングします。

## インストール

<CodeGroup>
  ```bash Python theme={null}
  pip install "rail-score-sdk[google]"
  ```

  ```bash JavaScript theme={null}
  npm install @responsible-ai-labs/rail-score @google/generative-ai
  ```
</CodeGroup>

## 使用法

<CodeGroup>
  ```python Python theme={null}
  import asyncio
  from rail_score_sdk.integrations import RAILGemini

  async def main():
      client = RAILGemini(
          google_api_key="AIza...",
          rail_api_key="YOUR_RAIL_API_KEY",
          rail_threshold=7.0,
          rail_policy="regenerate",
          rail_mode="basic",
      )

      response = await client.generate_content(
          model="gemini-1.5-pro",
          contents="採用におけるアルゴリズムバイアスのリスクを説明してください。",
      )

      print(f"コンテンツ: {response.content}")
      print(f"RAIL スコア: {response.rail_score}/10")
      print(f"閾値を満たしました: {response.threshold_met}")
      print(f"再生成されました: {response.was_regenerated}")

  asyncio.run(main())
  ```

  ```typescript JavaScript theme={null}
  import { RAILGemini } from "@responsible-ai-labs/rail-score";

  const client = new RAILGemini({
    googleApiKey: "AIza...",
    railApiKey: "YOUR_RAIL_API_KEY",
    railThreshold: 7.0,
    railPolicy: "regenerate",
  });

  const response = await client.generateContent({
    model: "gemini-1.5-pro",
    contents: "採用におけるアルゴリズムバイアスのリスクを説明してください。",
  });

  console.log(`RAIL スコア: ${response.railScore}/10`);
  ```
</CodeGroup>

## Vertex AI

Google AI Studio の代わりに Vertex AI 経由で Gemini を使用するには、`use_vertex=True` を渡します：

```python theme={null}
from rail_score_sdk.integrations import RAILGemini

client = RAILGemini(
    use_vertex=True,
    gcp_project="your-gcp-project-id",
    gcp_region="us-central1",
    rail_api_key="YOUR_RAIL_API_KEY",
    rail_threshold=7.0,
)

response = await client.generate_content(
    model="gemini-1.5-pro",
    contents="...",
)
```

<Note>
  Vertex AI はアプリケーションデフォルトの認証情報を使用します。`gcloud auth application-default login` を実行するか、`GOOGLE_APPLICATION_CREDENTIALS` をサービスアカウントキーのファイルに設定してください。
</Note>

## 設定オプション

| パラメータ            | タイプ     | デフォルト           | 説明                                                |
| ---------------- | ------- | --------------- | ------------------------------------------------- |
| `google_api_key` | `str`   | —               | Google AI Studio API キー（`use_vertex=True` の場合は不要） |
| `rail_api_key`   | `str`   | —               | あなたの RAIL API キー                                  |
| `rail_threshold` | `float` | `None`          | このスコア未満でブロックまたは再生成                                |
| `rail_policy`    | `str`   | `"log_only"`    | `"log_only"` \| `"block"` \| `"regenerate"`       |
| `rail_mode`      | `str`   | `"basic"`       | `"basic"` \| `"deep"`                             |
| `use_vertex`     | `bool`  | `False`         | Google AI Studio の代わりに Vertex AI 経由でルーティング        |
| `gcp_project`    | `str`   | —               | GCP プロジェクト ID（`use_vertex=True` の場合は必須）           |
| `gcp_region`     | `str`   | `"us-central1"` | Vertex AI リージョン                                   |

<Tip>
  `generate_content()` に `rail_skip=True` を渡すと、単一の呼び出しで RAIL 評価をバイパスできます。
</Tip>

## 次のステップ

<CardGroup cols={2}>
  <Card title="OpenAI 統合" icon="bolt" href="/integrations/openai">
    チャット完了のための RAILOpenAI ラッパー。
  </Card>

  <Card title="Anthropic 統合" icon="a" href="/integrations/anthropic">
    Claude のための RAILAnthropic ラッパー。
  </Card>

  <Card title="概念: ミドルウェア" icon="layer-group" href="/concepts/middleware">
    プロバイダーラッパーがどのように機能するか。
  </Card>

  <Card title="Python SDK 概要" icon="python" href="/sdk/python/overview">
    完全な Python SDK のインストールとリファレンス。
  </Card>
</CardGroup>
