Hub documentation

🟧 Label Studio en Spaces

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

🟧 Label Studio en Spaces

Label Studio es una plataforma de etiquetado de datos de código abierto para etiquetar, anotar y explorar muchos tipos diferentes de datos. Además, Label Studio incluye una potente interfaz de aprendizaje automático que se puede utilizar para el entrenamiento de nuevos modelos, aprendizaje activo, aprendizaje supervisado y muchas otras técnicas de entrenamiento.

Esta guía te enseñará a desplegar Label Studio para la etiquetación y anotación de datos dentro del Hugging Face Hub. Puedes usar la configuración predeterminada de Label Studio como una aplicación autónoma alojada por completo en el Hub mediante Docker con fines de demostración y evaluación, o puedes conectar tu propia base de datos y almacenamiento en la nube para alojar una aplicación lista para producción con todas las funciones en Spaces.

⚡️ Despliega Label Studio en Spaces

Puedes desplegar Label Studio en Spaces con solo unos pocos clics:

Spaces requiere que definas:

  • Un Owner: tu cuenta personal o una organización de la que seas miembro.

  • Un nombre de Space: el nombre del Space dentro de la cuenta en la que estás creando el Space.

  • La Visibilidad: private si quieres que el Space sea visible solo para ti o tu organización, o public si quieres que sea visible para otros usuarios o aplicaciones que usen la API de Label Studio (recomendado).

🚀 Uso de la configuración predeterminada

Por defecto, Label Studio se instala en Spaces con una configuración que utiliza almacenamiento local para la base de datos de la aplicación, con el fin de almacenar la configuración, las credenciales de la cuenta y la información del proyecto. Las tareas de etiquetado y los elementos de datos también se mantienen en el almacenamiento local.

El almacenamiento en Hugging Face Spaces es efímero de forma predeterminada. Para conservar tus datos entre reinicios, adjunta un Storage Bucket; consulta la sección de persistencia a continuación.

Tras iniciar Label Studio, se mostrará la pantalla de inicio de sesión estándar. Puede comenzar creando una nueva cuenta con su dirección de correo electrónico e iniciando sesión con sus nuevas credenciales. Periódicamente, después de iniciar sesión, Label Studio le advertirá que el almacenamiento es efímero y que los datos podrían perderse si se reinicia su Space. También se le presentará un mensaje de Heidi, la simpática mascota de Label Studio, para que cree un nuevo proyecto y comience a etiquetar sus datos. Para empezar, consulte el tutorial “De cero a uno” de Label Studio, que incluye una guía sobre cómo construir una interfaz de anotación para el análisis de sentimiento.

🛠️ Configuración de una instancia de Label Studio lista para producción

Para que tu Space esté listo para producción, deberás realizar tres cambios de configuración:

  • Desactivar la creación ilimitada de nuevas cuentas.

  • Habilite la persistencia adjuntando un Storage Bucket o una base de datos externa.

  • Opcionalmente, adjunta almacenamiento en la nube para las tareas de etiquetado.

Desactivar la creación ilimitada de nuevas cuentas

La configuración predeterminada en Label Studio permite la creación ilimitada de nuevas cuentas para cualquier persona que tenga la URL de su aplicación. Puede restringir los registros agregando los siguientes secretos de configuración a la sección Settings de su Space.

  • LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK: Establecer este valor en true deshabilitará la creación de cuentas sin restricciones.

  • LABEL_STUDIO_USERNAME: Este es el nombre de usuario de la cuenta que utilizarás como primer usuario en tu espacio de Label Studio. Debe ser una dirección de correo electrónico válida.

  • LABEL_STUDIO_PASSWORD: La contraseña que se asociará con la primera cuenta de usuario.

Reinicie el Space para aplicar estas configuraciones. La capacidad de crear nuevas cuentas desde la pantalla de inicio de sesión se deshabilitará. Para crear nuevas cuentas, deberá invitar a nuevos usuarios en la configuración de Organization de la aplicación Label Studio.

Habilitar la persistencia con cubos de almacenamiento de HF

Por defecto, este Space almacena toda la configuración del proyecto y las anotaciones de datos en el almacenamiento local con SQLite. Si se restablece el Space, se perderán todos los datos de configuración y anotación del Space.

La forma más sencilla de habilitar la persistencia es adjuntar un Storage Bucket, que monta el almacenamiento de objetos persistente directamente en el Space. Label Studio escribe su base de datos SQLite y las cargas de medios en el bucket montado, por lo que los proyectos y las anotaciones sobreviven a los reinicios.

  1. Crear un bucket:

    hf buckets create <your-namespace>/label-studio-data
  2. Adjúntalo en Configuración del espacio → Búceles de almacenamiento, ruta de montaje /data.

  3. Establece dos variables de Space:

    LABEL_STUDIO_BASE_DATA_DIR=/data
    STORAGE_PERSISTENCE=1
  4. Reconstrucción de fábrica del Space.

Establezca un secreto de Space SECRET_KEY para mantener las sesiones de usuario activas entre reinicios. Sin él, Label Studio genera una clave aleatoria en cada arranque y todos los usuarios se desconectan al reiniciar.

