Migrar al motor de etiquetado
Pasa las configuraciones de icl_labeling, judge_calibration, pre_annotation y Solo Mode al motor de etiquetado con potato label migrate-config, y descubre qué cambia al hacerlo.
Las funciones de etiquetado automático más antiguas de Potato siguen funcionando en 2.11, y nada cambia de comportamiento hasta que añades un bloque labeling_engine. Tres claves muestran ahora al arrancar una nota informativa que nombra su equivalente en el motor de etiquetado, y está previsto retirarlas en 3.0. Las notas van a stderr, empiezan por NOTE: y no son avisos, así que potato validate --strict no falla por ellas.
La tabla enumera las tres claves y en qué se convierte cada una:
| Clave antigua | Equivalente en el motor |
|---|---|
icl_labeling | una fuente llm, con un contrato threshold_legacy para la regla antigua y un contrato selective_risk a su lado |
judge_calibration | fuentes judge con confianza k_sample, cuya muestra ciega se convierte en peticiones de calibración |
pre_annotation | una fuente static |
Solo Mode, la alineación de jueces y el asistente de IA interactivo (ai_support) no quedan obsoletos. Solo Mode es un experto que trabaja con un LLM a través de su propia interfaz, y la alineación de jueces es un informe. Cuando el motor está activado, ambos escriben también sus predicciones de modelo en el almacén del motor, para que el motor pueda calibrarlas y certificarlas.
potato label migrate-config
potato label migrate-config traduce las claves antiguas a un bloque labeling_engine:
potato label migrate-config config.yaml --out config-engine.yamlEl comando lee el YAML sin cargar ningún dato, añade un bloque labeling_engine equivalente y escribe el resultado con una cabecera de notas que explican cada traducción. Escribe el bloque con enabled: false, así que la configuración traducida se comporta como la original hasta que activas el motor. Lee las notas, revisa las fuentes y los contratos, y después define enabled: true y assignment_strategy: engine. El comando termina con un error cuando la configuración ya tiene un bloque labeling_engine o cuando no hay nada que traducir.
Tabla de equivalencias
Cada bloque antiguo se corresponde con fuentes, contratos y ajustes de personas del motor de esta forma:
| Bloque antiguo | Fuentes | Contratos | Personas |
|---|---|---|---|
solo_mode con confidence_routing.tiers | una fuente por nivel, en el orden de los niveles | selective_risk por cada esquema de una opción entre N, error: 1 - end_human_annotation_agreement | pools: [solo] |
solo_mode con labeling_models | una fuente por modelo, y la primera es la cascada | como arriba | pools: [solo] |
solo_mode.jury | una fuente por miembro del jurado, más una fuente jury como cascada | como arriba | |
icl_labeling | el endpoint de ai_support como fuente llm | threshold_legacy con el antiguo confidence_threshold, y selective_risk al 10% | calibration_rate = el antiguo sample_rate de verificación |
judge_alignment | el endpoint del juez como fuente judge (con la rúbrica cuando hay un solo esquema) | no_worse_than_human, epsilon: 0.15, por cada esquema juzgado | overlap: 0.3 |
judge_calibration | cada modelo como fuente judge con confianza k_sample | sampling.sample_size → budgets.human_labels | |
pre_annotation con field o predictions_file | una fuente static, la primera de la cascada | ||
active_learning.llm | una fuente llm | ||
ai_budget.cap_usd | budgets.model_usd |
Cambios de comportamiento tras la migración
El motor trata las etiquetas humanas de forma distinta a las funciones antiguas, y las notas de la configuración traducida indican dónde. Cabe esperar cuatro cambios:
- Los umbrales fijos pasan a ser umbrales probados. Los umbrales de enrutamiento de Solo Mode y el umbral de confianza de
icl_labelingaceptaban etiquetas de máquina por encima de un número fijo.selective_riskelige el umbral con las etiquetas dev y solo acepta lo que supera una prueba con etiquetas reservadas, así que al principio cabe esperar que se acepten menos etiquetas, con una cota de error declarada para las que sí se aceptan. - Las muestras de verificación pasan a ser uniformes.
icl_labelingverificaba primero las predicciones con menos confianza, lo que encuentra errores rápido y da una estimación sesgada de la exactitud. Las peticiones de calibración del motor son una muestra aleatoria con probabilidades de inclusión registradas. - La evaluación en línea del juez pasa a ser ciega.
judge_alignment.inlinemostraba el veredicto del juez mientras las personas etiquetaban, así que el acuerdo se medía sobre etiquetas ancladas. Las peticiones de calibración del motor nunca muestran una respuesta de máquina. - Las preanotaciones se ponen a prueba antes de darlas por buenas. Las etiquetas de una fuente
staticsolo se aceptan donde un contrato las certifica, y en el resto de casos las personas las ven en las peticiones de verificación.
Lecturas adicionales
Para los detalles de implementación, consulta la documentación del código fuente.