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

# Comprendre les ops, les Appels et les traces

> Découvrez comment les ops, les Appels et les traces forment le socle du système de traçage de W&B Weave.

Le système de traçage de W\&B Weave repose sur quatre concepts étroitement liés : les ops, les Appels, les traces et les threads. Cette page définit chacun d’eux et explique comment ils s’articulent, afin que vous puissiez interpréter ce que Weave capture lorsque vous instrumentez et exécutez votre application.

<h2 id="ops">
  Ops
</h2>

Un **Op** est une fonction versionnée et suivie. Lorsque vous décorez une fonction avec `@weave.op()` (Python) ou que vous l’encapsulez avec `weave.op()` (TypeScript), Weave capture automatiquement son code, ses entrées, ses sorties et ses métadonnées d’exécution. Les ops constituent les éléments de base du traçage, des évaluateurs utilisés dans les évaluations et de tout calcul suivi.

<CodeGroup>
  ```python Python theme={"system"}
      @weave.op
      async def my_function(){
        ...  }
  ```

  ```typescript twoslash TypeScript theme={"system"}
  // @noErrors
  function myFunction() {
      ...
  }

  const myFunctionOp = weave.op(myFunction)
  ```
</CodeGroup>

<h2 id="calls">
  Appels
</h2>

Un **Appel** (Appel) est une exécution journalisée d’un op. Chaque fois qu’un op s’exécute, Weave crée un Appel qui capture :

* les arguments d’entrée
* la valeur de sortie
* la durée et la latence
* les relations parent-enfant (pour les Appels imbriqués)
* les éventuelles erreurs survenues

Les Appels apparaissent sous forme de **Traces** dans l’interface de Weights & Biases et fournissent les données nécessaires au débogage, à l’analyse et à l’évaluation. Pour connaître la structure complète et les propriétés de l’objet Appel, consultez la [référence du schéma Appel](/fr/products/wandb/weave/guides/tracking/call-schema-reference).

Les Appels s’apparentent aux spans du modèle de données [OpenTelemetry](https://opentelemetry.io). Un Appel peut :

* Appartenir à une Trace, c’est-à-dire un ensemble d’Appels partageant le même contexte d’exécution.
* Avoir des Appels parents et enfants, formant ainsi une arborescence.

<h2 id="traces">
  Traces
</h2>

Les traces sont des arborescences complètes d’Appels qui partagent le même contexte d’exécution. Chaque trace possède un ID (`trace_id`) qui vous permet de récupérer l’arborescence complète des Appels. Si vous récupérez les informations d’un Appel à partir de son ID, Weave renvoie uniquement les données de cet Appel, sans aucun de ses Appels enfants.

<h2 id="threads">
  Threads
</h2>

Les Threads sont des ensembles de Traces liées à une même session ou conversation. Les Threads vous permettent d’analyser ou d’évaluer la conversation dans son ensemble, plutôt que des Appels individuels.

Le diagramme suivant illustre les relations entre les Threads, les Traces et les Appels :

```text theme={"system"}
Thread: "session-abc"
  ├── Tour 1 (trace_id: aaa) -> l’utilisateur dit "Hi"
  │     ├── appel LLM
  │     └── mise en forme de la réponse
  ├── Tour 2 (trace_id: bbb) -> l’utilisateur dit "What is the capital of France?"
  │     ├── récupération RAG
  │     ├── appel LLM
  │     └── mise en forme de la réponse
  └── Tour 3 (trace_id: ccc) -> l’utilisateur dit "Thanks"
        └── appel LLM
```
