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

# Créer une collection

> Créez une collection de versions d’artifact liées dans un registre et configurez les types d’artifacts acceptés.

Une *collection* est un ensemble de versions d’artifact liées au sein d’un registre. Chaque collection représente une tâche ou un cas d’usage distinct.

Par exemple, un registre peut contenir plusieurs collections, chacune regroupant un jeu de données différent, tel que MNIST, CIFAR-10 ou ImageNet.

Autre exemple : vous pouvez disposer d’un registre nommé « chatbot » contenant une collection pour les artifacts de modèle, une autre pour les artifacts de jeu de données et une troisième pour les artifacts de modèles affinés.

Vous êtes libre d’organiser vos registres et leurs collections comme vous le souhaitez.

<Note>
  Si vous connaissez W\&B Model Registry, vous avez peut-être déjà entendu parler des modèles enregistrés (Registered Models). Les modèles enregistrés du Model Registry sont désormais appelés collections dans le registre.
</Note>

<h2 id="collection-types">
  Types de collection
</h2>

Chaque collection accepte un seul et unique *type* d'artifact. Le type que vous spécifiez détermine les artifacts que vous et les autres membres de votre organisation pouvez lier à cette collection.

<Note>
  Les types d'artifact sont comparables aux types de données des langages de programmation tels que Python. Selon cette analogie, une collection peut stocker des chaînes de caractères, des entiers ou des nombres à virgule flottante, mais pas un mélange de ces types de données.
</Note>

Par exemple, supposons que vous créiez une collection qui accepte les artifacts de type « dataset ». Vous ne pourrez alors lier à cette collection que des versions d'artifact de type « dataset ». De même, vous ne pouvez lier des artifacts de type « model » qu'à une collection qui accepte uniquement les artifacts de type model.

<Note>
  Vous spécifiez le type d'un artifact lorsque vous créez l'objet artifact correspondant. Notez le champ `type` dans `wandb.Artifact()` :

  ```python theme={"system"}
  import wandb

  # Initialiser un run
  with wandb.init(
    entity = "<team_entity>",
    project = "<project>"
    ) as run:

    # Créer un objet artifact
    artifact = wandb.Artifact(
        name="<artifact_name>", 
        type="<artifact_type>"
        )
  ```
</Note>

Lorsque vous créez une collection, vous pouvez choisir parmi une liste de types d'artifact prédéfinis. Les types d'artifact disponibles dépendent du registre auquel appartient la collection.

