Passer au contenu principal

Aperçu

Les files d’attente d’annotation vous permettent d’acheminer des traces sélectionnées vers des experts métier pour une révision structurée, sans qu’ils aient à parcourir toute l’interface Weave. Vous définissez les retours à recueillir, sélectionnez les traces nécessitant une révision, puis pouvez ensuite exporter les annotations terminées pour analyse ou pour créer des jeux de données. Les cas d’utilisation peuvent inclure :
  • Notation manuelle des traces : demandez à des experts métier d’évaluer les sorties du modèle selon leur exactitude, leur qualité ou leur style.
  • Analyse des échecs : annotez les modes d’échec (hallucinations, refus, boucles) pour comprendre à quels endroits votre modèle échoue.
  • Révision par des experts métier : permettez à des experts médicaux, juridiques ou en sécurité d’examiner le contenu via une interface centrée sur la tâche.
  • Création de jeux de données : transformez des traces annotées en jeux de données d’évaluation ou d’entraînement.

Flux de travail de bout en bout

Le flux de travail suivant résume comment utiliser les files d’attente d’annotation pour obtenir des révisions :
  1. Définissez les champs d’annotation.
  2. Créez une file d’attente d’annotation.
  3. Chargez des traces dans la file d’attente pour révision.
  4. Suivez l’avancement pendant que les experts métier effectuent les révisions.
  5. Filtrez et exportez les annotations terminées.

Définir les champs d’annotation

Pour commencer à créer une file d’attente d’annotation, vous devez d’abord définir vos champs d’annotation afin de pouvoir les sélectionner lors de la configuration de la file d’attente. Les champs d’annotation définissent le retour fourni par l’annotateur pour chaque élément de trace. Les champs peuvent être réutilisés d’une file d’attente et d’un projet à l’autre. Les types de champs incluent :
  • Des jugements booléens, comme la justesse ou l’acceptabilité.
  • Des valeurs numériques ou entières, comme la qualité ou le niveau de confiance.
  • Des libellés catégoriels, comme le mode d’échec ou l’intention.
  • Du texte libre pour un retour qualitatif.
Pour créer un champ d’annotation :
  1. Accédez à wandb.ai et sélectionnez votre projet.
  2. Dans la barre latérale du projet Weave, cliquez sur Annotate. Si vous ne voyez pas Annotate, il se trouve peut-être dans le menu sous More.
  3. Dans la barre d’onglets, cliquez sur l’onglet Fields.
  4. Dans la barre d’outils du tableau Fields, cliquez sur New Field.
  5. Dans la boîte de dialogue Create annotation field, configurez :
    • Type : booléen, entier, nombre, chaîne ou options catégorielles.
    • Name : nom du champ à afficher à l’annotateur.
    • Description (facultatif) : détails d’évaluation de ce champ à afficher à l’annotateur.
  6. Cliquez sur Create annotation field pour enregistrer le champ.
Boîte de dialogue de création d’un champ d’annotation avec des champs de saisie pour le nom, la description et le type de champ, utilisée pour définir le schéma que les annotateurs remplissent lors de l’examen des éléments de trace.
Les champs ne peuvent pas être modifiés après leur création afin de garantir la cohérence des annotations.

Créer une file d’attente d’annotation

Une file d’attente d’annotation se compose de :
  • Un ensemble de champs d’annotation.
  • Consignes fournissant des instructions aux annotateurs.
  • Une collection d’éléments de trace en attente de révision.
Pour créer une file d’attente d’annotation :
  1. Dans la barre latérale du projet Weave, cliquez sur Annotate.
  2. Dans la barre d’onglets, cliquez sur l’onglet Queues.
  3. Dans la barre d’outils du tableau Queues, cliquez sur Create Queue.
  4. Dans la boîte de dialogue modale Create Annotation Queue, configurez :
    • Queue name : nom de la file d’attente que l’annotateur sélectionne pour effectuer son travail.
    • Guidelines (facultatif) : toute instruction supplémentaire destinée à l’annotateur.
  5. Cliquez sur Next.
  6. Cliquez sur Manage fields et choisissez les champs d’annotation à inclure dans ce travail de révision. Tous les champs d’annotation existants du projet peuvent être sélectionnés.
  7. Une fois tous les champs de la file d’attente sélectionnés, cliquez sur Create Queue pour enregistrer la file d’attente.
