Hub documentation

🟧 Spaces'te Label Studio

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

🟧 Spaces'te Label Studio

Label Studio, birçok farklı veri türünü etiketleme, anotasyon ve keşfetme için kullanılan açık kaynaklı bir veri etiketleme platformudur. Ayrıca Label Studio, yeni model eğitimi, aktif öğrenme, denetimli öğrenme ve birçok diğer eğitim tekniği için kullanılabilen güçlü bir makine öğrenmesi arayüzü içerir.

Bu kılavuz, veri etiketleme ve anotasyon için Label Studio'yu Hugging Face Hub üzerinde nasıl dağıtacağınızı öğretecektir. Label Studio'nun varsayılan yapılandırmasını, Docker kullanılarak tamamen Hub üzerinde barındırılan, gösterim ve değerlendirme amaçlı bağımsız bir uygulama olarak kullanabilir veya kendi veritabanınızı ve bulut depolamanızı bağlayarak Spaces üzerinde barındırılan, tam özellikli ve üretim ortamına hazır bir uygulama oluşturabilirsiniz.

⚡️ Label Studio'yu Spaces'te dağıtın

Label Studio'yu birkaç tıklamayla Spaces üzerinde dağıtabilirsiniz:

Spaces, şunları tanımlamanızı gerektirir:

  • Bir Sahip: Kişisel hesabınız veya üyesi olduğunuz bir kuruluş.

  • Bir Space adı: Space'i oluşturduğunuz hesap içindeki Space'in adı

  • Space'in yalnızca size veya organizasyonunuza görünür olmasını istiyorsanız Görünürlük: özel, Label Studio API'sini kullanan diğer kullanıcılar veya uygulamalar tarafından görünür olmasını istiyorsanız herkese açık (önerilen).

🚀 Varsayılan Yapılandırmayı Kullanma

Varsayılan olarak, Label Studio, uygulama veritabanı için yapılandırma, hesap kimlik bilgileri ve proje bilgilerini depolamak üzere yerel depolamayı kullanan bir yapılandırmayla Spaces'te yüklenir. Etiketleme görevleri ve veri öğeleri de yerel depolamada tutulur.

Hugging Face Spaces'te depolama varsayılan olarak geçicidir. Verilerinizi yeniden başlatmalar arasında kalıcı hale getirmek için bir Storage Bucket ekleyin — aşağıdaki kalıcılık bölümüne bakın.

Label Studio’yu başlattıktan sonra standart giriş ekranı görüntülenir. E-posta adresinizi kullanarak yeni bir hesap oluşturup yeni kimlik bilgilerinizle oturum açarak başlayabilirsiniz. Oturum açtıktan sonra belirli aralıklarla, Label Studio depolamanın geçici olduğunu ve Space yeniden başlatılırsa verilerin kaybedilebileceği konusunda sizi uyarır. Ayrıca, verilerinizi etiketlemeye başlamak için yeni bir proje oluşturmanızı öneren, Label Studio’nun yardımsever maskotu Heidi’den bir istek de hazır olarak karşınıza çıkar. Başlamak için, duygu analizi için bir not arayüzü oluşturma rehberini içeren Label Studio “Zero to One” eğitimini inceleyin.

🛠️ Üretime Hazır Bir Label Studio Örneği Yapılandırma

Space'inizi üretim ortamına hazır hale getirmek için üç yapılandırma değişikliği yapmanız gerekir:

  • Yeni hesapların sınırsız oluşturulmasını devre dışı bırakın.

  • Kalıcılığı etkinleştirmek için bir Storage Bucket veya harici bir veritabanı ekleyin.

  • İsteğe bağlı olarak, etiketleme görevleri için bulut depolama ekleyin.

Yeni Hesapların Kısıtsız Oluşturulmasını Devre Dışı Bırak

Label Studio'daki varsayılan yapılandırma, uygulamanızın URL'sine sahip herkesin sınırsız şekilde yeni hesap oluşturmasına izin verir. Space'inizin Ayarlar bölümüne aşağıdaki yapılandırma gizli anahtarlarını ekleyerek kayıtları kısıtlayabilirsiniz.

  • LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK: Bu değeri true olarak ayarlamak, kısıtsız hesap oluşturma işlevini devre dışı bırakır.

  • LABEL_STUDIO_USERNAME: Label Studio Space'inizde ilk kullanıcı olarak kullanacağınız hesabın kullanıcı adıdır. Geçerli bir e-posta adresi olmalıdır.

  • LABEL_STUDIO_PASSWORD: İlk kullanıcı hesabıyla ilişkilendirilecek şifre.

Bu ayarları uygulamak için Space'i yeniden başlatın. Giriş ekranından yeni hesap oluşturma özelliği devre dışı bırakılacak. Yeni hesaplar oluşturmak için Label Studio uygulamasındaki Organization ayarlarında yeni kullanıcılar davet etmeniz gerekecektir.

HF Storage Buckets ile Kalıcılığı Etkinleştirin

Varsayılan olarak bu Space, tüm proje yapılandırmasını ve veri etiketlemelerini SQLite ile yerel depolamada saklar. Space sıfırlanırsa, Space içindeki tüm yapılandırma ve etiketleme verileri kaybolur.

