Hub documentation
🟧 Label Studio no Spaces
🟧 Label Studio no Spaces
Label Studio é uma plataforma de rotulagem de dados de código aberto para rotular, anotar e explorar diversos tipos de dados. Além disso, o Label Studio inclui uma poderosa interface de machine learning que pode ser usada para treinamento de novos modelos, aprendizado ativo, aprendizado supervisionado e muitas outras técnicas de treinamento.
Este guia ensinará você a implantar o Label Studio para rotulagem e anotação de dados no Hugging Face Hub. Você pode usar a configuração padrão do Label Studio como um aplicativo autossuficiente hospedado completamente no Hub usando Docker para fins de demonstração e avaliação, ou pode conectar seu próprio banco de dados e armazenamento em nuvem para hospedar um aplicativo completo e pronto para produção nos Spaces.
⚡️ Implante o Label Studio nos Spaces
Você pode implantar o Label Studio em Spaces com apenas alguns cliques:
O Spaces exige que você defina:
Um Owner: sua conta pessoal ou uma organização da qual você faz parte.
Um Nome do Space: o nome do Space dentro da conta em que você está criando o Space.
O Visibility: private se você quiser que o Space seja visível apenas para você ou sua organização, ou public se quiser que ele seja visível para outros usuários ou aplicativos que usam a API do Label Studio (recomendado).
🚀 Usando a Configuração Padrão
Por padrão, o Label Studio é instalado em Spaces com uma configuração que usa armazenamento local para o banco de dados da aplicação, armazenando configurações, credenciais de conta e informações de projeto. As tarefas de rotulagem e os itens de dados também são mantidos no armazenamento local.
O armazenamento em Hugging Face Spaces é efêmero por padrão. Para persistir seus dados entre reinicializações, anexe um Storage Bucket — consulte a seção de persistência abaixo.
Após iniciar o Label Studio, a tela padrão de login será exibida. Você pode começar criando uma nova conta com seu endereço de e-mail e fazendo login com suas novas credenciais. Periodicamente após o login, o Label Studio alertará que o armazenamento é efêmero e que os dados podem ser perdidos se seu Space for reiniciado. Você também verá um prompt pré-definido da Heidi, a mascote útil do Label Studio, para criar um novo projeto e começar a rotular seus dados. Para começar, confira o tutorial “Zero to One” do Label Studio, com um guia sobre como construir uma interface de anotação para análise de sentimento.
🛠️ Configurando uma instância pronta para produção do Label Studio
Para tornar seu Space pronto para produção, você precisará fazer três alterações de configuração:
Desative a criação irrestrita de novas contas.
Ative a persistência anexando um Storage Bucket ou um banco de dados externo.
Opcionalmente, anexe armazenamento em nuvem para tarefas de rotulagem.
Desativar a criação irrestrita de novas contas
A configuração padrão no Label Studio permite a criação irrestrita de novas contas para qualquer pessoa que tenha a URL do seu aplicativo. Você pode restringir os cadastros adicionando os seguintes segredos de configuração ao Settings do seu Space.
LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK: Definir esse valor comotruedesativará a criação de conta irrestrita.LABEL_STUDIO_USERNAME: Este é o nome de usuário da conta que você usará como o primeiro usuário no seu Label Studio Space. Deve ser um endereço de e-mail válido.LABEL_STUDIO_PASSWORD: A senha que será associada à primeira conta de usuário.
Reinicie o Space para aplicar essas configurações. A capacidade de criar novas contas a partir da tela de login será desativada. Para criar novas contas, você precisará convidar novos usuários nas configurações de Organization no aplicativo Label Studio.
Ative a persistência com buckets de armazenamento do HF
Por padrão, este Space armazena toda a configuração do projeto e as anotações de dados no armazenamento local com SQLite. Se o Space for reiniciado, todos os dados de configuração e anotação no Space serão perdidos.
A maneira mais simples de habilitar a persistência é anexar um Storage Bucket, que monta o armazenamento de objetos persistente diretamente no Space. O Label Studio grava seu banco de dados SQLite e os uploads de mídia no bucket montado, de modo que projetos e anotações sobrevivem a reinicializações.
Crie um bucket:
hf buckets create <your-namespace>/label-studio-data
Anexe-o em Configurações do Space → Storage Buckets, caminho de montagem
/data.Defina duas Variáveis de Space:
LABEL_STUDIO_BASE_DATA_DIR=/data STORAGE_PERSISTENCE=1Reconstrução de fábrica do Space.
Defina um Space Secret
SECRET_KEYpara manter as sessões dos usuários ativas entre reinícios. Sem ele, o Label Studio gera uma chave aleatória a cada inicialização e todos os usuários são desconectados ao reiniciar.
Deixe um agente de codificação fazer isso por você
Se você preferir não navegar pelas configurações do Space, pode pedir a um agente de código com acesso ao huggingface_hub que provisione o Space para você. Informe a ele o ID do seu Space e o nome do bucket, e ele pode executar o 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 o guia manage-spaces para mais informações sobre a gestão de espaços e montagens de volumes via huggingface_hub.
Ative a Persistência com Postgres
Para implantações multiusuário mais pesadas, você pode, em vez disso, habilitar a persistência conectando um banco de dados Postgres externo ao seu space, garantindo que todas as configurações de projeto e anotação sejam preservadas.
Defina as seguintes variáveis de segredo para corresponder à sua própria instância hospedada do Postgres. Recomendamos fortemente definir esses valores como segredos para evitar a exposição de informações sobre o serviço do seu banco de dados ao público na definição dos seus spaces.
DJANGO_DB: Defina este valor comodefault.POSTGRE_NAME: Defina este valor com o nome do banco de dados Postgres.POSTGRE_USER: Defina este valor como o nome de usuário do Postgres.POSTGRE_PASSWORD: Defina este valor como a senha do seu usuário do Postgres.POSTGRE_HOST: Defina este valor como o host em que seu banco de dados Postgres está em execução.POSTGRE_PORT: Defina este valor para a porta em que seu banco de dados Postgres está em execução.STORAGE_PERSISTENCE: Defina este valor como1para remover o aviso sobre armazenamento efêmero.
Reinicie o Space para aplicar essas configurações. As informações sobre usuários, projetos e anotações serão armazenadas no banco de dados e serão recarregadas pelo Label Studio se o space for reiniciado ou redefinido.
Ativar armazenamento em nuvem
Por padrão, o único armazenamento de dados habilitado para este Space é o local. Em caso de reset do Space, todos os dados serão perdidos. Para habilitar armazenamento permanente, você deve ativar um conector de armazenamento em nuvem. Escolha o conector de nuvem apropriado e configure os segredos para ele.
Amazon S3
STORAGE_TYPE: Defina este valor comos3.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: Defina este valor como uma string vazia.
Google Cloud Storage
STORAGE_TYPE: Defina este valor comogcs.STORAGE_GCS_BUCKET_NAME:<YOUR_BUCKET_NAME>STORAGE_GCS_PROJECT_ID:<YOUR_PROJECT_ID>STORAGE_GCS_FOLDER: Defina este valor como uma string vazia.GOOGLE_APPLICATION_CREDENTIALS: Defina este valor como/opt/heartex/secrets/key.json.
Azure Blob Storage
STORAGE_TYPE: Defina este valor comoazure.STORAGE_AZURE_ACCOUNT_NAME:<YOUR_STORAGE_ACCOUNT>STORAGE_AZURE_ACCOUNT_KEY:<YOUR_STORAGE_KEY>STORAGE_AZURE_CONTAINER_NAME:<YOUR_CONTAINER_NAME>STORAGE_AZURE_FOLDER: Defina este valor como uma string vazia.
🤗 Próximas etapas, feedback e suporte
Para começar a usar o Label Studio, confira o tutorial “Zero to One” do Label Studio, que o guia por um projeto de exemplo de anotação para análise de sentimento. Você pode encontrar um conjunto completo de recursos sobre o Label Studio e a comunidade do Label Studio na página inicial do Label Studio. Isso inclui a documentação completa, um playground interativo para testar diferentes interfaces de anotação e links para participar da Comunidade do Slack do Label Studio.
Update on GitHub