Avant de lier un artifact à une collection ou de créer une collection, [vérifiez les types d'artifacts acceptés par cette collection](#check-the-types-of-artifact-that-a-collection-accepts).

<h3 id="check-the-types-of-artifact-that-a-collection-accepts">
  Vérifier les types d’artifacts acceptés par une collection
</h3>

Avant de créer un lien vers une collection, vérifiez le type d’artifact qu’elle accepte. Vous pouvez consulter les types d’artifacts acceptés par une collection par programmation avec le SDK Python W\&B, ou de manière interactive dans la W\&B App

<Note>
  Un message d’erreur s’affiche si vous essayez de lier un artifact à une collection qui n’accepte pas ce type d’artifact.
</Note>

<Tabs>
  <Tab title="W&B App">
    Vous pouvez trouver les types d’artifacts acceptés sur la carte du registre, depuis la page d’accueil, ou dans la page des paramètres d’un registre.

    Quelle que soit la méthode, commencez par accéder à votre registre.

    Sur la page d’accueil du registre, faites défiler la page jusqu’à la carte du registre concerné pour afficher les types d’artifacts acceptés. Les ovales horizontaux gris de la carte indiquent les types d’artifacts que ce registre accepte.

    <Frame>
      <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/registry/_media/artifact_types_model_card.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=a5f1be801f051b3436b448e5e4555fc4" alt="Types de collection" width="3456" height="1996" data-path="products/registry/_media/artifact_types_model_card.png" />
    </Frame>

    Pour afficher les types d’artifacts acceptés dans la page des paramètres d’un registre :

    1. Cliquez sur la carte du registre dont vous souhaitez afficher les paramètres.
    2. Cliquez sur l’icône d’engrenage dans le coin supérieur droit.
    3. Faites défiler la page jusqu’au champ **Accepted artifact types**.
  </Tab>

  <Tab title="SDK Python W&B (bêta)">
    Affichez par programmation les types d’artifacts acceptés par un registre avec le SDK Python W\&B :

    ```python theme={"system"}
    import wandb

    registry_name = "<registry_name>"
    artifact_types = wandb.Api().project(name=f"wandb-registry-{registry_name}").artifact_types()
    print(artifact_type.name for artifact_type in artifact_types)
    ```

    <Note>
      Notez que l’extrait de code suivant n’initialise pas de run. En effet, il est inutile de créer un run si vous vous contentez d’interroger l’API W\&B sans suivre d’expérience, d’artifact, etc.
    </Note>
  </Tab>
</Tabs>

Une fois que vous connaissez le type d’artifact accepté par une collection, vous pouvez [créer une collection](#create-a-collection).

<h2 id="create-a-collection">
  Créer une collection
</h2>

Créez une collection dans un registre de manière interactive ou par programmation. Une fois la collection créée, vous ne pouvez plus modifier le type d’artifact qu’elle accepte.

<h3 id="programmatically-create-a-collection">
  Créer une collection par programmation
</h3>

Utilisez la méthode `wandb.Run.link_artifact()` pour lier un artifact à une collection. Indiquez la collection et le registre dans le champ `target_path`, sous la forme d’un chemin structuré comme suit :

```python theme={"system"}
f"wandb-registry-{registry_name}/{collection_name}"
```

où `registry_name` correspond au nom du registre et `collection_name` au nom de la collection. Veillez à ajouter le préfixe `wandb-registry-` au début du nom du registre.

<Note>
  Si vous essayez de lier un artifact à une collection qui n’existe pas, W\&B la crée automatiquement pour vous. Si vous spécifiez une collection existante, W\&B y lie l’artifact.
</Note>

L’extrait de code suivant montre comment créer une collection par programmation. Veillez à remplacer les valeurs entre `<>` par les vôtres :

```python theme={"system"}
import wandb

# Initialiser un run
with wandb.init(entity = "<team_entity>", project = "<project>") as run:

  # Créer un objet artifact
  artifact = wandb.Artifact(
    name = "<artifact_name>",
    type = "<artifact_type>"
    )

  registry_name = "<registry_name>"
  collection_name = "<collection_name>"
  target_path = f"wandb-registry-{registry_name}/{collection_name}"

  # Lier l’artifact à une collection
  run.link_artifact(artifact = artifact, target_path = target_path)
```

<h3 id="interactively-create-a-collection">
  Créer une collection de manière interactive
</h3>

Les étapes suivantes décrivent comment créer une collection de manière interactive depuis le registre :

1. Accédez au registre à l’adresse [https://forge.coreweave.com/registry/](https://forge.coreweave.com/registry/).
2. Sélectionnez un registre.
3. Cliquez sur le bouton **Create collection** dans l’angle supérieur droit.
4. Saisissez un nom pour votre collection dans le champ **Name**.
5. Sélectionnez un type dans la liste déroulante **Type**. Si le registre autorise les types d’artifacts personnalisés, vous pouvez également indiquer un ou plusieurs types d’artifacts acceptés par cette collection.
6. Si vous le souhaitez, saisissez une description de votre collection dans le champ **Description**.
7. Si vous le souhaitez, ajoutez un ou plusieurs tags dans le champ **Tags**.
8. Cliquez sur **Link version**.
9. Dans la liste déroulante **Project**, sélectionnez le projet dans lequel votre artifact est stocké.
10. Dans la liste déroulante de collection **Artifact**, sélectionnez votre artifact.
11. Dans la liste déroulante **Version**, sélectionnez la version de l’artifact à lier à votre collection.
12. Cliquez sur le bouton **Create collection**.
