Skip to content

Migrer vers le moteur d'étiquetage

Faites passer les configurations icl_labeling, judge_calibration, pre_annotation et Solo Mode au moteur d'étiquetage avec potato label migrate-config, et voyez ce qui change ensuite.

Les anciennes fonctionnalités d'étiquetage automatique de Potato continuent de fonctionner en 2.11, et rien ne change de comportement tant que vous n'ajoutez pas de bloc labeling_engine. Trois clés affichent désormais au démarrage une note d'information qui nomme leur équivalent dans le moteur d'étiquetage, et leur suppression est prévue pour la 3.0. Ces notes vont sur stderr, commencent par NOTE: et ne sont pas des avertissements, donc potato validate --strict n'échoue pas à cause d'elles.

Le tableau liste les trois clés et ce que devient chacune :

Ancienne cléÉquivalent dans le moteur
icl_labelingune source llm, avec un contrat threshold_legacy pour l'ancienne règle et un contrat selective_risk à côté
judge_calibrationdes sources judge avec une confiance k_sample, dont l'échantillon en aveugle devient des demandes de calibration
pre_annotationune source static

Le Solo Mode, l'alignement des juges et l'assistant IA interactif (ai_support) ne sont pas dépréciés. Le Solo Mode, c'est un expert qui travaille avec un LLM dans sa propre interface, et l'alignement des juges est un rapport. Quand le moteur est activé, tous deux écrivent aussi leurs prédictions de modèle dans le stockage du moteur, afin que le moteur puisse les calibrer et les certifier.

potato label migrate-config

potato label migrate-config traduit les anciennes clés en un bloc labeling_engine :

bash
potato label migrate-config config.yaml --out config-engine.yaml

La commande lit le YAML sans charger de données, ajoute un bloc labeling_engine équivalent et écrit le résultat avec un en-tête de notes qui expliquent chaque traduction. Elle écrit le bloc avec enabled: false, de sorte que la configuration traduite se comporte comme l'originale jusqu'à ce que vous activiez le moteur. Lisez les notes, vérifiez les sources et les contrats, puis définissez enabled: true et assignment_strategy: engine. La commande se termine en erreur quand la configuration contient déjà un bloc labeling_engine, ou quand il n'y a rien à traduire.

Table de correspondance

Chaque ancien bloc correspond à des sources, des contrats et des réglages humains du moteur comme suit :

Ancien blocSourcesContratsHumains
solo_mode avec confidence_routing.tiersune source par niveau, dans l'ordre des niveauxselective_risk pour chaque schéma à choix unique, error: 1 - end_human_annotation_agreementpools: [solo]
solo_mode avec labeling_modelsune source par modèle, la première formant la cascadecomme ci-dessuspools: [solo]
solo_mode.juryune source par juré, plus une source jury comme cascadecomme ci-dessus
icl_labelingle point de terminaison ai_support comme source llmthreshold_legacy à l'ancien confidence_threshold, et selective_risk à 10 %calibration_rate = l'ancien sample_rate de vérification
judge_alignmentle point de terminaison du juge comme source judge (avec la grille d'évaluation quand il n'y a qu'un schéma)no_worse_than_human, epsilon: 0.15, pour chaque schéma jugéoverlap: 0.3
judge_calibrationchaque modèle comme source judge avec une confiance k_samplesampling.sample_size → budgets.human_labels
pre_annotation avec field ou predictions_fileune source static, en tête de la cascade
active_learning.llmune source llm
ai_budget.cap_usdbudgets.model_usd

Changements de comportement après la migration

Le moteur traite les étiquettes humaines autrement que les anciennes fonctionnalités, et les notes de la configuration traduite indiquent où. Attendez-vous à quatre changements :

  • Les seuils fixes deviennent des seuils testés. Les seuils de routage du Solo Mode et le seuil de confiance d'icl_labeling acceptaient les étiquettes machine au-dessus d'une valeur fixe. selective_risk choisit le seuil sur les étiquettes dev et n'accepte que ce qui réussit un test sur des étiquettes mises de côté, donc attendez-vous d'abord à moins d'étiquettes acceptées, avec une borne d'erreur énoncée sur celles qui le sont.
  • Les échantillons de vérification deviennent uniformes. icl_labeling vérifiait d'abord les prédictions les moins confiantes, ce qui trouve vite les erreurs mais donne une estimation d'exactitude biaisée. Les demandes de calibration du moteur forment un échantillon aléatoire avec des probabilités d'inclusion enregistrées.
  • Le jugement en ligne passe en aveugle. judge_alignment.inline montrait le verdict du juge pendant que les personnes étiquetaient, si bien que l'accord était mesuré sur des étiquettes influencées par ce verdict. Les demandes de calibration du moteur ne montrent jamais de réponse machine.
  • Les pré-annotations sont testées avant qu'on s'y fie. Les étiquettes d'une source static ne sont acceptées que là où un contrat les certifie, et ailleurs les personnes les voient dans des demandes de vérification.

Pour aller plus loin

Pour les détails d'implémentation, consultez la documentation source.