Hub documentation

🟧 Label Studio sur Spaces

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

🟧 Label Studio sur Spaces

Label Studio est une plateforme de labellisation de donnĂ©es open source permettant d’étiqueter, d’annoter et d’explorer de nombreux types de donnĂ©es. De plus, Label Studio intĂšgre une puissante interface de machine learning qui peut ĂȘtre utilisĂ©e pour l’entraĂźnement de nouveaux modĂšles, l’apprentissage actif, l’apprentissage supervisĂ© et de nombreuses autres techniques d’entraĂźnement.

Ce guide vous apprend Ă  dĂ©ployer Label Studio pour l’étiquetage et l’annotation de donnĂ©es au sein du Hugging Face Hub. Vous pouvez utiliser la configuration par dĂ©faut de Label Studio en tant qu’application autonome hĂ©bergĂ©e entiĂšrement sur le Hub Ă  l’aide de Docker, Ă  des fins de dĂ©monstration et d’évaluation, ou vous pouvez connecter votre propre base de donnĂ©es et votre stockage cloud pour hĂ©berger une application de production complĂšte sur Spaces.

âšĄïž DĂ©ployer Label Studio sur Spaces

Vous pouvez déployer Label Studio sur Spaces en quelques clics :

Spaces vous demande de définir :

  • Un Owner : soit votre compte personnel, soit une organisation dont vous ĂȘtes membre.

  • Un nom d’espace : le nom de l’espace au sein du compte oĂč vous crĂ©ez l’espace.

  • Le Visibility : private si vous souhaitez que le Space ne soit visible que par vous ou votre organisation, ou public si vous souhaitez qu’il soit visible par d’autres utilisateurs ou applications utilisant l’API Label Studio (recommandĂ©).

🚀 Utilisation de la configuration par dĂ©faut

Par défaut, Label Studio est installé dans Spaces avec une configuration qui utilise le stockage local pour la base de données de l'application afin de stocker la configuration, les identifiants de compte et les informations de projet. Les tùches d'étiquetage et les éléments de données sont également conservés dans le stockage local.

Le stockage dans les Hugging Face Spaces est Ă©phĂ©mĂšre par dĂ©faut. Pour conserver vos donnĂ©es entre les redĂ©marrages, attachez un Storage Bucket — consultez la section sur la persistance ci-dessous.

AprĂšs avoir lancĂ© Label Studio, l’écran de connexion standard s’affiche. Vous pouvez commencer par crĂ©er un nouveau compte Ă  l’aide de votre adresse e-mail, puis vous connecter avec vos nouvelles identifiants. PĂ©riodiquement aprĂšs la connexion, Label Studio vous avertit que le stockage est Ă©phĂ©mĂšre et que les donnĂ©es pourraient ĂȘtre perdues si votre Space est redĂ©marrĂ©. Un message de Heidi, la mascotte utile de Label Studio, vous invite Ă©galement Ă  crĂ©er un nouveau projet afin de commencer Ă  annoter vos donnĂ©es. Pour dĂ©marrer, consultez le tutoriel « Zero to One » de Label Studio, qui propose un guide pour construire une interface d’annotation destinĂ©e Ă  l’analyse de sentiments.

đŸ› ïž Configuration d'une instance de Label Studio prĂȘte pour la production

Pour rendre votre Space prĂȘt pour la production, vous devrez effectuer trois modifications de configuration :

  • DĂ©sactiver la crĂ©ation illimitĂ©e de nouveaux comptes.

  • Activez la persistance en attachant un Storage Bucket ou une base de donnĂ©es externe.

  • Facultativement, attachez un stockage cloud pour les tĂąches d’étiquetage.

Désactiver la création illimitée de nouveaux comptes

La configuration par défaut de Label Studio permet la création illimitée de nouveaux comptes pour toute personne disposant de l'URL de votre application. Vous pouvez restreindre les inscriptions en ajoutant les secrets de configuration suivants à vos ParamÚtres de Space.

  • LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK : DĂ©finir cette valeur sur true dĂ©sactive la crĂ©ation de compte sans restriction.

  • LABEL_STUDIO_USERNAME : il s’agit du nom d’utilisateur du compte que vous utiliserez en tant que premier utilisateur de votre espace Label Studio. Il doit s’agir d’une adresse e-mail valide.

  • LABEL_STUDIO_PASSWORD : le mot de passe qui sera associĂ© au premier compte utilisateur.

Redémarrez le Space pour appliquer ces paramÚtres. La possibilité de créer de nouveaux comptes depuis l'écran de connexion sera désactivée. Pour créer de nouveaux comptes, vous devrez inviter de nouveaux utilisateurs dans les paramÚtres Organization de l'application Label Studio.

Activer la persistance avec les buckets de stockage HF

Par dĂ©faut, cet espace stocke toutes les configurations de projet et les annotations de donnĂ©es dans le stockage local avec SQLite. Si l’espace est rĂ©initialisĂ©, toutes les donnĂ©es de configuration et d’annotation de l’espace seront perdues.

