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

# Démarrage rapide

> Prenez en main l'API RAIL Score en moins de 5 minutes.

<Steps>
  <Step title="Obtenez votre clé API">
    1. [Créez un compte gratuit](https://responsibleailabs.ai/register).
    2. Ouvrez votre [tableau de bord](https://responsibleailabs.ai/dashboard).
    3. Cliquez sur **Generate Key** dans la section API Keys.

    <Warning>
      Copiez votre clé immédiatement. Elle commence par `rail_` et ne sera plus affichée par la suite.
    </Warning>
  </Step>

  <Step title="Vérifiez votre clé">
    <CodeGroup>
      ```bash Health check theme={null}
      curl https://api.responsibleailabs.ai/health
      ```

      ```bash Key verification theme={null}
      curl -X POST https://api.responsibleailabs.ai/verify \
        -H "Authorization: Bearer YOUR_RAIL_API_KEY"
      ```
    </CodeGroup>

    ```json Response theme={null}
    { "status": "healthy", "service": "rail-score-engine" }
    ```
  </Step>

  <Step title="Installez un SDK">
    <CodeGroup>
      ```bash Python theme={null}
      pip install rail-score-sdk
      ```

      ```bash JavaScript theme={null}
      npm install @responsible-ai-labs/rail-score
      ```

      ```bash Python (with OpenAI wrapper) theme={null}
      pip install "rail-score-sdk[openai]"
      ```

      ```bash Python (all integrations) theme={null}
      pip install "rail-score-sdk[integrations]"
      ```
    </CodeGroup>
  </Step>

  <Step title="Évaluez votre première réponse">
    Envoyez un contenu généré par IA et récupérez un RAIL score. Ici, nous évaluons une réponse classique d'un agent de support.

    <CodeGroup>
      ```python Python theme={null}
      from rail_score_sdk import RailScoreClient

      client = RailScoreClient(api_key="YOUR_RAIL_API_KEY")

      result = client.eval(
          content="To reset your password, open Settings, choose Security, and "
                  "select Reset password. We will email you a secure link that "
                  "expires in 30 minutes.",
          mode="basic",
      )

      print(f"RAIL Score: {result.rail_score.score}/10")
      for dim, scores in result.dimension_scores.items():
          print(f"  {dim}: {scores.score}/10")
      ```

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

      const client = new RailScoreClient({ apiKey: "YOUR_RAIL_API_KEY" });

      const result = await client.eval({
        content: "To reset your password, open Settings, choose Security, and select Reset password. We will email you a secure link that expires in 30 minutes.",
        mode: "basic",
      });

      console.log(`RAIL Score: ${result.railScore.score}/10`);
      ```

      ```bash cURL theme={null}
      curl -X POST https://api.responsibleailabs.ai/railscore/v1/eval \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer YOUR_RAIL_API_KEY" \
        -d '{"content": "To reset your password, open Settings, choose Security, and select Reset password. We will email you a secure link that expires in 30 minutes.", "mode": "basic"}'
      ```
    </CodeGroup>

    ```json Response theme={null}
    {
      "result": {
        "rail_score": { "score": 7.6, "confidence": 0.51, "summary": "RAIL Score: 7.6/10 — Good" },
        "dimension_scores": {
          "fairness":       { "score": 7.7, "confidence": 0.84 },
          "safety":         { "score": 10.0, "confidence": 0.70 },
          "reliability":    { "score": 7.7, "confidence": 0.16 },
          "transparency":   { "score": 6.5, "confidence": 0.50 },
          "privacy":        { "score": 8.0, "confidence": 0.59 },
          "accountability": { "score": 6.6, "confidence": 0.97 },
          "inclusivity":    { "score": 6.6, "confidence": 0.74 },
          "user_impact":    { "score": 7.8, "confidence": 0.09 }
        },
        "from_cache": false
      },
      "policy_outcome": { "enforcement": "block", "threshold": 7.0, "score": 7.6, "passed": true, "enforced": false },
      "metadata": { "req_id": "b00379a5-d6a7-45d6-905c-82925666a616", "mode": "basic" }
    }
    ```

    **Lire la réponse :**

    * `rail_score.score` : le score global, de 0 à 10, une moyenne pondérée des huit dimensions. Ici, `7.6` se situe dans la tranche **Good** (Bon).
    * `dimension_scores` : le score et la confiance pour chacune des huit [dimensions RAIL](/concepts/rail-framework). Les scores les plus faibles ici (transparence, responsabilité, inclusivité, autour de 6,6) indiquent ce qu'il faut améliorer : la réponse ne précise pas qui contacter ni ce qu'il se passe si l'e-mail n'arrive jamais.
    * `policy_outcome` : comment la [politique de votre application](/concepts/applications) a jugé ce résultat : le seuil à atteindre, si le résultat a réussi (`passed`) et si l'application des règles est actuellement active. Ici, le mode est l'observation (`enforced: false`), donc le verdict est rapporté mais la réponse n'est pas modifiée.
  </Step>

  <Step title="Allez plus loin avec le mode deep">
    Le mode basic vous donne les scores. Le **mode deep** effectue une analyse plus détaillée du même contenu et ajoute une explication par dimension, des étiquettes de problèmes et des suggestions d'amélioration, afin que vous puissiez comprendre *pourquoi* une dimension a obtenu un certain score.

    ```python theme={null}
    result = client.eval(
        content="To reset your password, open Settings, choose Security, and "
                "select Reset password. We will email you a secure link that "
                "expires in 30 minutes.",
        mode="deep",
        include_explanations=True,
        include_issues=True,
    )

    for dim, scores in result.dimension_scores.items():
        print(f"{dim}: {scores.score}/10 — {scores.explanation}")
    ```

    ```json Response (excerpt) theme={null}
    {
      "result": {
        "rail_score": { "score": 8.1, "confidence": 0.77, "summary": "RAIL Score: 8.1/10 — Good" },
        "dimension_scores": {
          "transparency": {
            "score": 7.0, "confidence": 0.8,
            "explanation": "The process is mostly clear, but more details on security could help.",
            "issues": ["Lack of detailed security information"]
          },
          "safety": {
            "score": 8.0, "confidence": 0.8,
            "explanation": "The process includes a secure link, but users must be cautious of phishing.",
            "issues": ["Potential phishing risks"]
          }
        },
        "issues": [
          { "dimension": "safety", "description": "Potential phishing risks" },
          { "dimension": "transparency", "description": "Lack of detailed security information" }
        ]
      },
      "metadata": { "mode": "deep" }
    }
    ```

    Chaque dimension porte désormais une `explanation` et des `issues`, et la réponse rassemble tous les problèmes signalés dans un tableau `issues` de premier niveau, prêt à être affiché dans une file de revue ou un tableau de bord.
  </Step>
</Steps>

## Et ensuite

<CardGroup cols={2}>
  <Card title="Concepts : Évaluation" icon="magnifying-glass" href="/concepts/evaluation">
    Comprenez les modes basic et deep, les tranches de score et les pondérations personnalisées.
  </Card>

  <Card title="Concepts : Régénération sécurisée" icon="rotate" href="/concepts/safe-regeneration">
    Corrigez automatiquement les contenus dont le score est inférieur à vos seuils.
  </Card>

  <Card title="Intégrations" icon="plug" href="/integrations/overview">
    Encapsulez vos appels OpenAI, Anthropic ou Gemini avec un scoring RAIL automatique.
  </Card>

  <Card title="SDK Python" icon="python" href="/sdk/python/overview">
    Référence complète du SDK avec clients synchrones et asynchrones.
  </Card>
</CardGroup>
