> ## 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 - enveloppe prête à l'emploi pour Google Gemini et Vertex AI qui évalue automatiquement chaque réponse.

## Installation

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

## Utilisation

<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="Expliquez les risques de biais algorithmique dans le recrutement.",
      )

      print(f"Contenu: {response.content}")
      print(f"RAIL Score: {response.rail_score}/10")
      print(f"Seuil atteint: {response.threshold_met}")
      print(f"A été régénéré: {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: "Expliquez les risques de biais algorithmique dans le recrutement.",
  });

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

## Vertex AI

Pour utiliser Gemini via Vertex AI au lieu de Google AI Studio, passez `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 utilise les informations d'identification par défaut de l'application. Exécutez `gcloud auth application-default login` ou définissez `GOOGLE_APPLICATION_CREDENTIALS` sur votre fichier de clé de compte de service.
</Note>

## Options de configuration

| Paramètre        | Type    | Par défaut      | Description                                                            |
| ---------------- | ------- | --------------- | ---------------------------------------------------------------------- |
| `google_api_key` | `str`   | —               | Clé API de Google AI Studio (non nécessaire lorsque `use_vertex=True`) |
| `rail_api_key`   | `str`   | —               | Votre clé API RAIL                                                     |
| `rail_threshold` | `float` | `None`          | Bloquer ou régénérer en dessous de ce score                            |
| `rail_policy`    | `str`   | `"log_only"`    | `"log_only"` \| `"block"` \| `"regenerate"`                            |
| `rail_mode`      | `str`   | `"basic"`       | `"basic"` \| `"deep"`                                                  |
| `use_vertex`     | `bool`  | `False`         | Passer par Vertex AI au lieu de Google AI Studio                       |
| `gcp_project`    | `str`   | —               | ID de projet GCP (nécessaire lorsque `use_vertex=True`)                |
| `gcp_region`     | `str`   | `"us-central1"` | Région Vertex AI                                                       |

<Tip>
  Passez `rail_skip=True` à `generate_content()` pour contourner l'évaluation RAIL pour un seul appel.
</Tip>

## Quelles sont les prochaines étapes

<CardGroup cols={2}>
  <Card title="Intégration OpenAI" icon="bolt" href="/integrations/openai">
    Enveloppe RAILOpenAI pour les complétions de chat.
  </Card>

  <Card title="Intégration Anthropic" icon="a" href="/integrations/anthropic">
    Enveloppe RAILAnthropic pour Claude.
  </Card>

  <Card title="Concepts : Middleware" icon="layer-group" href="/concepts/middleware">
    Comment fonctionnent les enveloppes de fournisseur en coulisses.
  </Card>

  <Card title="Aperçu du SDK Python" icon="python" href="/sdk/python/overview">
    Installation complète et référence du SDK Python.
  </Card>
</CardGroup>