La mĂ©thode la plus simple pour activer la persistance est d’attacher un Storage Bucket, qui monte le stockage d’objets persistant directement dans le Space. Label Studio Ă©crit sa base de donnĂ©es SQLite et les mĂ©dias tĂ©lĂ©versĂ©s dans le bucket montĂ©, de sorte que les projets et les annotations survivent aux redĂ©marrages.

  1. Créer un bucket :

    hf buckets create <your-namespace>/label-studio-data
  2. Attachez-le dans Space Settings → Storage Buckets, chemin de montage /data.

  3. DĂ©finissez deux variables d’espace :

    LABEL_STUDIO_BASE_DATA_DIR=/data
    STORAGE_PERSISTENCE=1
  4. Reconstruction d'usine de l'Espace.

Définissez un secret Space SECRET_KEY pour maintenir les sessions utilisateurs actives entre les redémarrages. Sans cela, Label Studio génÚre une clé aléatoire à chaque démarrage et tous les utilisateurs se déconnectent lors du redémarrage.

Laissez un agent de codage le faire pour vous

Si vous prĂ©fĂ©rez ne pas naviguer dans les paramĂštres de l’Espace, vous pouvez demander Ă  un agent de codage ayant accĂšs Ă  huggingface_hub de provisionner l’Espace pour vous. Indiquez-lui votre identifiant d’Espace et le nom du bucket, et il pourra exĂ©cuter l’équivalent de :

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)

Consultez le guide manage-spaces pour en savoir plus sur la gestion des espaces et des montages de volumes via huggingface_hub.

Activer la persistance avec Postgres

Pour des dĂ©ploiements multi-utilisateurs plus lourds, vous pouvez Ă  la place activer la persistance en connectant une base de donnĂ©es Postgres externe Ă  votre space, ce qui garantit que tous les paramĂštres de projet et d’annotation sont conservĂ©s.

DĂ©finissez les variables secrĂštes suivantes pour correspondre Ă  votre propre instance hĂ©bergĂ©e de Postgres. Nous recommandons vivement de les dĂ©finir en tant que secrets afin d’éviter de divulguer des informations sur votre service de base de donnĂ©es au public dans la dĂ©finition de vos spaces.

  • DJANGO_DB : dĂ©finissez cette valeur sur default.

  • POSTGRE_NAME : DĂ©finissez cette variable avec le nom de la base de donnĂ©es Postgres.

  • POSTGRE_USER : DĂ©finissez cette variable avec le nom d'utilisateur Postgres.

  • POSTGRE_PASSWORD : DĂ©finissez cette variable avec le mot de passe de votre utilisateur Postgres.

  • POSTGRE_HOST : DĂ©finissez cette variable sur l'hĂŽte oĂč votre base de donnĂ©es Postgres est exĂ©cutĂ©e.

  • POSTGRE_PORT : DĂ©finissez cette variable sur le port sur lequel votre base de donnĂ©es Postgres est exĂ©cutĂ©e.

  • STORAGE_PERSISTENCE : dĂ©finissez cette variable sur 1 pour supprimer l'avertissement relatif au stockage Ă©phĂ©mĂšre.

Redémarrez le Space pour appliquer ces paramÚtres. Les informations sur les utilisateurs, les projets et les annotations seront stockées dans la base de données et rechargées par Label Studio si le space est redémarré ou réinitialisé.

Activer le stockage cloud

Par défaut, le seul stockage de données activé pour cet espace est le stockage local. En cas de réinitialisation de l'espace, toutes les données seront perdues. Pour activer un stockage permanent, vous devez activer un connecteur de stockage cloud. Choisissez le connecteur cloud approprié et configurez les secrets associés.

Amazon S3

  • STORAGE_TYPE : dĂ©finissez cette valeur sur 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 : dĂ©finissez cette variable sur une chaĂźne vide.

Google Cloud Storage

  • STORAGE_TYPE : dĂ©finissez cette valeur sur gcs.

  • STORAGE_GCS_BUCKET_NAME: <YOUR_BUCKET_NAME>

  • STORAGE_GCS_PROJECT_ID: <YOUR_PROJECT_ID>

  • STORAGE_GCS_FOLDER : dĂ©finissez cette valeur sur une chaĂźne vide.

  • GOOGLE_APPLICATION_CREDENTIALS : dĂ©finissez cette variable sur /opt/heartex/secrets/key.json.

Azure Blob Storage

  • STORAGE_TYPE : dĂ©finissez cette valeur sur 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 : dĂ©finissez cette variable sur une chaĂźne vide.

đŸ€— Étapes suivantes, retours et assistance

Pour commencer avec Label Studio, consultez le tutoriel « De zĂ©ro Ă  un » de Label Studio, qui vous guide Ă  travers un projet d’annotation d’analyse de sentiments. Vous trouverez un ensemble complet de ressources sur Label Studio et la communautĂ© Label Studio sur la page d’accueil de Label Studio. Cela inclut la documentation complĂšte, un terrain de jeu interactif pour tester diffĂ©rentes interfaces d’annotation, ainsi que des liens pour rejoindre la communautĂ© Slack de Label Studio.

Update on GitHub