Toutes les files d’attente d’annotation du projet sont répertoriées sur la page Annotation Queues.
Page Annotation Queues affichant un tableau des files d’attente du projet, y compris les noms des files d’attente, les descriptions et la progression de la révision pour suivre les flux de travail d’annotation.
La création d’une file d’attente d’annotation définit les champs et les consignes pour l’évaluation, mais vous devez encore ajouter des traces à la file d’attente pour identifier les données à évaluer.

Ajouter des traces à une file d’attente

Ajoutez des traces à une file d’attente d’annotation directement depuis la page Traces. Pour ajouter des traces à une file d’attente d’annotation :
  1. Dans la barre latérale du projet Weave, cliquez sur Traces.
  2. Dans la barre d’outils du tableau Traces, filtrez les traces selon vos besoins (par exemple par scores d’hallucination, modes d’échec ou ops spécifiques).
  3. Dans le tableau, sélectionnez les traces que vous souhaitez faire annoter.
  4. Dans la barre d’action du tableau, cliquez sur Ajouter à la file d’attente pour ajouter les lignes sélectionnées à une file d’attente d’annotation.
Tableau Traces avec plusieurs lignes sélectionnées et une barre d’action groupée affichant des actions applicables aux lignes sélectionnées, comme Ajouter à la file d'attente et Ajouter au jeu de données.
  1. Dans la boîte de dialogue modale Ajouter à la file d’attente d’annotation, configurez :
    • Nom de la file d’attente : Dans la liste, sélectionnez le nom de la file d’attente existante à laquelle ajouter ces traces.
    • Sélectionner les données de trace à afficher : Sélectionnez les éléments de données de trace Weave à afficher à l’annotateur lorsqu’il évalue les résultats.
      • Entrées : Sélectionnez les champs d’entrée de trace à afficher pendant l’annotation.
      • Sorties : Sélectionnez les champs de sortie de trace à afficher pendant l’annotation.
  2. Cliquez sur Ajouter [Count] traces à la file d’attente d’annotation pour affecter ces traces au processus de révision de la file d’attente d’annotation.
Lorsque vous ajoutez des traces, vous contrôlez quelles entrées de trace et quelles sorties ou réponses du modèle font l’objet d’une révision. Vous ne présentez ainsi aux annotateurs que le contexte nécessaire pour porter des jugements précis.

Suivre l’avancement de la révision

Une fois la file d’attente d’annotation créée et des traces ajoutées, partagez son nom avec votre annotateur afin qu’il puisse commencer la révision. Voir Réviser les éléments d’une file d’attente d’annotation pour plus de détails sur le processus de révision. Pour partager un lien direct vers la file d’attente d’annotation avec un annotateur :
  1. Dans la barre latérale du projet Weave, cliquez sur Annotate.
  2. Dans la barre d’onglets, cliquez sur l’onglet Queues.
  3. Dans le tableau Annotation Queues, cliquez sur le nom de votre file d’attente pour ouvrir ses éléments.
  4. Dans la barre d’en-tête de la file d’attente, cliquez sur le bouton de lien pour copier un lien direct vers cette file d’attente. Vous pouvez aussi copier l’URL depuis la barre d’adresse du navigateur.
Copier le lien vers la file d’attente d’annotation dans la barre d’en-tête d’Annotation Queue Dans le tableau Annotation Queues, la colonne State indique l’avancement de la révision :
  • Not started : la file d’attente contient des éléments, mais aucune annotation n’a encore été soumise.
  • In progress : au moins un élément a été révisé.
  • Completed : tous les éléments ont été révisés.
Dans le tableau Annotation Queues, la colonne Calls with responses indique le pourcentage d’éléments (sur le nombre total de Calls) ayant au moins une révision soumise.

Filtrer et exporter les annotations

Weave stocke les annotations finalisées sous forme de métadonnées structurées dans les traces. Vous pouvez :
  • Filtrer les traces selon leur affectation à une file d’attente et la finalisation des annotations.
  • Enregistrer des vues filtrées pour les réutiliser.
  • Exporter les traces annotées vers des jeux de données pour des flux de travail d’évaluation ou d’entraînement.
Cela relie directement les retours d’experts humains à l’évaluation et à l’itération du modèle.

Filtrer les traces annotées

