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

# Utiliser Serverless RL

> Effectuez le post-entraînement de modèles avec Serverless RL à l’aide du framework ART d’OpenPipe et de l’API Serverless Training, puis envoyez-leur des requêtes.

Utilisez Serverless RL pour effectuer le post-entraînement d’un LLM par apprentissage par renforcement. Vous définissez une fonction de récompense qui évalue les sorties de votre agent. Serverless RL collecte des lots de trajectoires, met à jour un adaptateur de faible rang (LoRA) afin de favoriser les comportements les mieux notés, stocke l’adaptateur sous forme d’artifact dans votre compte Weights & Biases et héberge chaque point de contrôle sur [Serverless Inference](/fr/products/inference/serverless). Serverless RL est actuellement en préversion publique.

Vous pouvez utiliser Serverless RL via le [framework ART d’OpenPipe](https://art.openpipe.ai/getting-started/about) ou directement avec l’API Serverless Training.

<h2 id="prerequisites">
  Prérequis
</h2>

Avant de commencer, assurez-vous de disposer des éléments suivants :

* **Un compte Forge.** Si vous n’en avez pas, [inscrivez-vous](https://id.coreweave.com/signup).
* **Une clé API.** Dans Forge, cliquez sur l’icône de votre profil, sélectionnez **Settings**, puis cliquez sur **Create new API key**. Copiez la clé dès qu’elle s’affiche, car vous ne pourrez plus la consulter par la suite. Les exemples de cette page la lisent dans la variable d’environnement `WANDB_API_KEY` ; le guide de démarrage rapide d’ART indique où ART s’attend à la trouver.
* **Un projet dans Weights & Biases** pour enregistrer les métriques d’entraînement et stocker l’adaptateur entraîné. Voir [Projects](/fr/products/wandb/track/project-page).
* **Une fonction de récompense** qui évalue les sorties de votre agent. Serverless RL entraîne le modèle à maximiser ce que cette fonction récompense : c’est donc elle qui définit la tâche. Le [guide de démarrage rapide d’ART](https://art.openpipe.ai/getting-started/quick-start) explique comment en écrire une.
* **Le framework ART**, si vous l’utilisez au lieu d’appeler directement l’API. Suivez les étapes d’installation du [guide de démarrage rapide d’ART](https://art.openpipe.ai/getting-started/quick-start).

Consultez également la page [Informations d’utilisation et limites](/fr/products/post-training/serverless-training/usage-limits) pour connaître les coûts et les restrictions, puis choisissez un modèle de base parmi les [modèles disponibles](/fr/products/post-training/serverless-training/available-models).

<h2 id="train-an-agent">
  Entraîner un agent
</h2>

<Tabs>
  <Tab title="Framework ART">
    ART encapsule l’API Serverless Training et gère pour vous les rollouts, les récompenses et les points de contrôle. C’est la méthode recommandée pour débuter. Suivez le [démarrage rapide d’ART](https://art.openpipe.ai/getting-started/quick-start) ou ouvrez le [notebook d’exemple](https://colab.research.google.com/github/openpipe/art-notebooks/blob/main/examples/2048/2048.ipynb), qui entraîne de bout en bout un agent à jouer à 2048.
  </Tab>

  <Tab title="API Serverless Training">
    Appelez directement l’API si vous souhaitez intégrer l’entraînement à vos propres outils :

    1. Créez un modèle avec [`POST /v1/preview/models`](/fr/products/post-training/serverless-training/api-reference/models/create-model).
    2. Générez des rollouts en envoyant des requêtes de complétion de chat au point de contrôle actuel du modèle avec [`POST /v1/chat/completions`](/fr/products/post-training/serverless-training/api-reference/chat-completions/create-chat-completion), puis notez-les à l’aide de votre fonction de récompense.
    3. Journalisez les trajectoires évaluées avec [`POST /v1/preview/models/{model_id}/log`](/fr/products/post-training/serverless-training/api-reference/models/log).
    4. Lancez une étape d’entraînement avec [`POST /v1/preview/training-jobs`](/fr/products/post-training/serverless-training/api-reference/training-jobs/create-rl-training-job), puis interrogez [`GET /v1/preview/training-jobs/{training_job_id}`](/fr/products/post-training/serverless-training/api-reference/training-jobs/get-training-job) pour suivre sa progression.

    L’URL de base de l’API et les informations d’authentification sont disponibles dans l’[aperçu de l’API](/fr/products/post-training/serverless-training/api-reference).
  </Tab>
</Tabs>

<h2 id="use-your-trained-models">
  Utiliser vos modèles entraînés
</h2>

Une fois entraîné, un modèle est automatiquement disponible pour l’inférence. Cette section explique comment construire le point de terminaison d’un modèle entraîné et lui envoyer des requêtes, afin d’intégrer ce modèle à votre application ou à vos flux de travail d’évaluation. Les mêmes étapes s’appliquent aux modèles entraînés avec [Serverless SFT](/fr/products/post-training/serverless-training/sft).

Pour envoyer des requêtes à votre modèle entraîné, vous avez besoin des éléments suivants :

* Votre clé API. Créez-en une dans Forge, sous [**Settings**](https://forge.coreweave.com/settings).
* L’URL de base de l’API Serverless Training : `https://forge.coreweave.com/api/training/v1/`.
* Le point de terminaison de votre modèle.

Le point de terminaison du modèle respecte le schéma suivant :

```text theme={"system"}
wandb-artifact:///[ENTITY]/[PROJECT]/[MODEL-NAME]:[STEP]
```

Le schéma se compose des éléments suivants :

* Votre entity, c’est-à-dire le nom de votre équipe.
* Le nom du projet associé à votre modèle.
* Le nom de votre modèle entraîné.
* L’étape d’entraînement du modèle que vous souhaitez déployer. Il s’agit généralement de l’étape à laquelle le modèle a obtenu les meilleurs résultats lors de vos évaluations.

Par exemple, si votre équipe s’appelle `email-specialists`, votre projet `mail-search` et votre modèle entraîné `agent-001`, et que vous souhaitez le déployer à l’étape 25, le point de terminaison se présente ainsi :

```text theme={"system"}
wandb-artifact:///email-specialists/mail-search/agent-001:step25
```

Une fois votre point de terminaison obtenu, vous pouvez l’intégrer à vos flux de travail d’inférence habituels. Les exemples suivants montrent comment envoyer des requêtes d’inférence à votre modèle entraîné à l’aide d’une requête cURL ou du [SDK d’OpenAI pour Python](https://github.com/openai/openai-python). Choisissez l’exemple adapté à votre environnement.

<h3 id="curl">
  cURL
</h3>

```bash theme={"system"}
curl https://forge.coreweave.com/api/training/v1/chat/completions \
    -H "Authorization: Bearer $WANDB_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
            "model": "wandb-artifact:///[ENTITY]/[PROJECT]/[MODEL-NAME]:[STEP]",
            "messages": [
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "Summarize our training run."}
            ],
            "temperature": 0.7,
            "top_p": 0.95
        }'
```

<h3 id="openai-sdk">
  SDK d’OpenAI
</h3>

```python theme={"system"}
from openai import OpenAI

WANDB_API_KEY = "[API-KEY]"
ENTITY = "[ENTITY]"
PROJECT = "[PROJECT]"

client = OpenAI(
    base_url="https://forge.coreweave.com/api/training/v1",
    api_key=WANDB_API_KEY
)

response = client.chat.completions.create(
    model=f"wandb-artifact:///{ENTITY}/{PROJECT}/[MODEL-NAME]:[STEP]",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Summarize our training run."},
    ],
    temperature=0.7,
    top_p=0.95,
)

print(response.choices[0].message.content)
```

Pour économiser de l’espace de stockage, supprimez les points de contrôle dont vous n’avez plus besoin. Voir [Informations d’utilisation et limites](/fr/products/post-training/serverless-training/usage-limits#model-storage).
