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

# Projets et trafic

> Créez un projet doté d’un nom de modèle proxy stable et connectez votre application Chat Completions de production.

Un projet est l’unité que vous optimisez. Il possède ses propres données et expériences, tout en exposant à l’application un nom de modèle unique et stable. Chaque projet Model Distillation repose sur un seul et unique projet W\&B, qui stocke ses traces.

Cette page explique comment créer un projet, connecter votre application au proxy via le nom de modèle proxy du projet, et vérifier que le proxy enregistre des traces exploitables comme données d’entraînement.

<h2 id="create-a-project">
  Créer un projet
</h2>

Pour créer un projet, suivez ces étapes :

1. Dans **Projects**, sélectionnez **Create or import a project**.
2. Configurez les champs suivants :
   * **W\&B project :** sélectionnez **Create new** pour créer un projet W\&B dans l’entity sélectionnée, ou **Import existing** pour associer un projet W\&B dont vous disposez déjà. L’importation ne modifie pas les données du projet existant. Un projet W\&B ne peut servir de base qu’à un seul projet Model Distillation par entity.
   * **Proxy model name :** valeur `model` stable que votre application envoie au proxy. L’interface propose un nom dérivé du nom du projet W\&B. Utilisez des lettres minuscules, des chiffres et des traits d’union, dans la limite de 64 caractères. Le nom du modèle proxy peut être différent du nom du projet W\&B.
   * **Initial model :** modèle qui sert la version 1 pendant que vous collectez des traces et entraînez d’autres modèles.
3. Sélectionnez **Create project**.

Chaque nouveau projet doit disposer d’un modèle initial afin de pouvoir acheminer le trafic dès que son déploiement d’acheminement est appliqué.

<Accordion title="API : Créer un projet (PUT /tasks/{alias})">
  Dans l’API de gestion, un projet est appelé tâche (task). Le nom du modèle proxy correspond au segment de chemin `alias`. Définissez `project` sur le nom du projet W\&B et `project_mode` sur `create` ou `import`. Fournissez au moins une cible d’acheminement ; la création échoue si `targets` est absent ou vide.

  ```bash theme={"system"}
  curl --request PUT \
    --url "https://distillation.training.wandb.ai/v1/tasks/ticket-classifier" \
    --header "Authorization: Bearer $WANDB_API_KEY" \
    --header "Wandb-Entity: your-team" \
    --header "Content-Type: application/json" \
    --data '{
      "project": "ticket-classifier",
      "project_mode": "create",
      "targets": [
        {"model_ref": "openai/gpt-5.6-sol", "weight": 1}
      ]
    }'
  ```

  Pour consulter le schéma complet, voir [Créer un projet Model Distillation](/fr/model-distillation/reference/management/tasks/create-a-model-distillation-project).
</Accordion>

<h2 id="connect-the-application">
  Connecter l’application
</h2>

Une fois le projet créé, configurez votre application pour qu’elle passe par le proxy, qui achemine son trafic via le projet et l’enregistre sous forme de traces. Conservez le client OpenAI habituel et modifiez simplement deux valeurs :

```python theme={"system"}
client = OpenAI(
    base_url="https://proxy.training.wandb.ai/v1",
    api_key=os.environ["WANDB_API_KEY"],
)

response = client.chat.completions.create(
    model="your-proxy-model-name",
    messages=messages,
    extra_body={
        "metadata": {
            "wandb.entity": "your-team",
            "wandb.thread_id": conversation_id,
        }
    },
)
```

Le proxy transmet tous les champs Chat Completions standard, remplace le nom de modèle proxy par le modèle du fournisseur de la cible sélectionnée et applique les remplacements de paramètres enregistrés pour cette cible.

<h2 id="verify-useful-traces">
  Vérifier que les traces sont exploitables
</h2>

Avant de collecter un dataset volumineux, vérifiez les points suivants :

* Les appels réussis apparaissent dans le graphique des requêtes du projet.
* La répartition du trafic correspond aux poids d’acheminement.
* Un `wandb.thread_id` stable regroupe chaque conversation.
* Les définitions d’outils, les formats de réponse et les messages sur plusieurs tours de conversation figurent dans la requête enregistrée.
* Les appels au fournisseur ayant échoué restent visibles pour le débogage, mais sont exclus des données d’entraînement.

Une fois ces vérifications validées, le projet enregistre des traces utilisables comme exemples d’entraînement.

<Tip>
  Envoyez l’historique complet des messages à chaque appel. Chaque trace constitue alors un exemple d’entraînement autonome, qui correspond à la réponse de l’assistant générée pour cet historique.
</Tip>