Vous pouvez utiliser les options de filtrage de la page Traces pour n’afficher que les traces comportant des annotations. Pour n’afficher que les traces avec des annotations :
  1. Dans la barre latérale du projet Weave, cliquez sur Traces.
  2. Dans la barre d’outils du tableau Traces, cliquez sur Filtre.
  3. Ajoutez trois valeurs à une ligne de filtre :
    • Pour Column, saisissez “Queue”, puis appuyez sur Entrée.
    • Dans la deuxième liste, choisissez Text: “is”.
    • Pour Select a queue, choisissez le nom de votre file d’attente d’annotation.
  4. Pour filtrer également uniquement les éléments de file d’attente marqués « completed », cliquez sur + Add Filter :
    • Pour Column, saisissez “feedback”. Une boîte de dialogue s’ouvre avec Annotations et inclut les noms de vos champs d’annotation. Choisissez un champ requis de votre file d’attente.
    • Dans la deuxième liste, choisissez Other: “is not empty”.
Tableau Traces configurant un filtre pour sélectionner les traces appartenant à une file d’attente d’annotation spécifique.
  1. Les lignes de filtre sont appliquées automatiquement ; cliquez ailleurs sur la page pour fermer l’entrée de filtre.
  2. (Facultatif) Enregistrez la configuration comme vue pour y accéder rapidement. Dans l’en-tête du tableau Traces, cliquez sur Save View.

Exporter des traces annotées vers des jeux de données

Vous pouvez exporter des traces annotées soit depuis l’interface utilisateur, soit par code, selon l’usage que vous comptez faire des données.

Ajouter des traces annotées à un jeu de données

Sélectionnez des traces annotées et cliquez sur Add to Dataset pour inclure des annotations d’expert dans vos données d’évaluation ou d’entraînement. Pour ajouter des traces annotées à un jeu de données :
  1. Dans la barre latérale du projet Weave, cliquez sur Traces.
  2. Dans le tableau Traces, sélectionnez les traces que vous souhaitez exporter.
  3. Dans la barre d’outils du tableau, cliquez sur Add to dataset. Suivez les instructions à l’écran pour terminer l’ajout.
Pour en savoir plus sur l’utilisation des jeux de données, voir Collecter et suivre des jeux de données.

Accéder aux annotations par programmation

Si vous souhaitez intégrer des annotations par programmation, vous devez connaître le nom de votre projet et l’ID de la file d’attente :
  • Project : le nom du projet W&B (peut être project ou team/project). Si vous ne spécifiez pas de Teams W&B (par exemple, “team/project”), votre Teams par défaut est utilisé.
  • Queue ID : l’identifiant unique de la file d’attente d’annotations.
Pour trouver l’ID de la file d’attente :
  1. Dans le tableau Annotation Queues, sélectionnez le nom de la file d’attente pour ouvrir ses éléments.
  2. Copiez l’ID à la fin de l’URL de la page.
Exemple
https://wandb.ai/.../annotation-queues/019c0f63-7acb-7497-8f87-08873368fcd4
Dans cet exemple, l’ID de la file d’attente est : 019c0f63-7acb-7497-8f87-08873368fcd4 Vous pouvez parcourir les traces (appels) de votre file d’attente à l’aide du code suivant.
import weave
from weave.trace_server.trace_server_interface import AnnotationQueueItemsQueryReq

# Mettez à jour les identifiants du projet et de la file d'attente avec vos propres valeurs.
PROJECT = "your-team-name/your-project-name"
QUEUE_ID = "019c0f63-7acb-7497-8f87-08873368fcd4"

# Initialisez Weave.
client = weave.init(PROJECT)

# Récupérez les IDs d'appel des appels dans une file d'attente.
calls = client.server.annotation_queue_items_query(
    AnnotationQueueItemsQueryReq(
        project_id=PROJECT,
        queue_id=QUEUE_ID,
    )
)

# Parcourez les appels et récupérez les retours.
for i, item in enumerate(calls.items):
    call = client.get_call(call_id=item.call_id, include_feedback=True)
    feedback = call.feedback or {}

    # Comptez le nombre total d'éléments de retour pour l'appel.
    total_feedback_items = len(feedback)

    print(f"\nItem {i} — call_id: {item.call_id} — total feedback items: {total_feedback_items}")

    if not feedback:
        print("Aucun retour pour cet élément")
        continue

    # Récupérez la valeur de la première annotation.
    # Les annotations de champ ne sont pas ajoutées dans un ordre reproductible - le premier champ peut donc varier.
    field_name = next(iter(feedback))
    field_value = feedback[0]

    print(f"  {field_name}: {field_value}")
Le notebook Google Colab suivant fournit un exemple détaillé montrant comment accéder par programmation aux données d’annotation et générer un rapport d’analyse :