Que un agente de programación lo haga por ti

Si prefieres no navegar por la configuración del Space, puedes pedirle a un agente de programación con acceso a huggingface_hub que configure el Space por ti. Indícale el ID de tu Space y el nombre del bucket, y podrá ejecutar el equivalente a:

from huggingface_hub import HfApi, Volume

api = HfApi()
space_id = "<your-namespace>/<your-space>"

# Attach the bucket at /data
api.set_space_volumes(
    space_id,
    volumes=[
        Volume(type="bucket", source="<your-namespace>/label-studio-data", mount_path="/data"),
    ],
)

# Tell Label Studio to write its SQLite DB and media into the mounted bucket
api.add_space_variable(space_id, "LABEL_STUDIO_BASE_DATA_DIR", "/data")
api.add_space_variable(space_id, "STORAGE_PERSISTENCE", "1")

# Optional: set a stable SECRET_KEY so sessions survive restarts
api.add_space_secret(space_id, "SECRET_KEY", "<random-string>")

# Factory rebuild so the new mount and variables take effect
api.restart_space(space_id, factory_reboot=True)

Consulte la guía manage-spaces para obtener más información sobre la gestión de espacios y montajes de volúmenes mediante huggingface_hub.

Habilitar la persistencia con Postgres

Para despliegues multiusuario más intensivos, en su lugar puede habilitar la persistencia conectando una base de datos Postgres externa a su espacio, garantizando que se conserven todas las configuraciones del proyecto y de las anotaciones.

Establezca las siguientes variables secretas para que coincidan con su propia instancia alojada de Postgres. Recomendamos encarecidamente establecerlas como secretos para evitar filtrar información sobre su servicio de base de datos al público en la definición de sus espacios.

  • DJANGO_DB: Establezca este valor en default.

  • POSTGRE_NAME: Establezca este valor con el nombre de la base de datos de Postgres.

  • POSTGRE_USER: Establezca esto como el nombre de usuario de Postgres.

  • POSTGRE_PASSWORD: Establezca este valor como la contraseña de su usuario de Postgres.

  • POSTGRE_HOST: Establezca esto en el host donde se ejecuta su base de datos Postgres.

  • POSTGRE_PORT: Establezca este valor en el puerto en el que se está ejecutando su base de datos Postgres.

  • STORAGE_PERSISTENCE: Establezca este valor en 1 para eliminar la advertencia sobre el almacenamiento efímero.

Reinicie el Space para aplicar estas configuraciones. La información sobre usuarios, proyectos y anotaciones se almacenará en la base de datos y se recargará en Label Studio si el space se reinicia o se restablece.

Activar almacenamiento en la nube

Por defecto, el único almacenamiento de datos habilitado para este Space es el local. En caso de restablecer el Space, se perderán todos los datos. Para habilitar un almacenamiento permanente, debe activar un conector de almacenamiento en la nube. Elija el conector de nube adecuado y configure sus secretos.

Amazon S3

  • STORAGE_TYPE: Establezca este valor en s3.

  • STORAGE_AWS_ACCESS_KEY_ID: <YOUR_ACCESS_KEY_ID>

  • STORAGE_AWS_SECRET_ACCESS_KEY: <YOUR_SECRET_ACCESS_KEY>

  • STORAGE_AWS_BUCKET_NAME: <YOUR_BUCKET_NAME>

  • STORAGE_AWS_REGION_NAME: <YOUR_BUCKET_REGION>

  • STORAGE_AWS_FOLDER: Establezca esto como una cadena vacía.

Google Cloud Storage

  • STORAGE_TYPE: Establezca este valor en gcs.

  • STORAGE_GCS_BUCKET_NAME: <YOUR_BUCKET_NAME>

  • STORAGE_GCS_PROJECT_ID: <YOUR_PROJECT_ID>

  • STORAGE_GCS_FOLDER: Establezca este valor como una cadena vacía.

  • GOOGLE_APPLICATION_CREDENTIALS: Establezca este valor en /opt/heartex/secrets/key.json.

Azure Blob Storage

  • STORAGE_TYPE: Establezca este valor en azure.

  • STORAGE_AZURE_ACCOUNT_NAME: <YOUR_STORAGE_ACCOUNT>

  • STORAGE_AZURE_ACCOUNT_KEY: <YOUR_STORAGE_KEY>

  • STORAGE_AZURE_CONTAINER_NAME: <YOUR_CONTAINER_NAME>

  • STORAGE_AZURE_FOLDER: Establezca esto como una cadena vacía.

🤗 Próximos pasos, comentarios y soporte

Para comenzar con Label Studio, consulte el tutorial “Zero to One” de Label Studio, que le guía a través de un proyecto de anotación de análisis de sentimiento. Puede encontrar un conjunto completo de recursos sobre Label Studio y la comunidad de Label Studio en la página de inicio de Label Studio. Esto incluye la documentación completa, un playground interactivo para probar diferentes interfaces de anotación y enlaces para unirse a la comunidad de Slack de Label Studio.

Update on GitHub