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

# Sichere Regeneration

> KI-Inhalte automatisch neu generieren, die unter Ihrem Qualitätsschwellenwert liegen.

Sichere Regeneration ist eine Rückkopplungsschleife: Eine Antwort wird bewertet, und wenn sie unter Ihren Schwellenwert fällt, wird sie mit gezielten Verbesserungsanweisungen neu generiert und erneut bewertet, bis sie besteht. Wird das Iterationslimit erreicht, wird die höchstbewertete erzeugte Version zurückgegeben.

<Info>
  **API-Endpunkt:** `POST /railscore/v1/safe-regenerate` | **Python:** `client.safe_regenerate()` | **JavaScript:** `client.safeRegenerate()`
</Info>

## Funktionsweise

```mermaid theme={null}
flowchart TD
    Start["Initial response"] --> Eval["Evaluate\n(RAIL Score)"]
    Eval --> Check{"Score >= threshold?"}
    Check -- yes --> Return["Return response"]
    Check -- no --> Regen["Regenerate with\nimprovement instructions"]
    Regen --> Eval
    Regen --> Limit{"Max iterations\nreached?"}
    Limit -- yes --> Best["Return best response\n(highest scored)"]
```

Jede Iteration wird wie eine eigenständige Bewertung abgerechnet. Bis zu 5 Iterationen pro Anfrage.

## Grundlegende Verwendung

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

  client = RailScoreClient(api_key="YOUR_RAIL_API_KEY")

  result = client.safe_regenerate(
      content="When reviewing resumes, prioritize Ivy League graduates.",
      prompt="What hiring criteria should I use?",
      threshold=7.0,
      mode="basic",
      max_iterations=3,
  )

  print(f"Final score: {result.final_score}/10")
  print(f"Iterations: {result.iterations_taken}")
  print(f"Content: {result.content}")
  ```

  ```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.safeRegenerate({
    content: "When reviewing resumes, prioritize Ivy League graduates.",
    prompt: "What hiring criteria should I use?",
    threshold: 7.0,
    mode: "basic",
    maxIterations: 3,
  });

  console.log(`Final score: ${result.finalScore}/10`);
  console.log(`Content: ${result.content}`);
  ```

  ```bash cURL theme={null}
  curl -X POST https://api.responsibleailabs.ai/railscore/v1/safe-regenerate \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer YOUR_RAIL_API_KEY" \
    -d '{
      "content": "When reviewing resumes, prioritize Ivy League graduates.",
      "prompt": "What hiring criteria should I use?",
      "threshold": 7.0,
      "mode": "basic",
      "max_iterations": 3
    }'
  ```
</CodeGroup>

## Die Antwort

Ein Ergebnis sagt Ihnen sowohl das Resultat als auch, was nötig war, um dorthin zu gelangen:

* `content` — der finale Text zur Verwendung (die bestandene Version oder die beste, falls das Limit erreicht wurde).
* `final_score` — der RAIL Score dieses finalen Inhalts, und `passed` — ob er den Schwellenwert überschritten hat.
* `iterations_taken` — wie viele Regenerier- und Bewertungsrunden durchgeführt wurden.

Wird das Limit erreicht, ohne dass die Antwort besteht, erhalten Sie dennoch den besten Versuch in `content` mit `passed: false`, sodass Sie entscheiden können, ob Sie ihn ausliefern, auf eine Alternative ausweichen oder an einen Menschen weiterleiten.

## Nutzung

Jede Iteration wird wie eine eigenständige Bewertung abgerechnet, bis zu dem von Ihnen festgelegten Iterationslimit. Besteht die erste Antwort den Schwellenwert bereits, wird nur diese eine Bewertung gezählt. Details siehe [Credits](/getting-started/credits).

## Wie geht es weiter

<CardGroup cols={2}>
  <Card title="API-Referenz: Sichere Regeneration" icon="code" href="/api-reference/safe-regeneration">
    Vollständige Parameterreferenz.
  </Card>

  <Card title="Python SDK: Sichere Regeneration" icon="python" href="/sdk/python/safe-regeneration">
    Python-SDK-Beispiele und Optionen.
  </Card>

  <Card title="Konzepte: Middleware" icon="layer-group" href="/concepts/middleware">
    Automatische Regeneration über Anbieter-Wrapper.
  </Card>

  <Card title="Richtlinien-Engine" icon="gavel" href="/concepts/policy-engine">
    Regeneration automatisch aus Ihrer Anwendungsrichtlinie auslösen.
  </Card>
</CardGroup>
