> ## 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 et gérer des vues enregistrées

> Personnalisez votre façon d’interagir avec les appels de fonctions tracés et les évaluations

Dans Weave, les *vues enregistrées* vous permettent de personnaliser votre façon d’interagir avec les appels de fonctions tracés et les évaluations. Une vue enregistrée vous permet de configurer les filtres, le tri et la visibilité des colonnes pour accéder rapidement aux données utiles. Grâce aux vues enregistrées, vous et votre équipe retrouvez la même sélection de traces ou d’évaluations, sans devoir réappliquer la configuration à chaque fois.

Vous pouvez créer, modifier et enregistrer des vues depuis l’interface utilisateur ou directement avec le SDK Python de Weave. L’interface utilisateur vous permet d’explorer et d’enregistrer différentes configurations de tableau dans les onglets **Traces** et **Evals**, tandis que le SDK Python offre un contrôle précis pour filtrer et interroger les données par programmation. Sélectionnez l’onglet correspondant à votre flux de travail.

<Tabs>
  <Tab title="Interface utilisateur">
    Vous pouvez créer, charger, renommer et modifier des vues enregistrées dans l’interface utilisateur de Weights & Biases. L’interface utilisateur est le moyen le plus rapide de transformer une configuration de tableau ponctuelle en vue réutilisable. Pour un contrôle programmatique, sélectionnez l’onglet **Python**.

    <h3 id="create-a-saved-view">
      Créer une vue enregistrée
    </h3>

    1. Accédez à votre onglet **Traces** ou **Evals**.
    2. Modifiez l’un des paramètres suivants dans la configuration de votre tableau :
       * Filtres
       * Ordre de tri
       * Taille de page
       * Visibilité des colonnes
       * Épinglage des colonnes
    3. Enregistrez la vue de l’une des deux manières suivantes :
       * Dans le coin supérieur droit, cliquez sur **Save view**.
       * Cliquez sur le bouton **menu** (<Icon icon="menu" iconType="solid" />) à gauche de **Save view**. Dans le menu déroulant, cliquez sur **+ Save as new view**.

    <h3 id="load-a-saved-view">
      Charger une vue enregistrée
    </h3>

    1. Accédez à votre onglet **Traces** ou **Evals**.
    2. Cliquez sur le bouton **menu** (<Icon icon="menu" iconType="solid" />) à gauche du titre de l’onglet. Un menu déroulant répertoriant toutes les vues enregistrées s’affiche.
    3. Cliquez sur la vue que vous souhaitez ouvrir. La vue enregistrée s’affiche dans l’onglet **Traces** ou **Evals**.

    <h3 id="rename-a-saved-view">
      Renommer une vue enregistrée
    </h3>

    1. Suivez les étapes décrites dans [Charger une vue enregistrée](#load-a-saved-view).
    2. Dans le coin supérieur gauche de l’onglet **Traces** ou **Evals**, cliquez sur le nom de la vue.
    3. Saisissez un nouveau nom pour la vue.
    4. Pour enregistrer le nouveau nom de la vue, appuyez sur **Enter**.

    <h3 id="edit-a-saved-view">
      Modifier une vue enregistrée
    </h3>

    1. Suivez les étapes décrites dans [Charger une vue enregistrée](#load-a-saved-view).
    2. Modifiez la configuration de votre tableau.
    3. Dans le coin supérieur droit, cliquez sur **Save view**.

    <h3 id="delete-a-saved-view">
      Supprimer une vue enregistrée
    </h3>

    <Warning>
      Vous pouvez supprimer une vue si vous estimez qu’elle n’est plus utile, ni à vous ni à votre équipe. Cette action est irréversible.
    </Warning>

    1. Accédez à votre onglet **Traces** ou **Evals**.
    2. [Chargez la vue](#load-a-saved-view) que vous souhaitez supprimer.
    3. Cliquez sur le bouton **menu** (<Icon icon="menu" iconType="solid" />) à gauche de **Save view**.
    4. Dans le menu déroulant, cliquez sur **Delete view**.
    5. Dans la fenêtre modale, confirmez en cliquant sur **Delete view**. Vous pouvez également cliquer sur **Cancel** pour annuler la suppression.

    <h3 id="return-to-the-default-view">
      Revenir à la vue par défaut
    </h3>

    1. Accédez à votre onglet **Traces** ou **Evals**.
    2. Cliquez sur le bouton **menu** (<Icon icon="menu" iconType="solid" />) à droite de l’onglet **Traces** ou **Evals**. Un menu déroulant répertoriant toutes les vues enregistrées s’affiche.
    3. En bas du menu, cliquez sur **Traces** ou **Evals**. La vue par défaut s’affiche.
  </Tab>

  <Tab title="Python">
    La classe `SavedView` de Weave vous permet d’enregistrer, de filtrer, de trier et de personnaliser des vues de vos données de traces et d’évaluations. Les sections suivantes expliquent comment initialiser une vue, configurer ses colonnes et ses filtres, puis l’enregistrer pour récupérer ultérieurement les appels correspondants.

    <h3 id="initialize-a-savedview">
      Initialiser une `SavedView`
    </h3>

    Initialisez une instance de `SavedView` dans votre projet Weave :

    ```python lines theme={"system"}
    import weave
    client = weave.init("[MY_PROJECT]")

    view = weave.SavedView()
    ```

    <h3 id="visualize-the-savedview-as-a-grid">
      Afficher la `SavedView` sous forme de grille
    </h3>

    Utilisez `.to_grid()` pour afficher la vue enregistrée sous forme de grille. Indiquez avec `limit` le nombre maximum de lignes à afficher.

    ```python lines theme={"system"}
    view.to_grid(limit=5)
    ```

    Affichez la représentation en grille à l’aide de `.show()` :

    ```python lines theme={"system"}
    view.to_grid().show()
    ```

    <h3 id="set-displayed-columns">
      Choisir les colonnes à afficher
    </h3>

    Utilisez `.set_columns()` pour définir les colonnes affichées dans la vue. Indiquez une ou plusieurs colonnes à afficher.

    ```python lines theme={"system"}
    view.set_columns("id", "op_name")
    ```

    <h3 id="add-columns">
      Ajouter des colonnes
    </h3>

    Utilisez `.add_column()` pour ajouter une ou plusieurs nouvelles colonnes à la vue. Indiquez la ou les colonnes à ajouter.

    ```python lines theme={"system"}
    # Ajouter une colonne avec le spécificateur de champ et le libellé « Created »
    view.add_column("Created")
    # Vous pouvez également ajouter un second argument (facultatif) pour attribuer un autre nom de libellé à la nouvelle colonne. Par défaut, le spécificateur de champ sert de libellé.
    ```

    <h3 id="sort-columns">
      Trier les colonnes
    </h3>

    Utilisez `.sort_by()` pour effectuer un tri des résultats basé sur une colonne donnée. Indiquez le nom de la colonne de tri et l’ordre de tri (`asc` ou `desc`).

    ```python lines theme={"system"}
    view.sort_by("started_at", "desc")
    ```

    <h3 id="filter-by-operation-name">
      Filtrer par nom d’opération
    </h3>

    Dans Weave, chaque trace ou évaluation est associée à un nom d’opération.
    Utilisez `.filter_op()` pour filtrer la `SavedView` afin de n’inclure que les appels où cette opération précise a été exécutée.

    ```python lines theme={"system"}
    view.filter_op("Evaluation.predict_and_score")
    ```

    <h3 id="filter-by-operator-and-condition">
      Filtrer par opérateur et par condition
    </h3>

    Utilisez `.add_filter()` pour appliquer un filtre personnalisé à la vue. Définissez le filtre à l’aide de l’un des [opérateurs de filtre pris en charge](#filter-operators) et d’une condition.

    ```python lines theme={"system"}
    view.add_filter("output.model_latency", ">=", 5)
    ```

    <h4 id="filter-operators">
      Opérateurs de filtrage
    </h4>

    | Opérateur | Description | Exemple |
    | - | - | - |
    | `"contains"` | Vérifie si une chaîne de caractères contient une sous-chaîne. | `view.add_filter("output.status", "contains", "error")` |
    | `"equals"` | Vérifie si une chaîne de caractères est exactement égale à une valeur donnée. | `view.add_filter("input.category", "equals", "Alice")` |
    | `"in"` | Vérifie si une chaîne de caractères figure dans une liste de valeurs. | `view.add_filter("category", "in", ["A", "B", "C"])` |
    | `"="` | Vérifie si un nombre est égal à une valeur. | `view.add_filter("output.score", "=", 80)` |
    | `"≠", "!="` | Vérifie si un nombre est différent d'une valeur. | `view.add_filter("metrics.loss", "!=", 0.5)` |
    | `"<"` | Vérifie si un nombre est inférieur à une valeur. | `view.add_filter("age", "<", 30)` |
    | `"≤", "<="` | Vérifie si un nombre est inférieur ou égal à une valeur. | `view.add_filter("metric.value", "<=", 100)` |
    | `">"` | Vérifie si un nombre est supérieur à une valeur. | `view.add_filter("output.score", ">", 90)` |
    | `"≥", ">="` | Vérifie si un nombre est supérieur ou égal à une valeur. | `view.add_filter("output.model_latency", ">=", 5)` |
    | `"is"` | Vérifie si un champ booléen est `True` ou `False`. | `view.add_filter("is_active", "is", True)` |
    | `"after"` | Vérifie si une date est postérieure à un horodatage donné. | `view.add_filter("started_at", "after", "2024-01-01")` |
    | `"before"` | Vérifie si une date est antérieure à un horodatage donné. | `view.add_filter("ended_at", "before", "2024-12-31")` |
    | `"is empty"` | Vérifie si un champ est vide (`None` ou `""`). | `view.add_filter("comments", "is empty", None)` |
    | `"is not empty"` | Vérifie si un champ n'est pas vide. | `view.add_filter("attachments", "is not empty", None)` |

    <h3 id="remove-filters">
      Supprimer des filtres
    </h3>

    Utilisez `.remove_filter()` pour supprimer un filtre donné de la vue, à partir de son index ou du nom de son champ.

    ```python lines theme={"system"}
    view.remove_filter("output.model_latency")
    ```

    Utilisez `.remove_filters()` pour supprimer tous les filtres.

    ```python lines theme={"system"}
    view.remove_filters()
    ```

    <h3 id="save-the-savedview">
      Enregistrer la `SavedView`
    </h3>

    Utilisez `.save()` pour publier la vue enregistrée vers Weave.

    ```python lines theme={"system"}
    view.save()
    ```

    <h3 id="retrieve-function-calls">
      Récupérer les appels de fonction
    </h3>

    Utilisez `.get_calls()` pour récupérer les appels de fonction qui correspondent aux filtres de la vue enregistrée. Vous pouvez indiquer des paramètres facultatifs, comme `limit` et `offset`.

    ```python lines theme={"system"}
    calls = view.get_calls(limit=10)
    ```
  </Tab>
</Tabs>


## Related topics

- [Créer et gérer des notebooks](/fr/products/notebooks/create-notebook.md)