Kalıcılığı etkinleştirmenin en basit yolu, kalıcı nesne depolamayı doğrudan Space'e bağlayan bir Storage Bucket eklemektir. Label Studio, SQLite veritabanını ve medya yüklemelerini bağlı kovaya yazar; bu sayede projeler ve etiketlemeler yeniden başlatmalardan sonra korunur.

  1. Varlık oluşturun:

    hf buckets create <your-namespace>/label-studio-data
  2. Bunu Space Ayarları → Storage Buckets bölümüne bağlayın, mount yolu /data.

  3. İki Space Değişkeni ayarlayın:

    LABEL_STUDIO_BASE_DATA_DIR=/data
    STORAGE_PERSISTENCE=1
  4. Space'i fabrika yeniden kurulumu ile sıfırlayın.

Kullanıcı oturumlarının yeniden başlatmalar arasında canlı kalmasını sağlamak için bir SECRET_KEY Space Secret ayarlayın. Bunun olmadan, Label Studio her açılışta rastgele bir anahtar oluşturur ve yeniden başlatmada tüm kullanıcılar oturumdan çıkar.

Bunu sizin yerine bir kodlama ajanı yapsın

Space ayarlarında gezinmek istemiyorsanız, huggingface_hub erişimine sahip bir kodlama ajanından Space'i sizin için hazırlamasını isteyebilirsiniz. Ona Space kimliğinizi ve varlık adı (bucket name) verin; ajan aşağıdaki eşdeğerini çalıştırabilir:

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)

Alanları ve huggingface_hub ile hacim bağlamaları hakkında daha fazla bilgi için manage-spaces kılavuzuna bakın.

Postgres ile Kalıcılığı Etkinleştirin

Daha ağır çok kullanıcılı dağıtımlar için, tüm proje ve etiketleme ayarlarının korunmasını garanti altına almak üzere dış bir Postgres veritabanını alanınıza bağlayarak kalıcılığı etkinleştirebilirsiniz.

Aşağıdaki gizli değişkenleri, kendi barındırdığınız Postgres örneğiyle eşleşecek şekilde ayarlayın. Veritabanı hizmetinizle ilgili bilgilerin spaces tanımınızda herkese açık olarak sızmasını önlemek için bu değişkenleri gizli olarak ayarlamayı şiddetle öneririz.

  • DJANGO_DB: Bunu default olarak ayarlayın.

  • POSTGRE_NAME: Bunu Postgres veritabanının adıyla eşleştirin.

  • POSTGRE_USER: Bunu Postgres kullanıcı adıyla ayarlayın.

  • POSTGRE_PASSWORD: Bunu Postgres kullanıcı şifreniz olarak ayarlayın.

  • POSTGRE_HOST: Bunu, Postgres veritabanınızın çalıştığı ana makineye (host) ayarlayın.

  • POSTGRE_PORT: Bunu, Postgres veritabanınızın çalıştığı porta ayarlayın.

  • STORAGE_PERSISTENCE: Geçici depolama uyarısını kaldırmak için bunu 1 olarak ayarlayın.

Bu ayarları uygulamak için Space'i yeniden başlatın. Kullanıcı, proje ve etiketleme bilgileri veritabanında saklanacak ve Space yeniden başlatıldığında veya sıfırlandığında Label Studio tarafından yeniden yüklenecektir.

Bulut Depolamayı Etkinleştir

Varsayılan olarak, bu Space için etkin olan tek veri depolama yöntemi yereldir. Space sıfırlanırsa tüm veriler kaybedilir. Kalıcı depolamayı etkinleştirmek için bir bulut depolama bağlantı noktası etkinleştirmeniz gerekir. Uygun bulut bağlantı noktasını seçin ve onun için gizli bilgileri yapılandırın.

Amazon S3

  • STORAGE_TYPE: Bunu s3 olarak ayarlayın.

  • 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: Bunu boş bir dize olarak ayarlayın.

Google Cloud Storage

  • STORAGE_TYPE: Bunu gcs olarak ayarlayın.

  • STORAGE_GCS_BUCKET_NAME: <YOUR_BUCKET_NAME>

  • STORAGE_GCS_PROJECT_ID: <YOUR_PROJECT_ID>

  • STORAGE_GCS_FOLDER: Bunu boş bir dize olarak ayarlayın.

  • GOOGLE_APPLICATION_CREDENTIALS: Bunu /opt/heartex/secrets/key.json olarak ayarlayın.

Azure Blob Storage

  • STORAGE_TYPE: Bunu azure olarak ayarlayın.

  • STORAGE_AZURE_ACCOUNT_NAME: <YOUR_STORAGE_ACCOUNT>

  • STORAGE_AZURE_ACCOUNT_KEY: <YOUR_STORAGE_KEY>

  • STORAGE_AZURE_CONTAINER_NAME: <YOUR_CONTAINER_NAME>

  • STORAGE_AZURE_FOLDER: Bunu boş bir dize olarak ayarlayın.

🤗 Sonraki Adımlar, Geri Bildirim ve Destek

Label Studio ile başlamak için, örnek bir duygu analizi etiketleme projesini adım adım anlatan Label Studio “Zero to One” öğreticisine göz atın. Label Studio ve Label Studio topluluğuyla ilgili kapsamlı bir kaynak setini Label Studio Ana Sayfası'nda bulabilirsiniz. Bu kaynaklar arasında tam dokümantasyon, farklı etiketleme arayüzlerini denemek için bir etkileşimli oynama alanı ve Label Studio Slack Topluluğu'na katılmak için bağlantılar yer alır.

Update on GitHub