Passer au contenu principal

Ops

Un Op est une fonction suivie et versionnée. Lorsque vous décorez une fonction avec @weave.op() (Python) ou l’enveloppez avec weave.op() (TypeScript), Weave capture automatiquement son code, ses entrées, ses sorties et ses métadonnées d’exécution. Les Ops sont les éléments de base du tracing, des scorers d’évaluation et de tout calcul suivi.
    @weave.op
    async def my_function(){
      ...  }

Appels

Un Appel est une exécution enregistrée d’une op. Chaque fois qu’une op s’exécute, Weave crée un Appel qui enregistre :
  • Les arguments d’entrée
  • La valeur de sortie
  • Le temps d’exécution et la latence
  • Les relations parent-enfant (pour les appels imbriqués)
  • Toutes les erreurs survenues
Les appels apparaissent sous forme de Traces dans la Weave UI et fournissent les données nécessaires au débogage, à l’analyse et à l’évaluation. Pour la structure complète de l’objet Appel et ses propriétés, voir la référence du schéma d’appel. Les appels sont comparables aux spans dans le modèle de données OpenTelemetry. Un Appel peut :
  • Appartenir à une trace (une collection d’appels dans le même contexte d’exécution)
  • Avoir des Appels parents et enfants, formant une structure arborescente

Traces

Les traces sont des arborescences complètes d’appels qui partagent le même contexte d’exécution. Chaque trace contient un identifiant (trace_id) que vous pouvez utiliser pour récupérer l’arborescence complète des appels. Si vous récupérez les informations d’un appel à l’aide de son ID, vous n’obtenez que les données de l’appel spécifié, et non celles de ses appels enfants.

Threads

Les threads sont des ensembles de traces associés à une même session ou conversation. Les threads peuvent être utilisés pour effectuer une analyse ou un scoring sur la [conversation entière] dans son ensemble, plutôt que sur des appels individuels. Le schéma suivant illustre les relations entre les threads, les traces et les appels :
Thread: "session-abc"
  ├── Turn 1 (trace_id: aaa) → user says "Hi"
  │     ├── LLM call
  │     └── format response
  ├── Turn 2 (trace_id: bbb) → user says "What is the capitol of Paris?"
  │     ├── RAG retrieval
  │     ├── LLM call
  │     └── format response
  └── Turn 3 (trace_id: ccc) → user says "Thanks"
        └── LLM call