Hub documentation

🟧 Label Studio trên Spaces

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

🟧 Label Studio trên Spaces

Label Studio là một nền tảng gán nhãn dữ liệu mã nguồn mở để gán nhãn, chú thích và khám phá nhiều loại dữ liệu khác nhau. Ngoài ra, Label Studio còn bao gồm một giao diện machine learning mạnh mẽ, có thể được sử dụng cho việc huấn luyện mô hình mới, active learning, supervised learning và nhiều kỹ thuật huấn luyện khác.

Hướng dẫn này sẽ dạy bạn cách triển khai Label Studio để dán nhãn và chú thích dữ liệu trong Hugging Face Hub. Bạn có thể sử dụng cấu hình mặc định của Label Studio như một ứng dụng tự chứa, được lưu trữ hoàn toàn trên Hub bằng Docker cho mục đích trình diễn và đánh giá, hoặc bạn có thể gắn kết cơ sở dữ liệu và bộ lưu trữ đám mây của riêng mình để lưu trữ một ứng dụng đầy đủ tính năng, sẵn sàng cho môi trường sản xuất, trên Spaces.

⚡️ Triển khai Label Studio trên Spaces

Bạn có thể triển khai Label Studio trên Spaces chỉ với vài cú nhấp chuột:

Spaces yêu cầu bạn phải định nghĩa:

  • Một Chủ sở hữu: tài khoản cá nhân của bạn hoặc một tổ chức mà bạn là thành viên.

  • Một tên Space: tên của Space trong tài khoản mà bạn đang tạo Space.

  • Visibility: private nếu bạn muốn Space chỉ hiển thị cho bạn hoặc tổ chức của bạn, hoặc public nếu bạn muốn nó hiển thị cho các người dùng hoặc ứng dụng khác sử dụng Label Studio API (được đề xuất).

🚀 Sử dụng Cấu hình Mặc định

Mặc định, Label Studio được cài đặt trong Spaces với cấu hình sử dụng bộ nhớ cục bộ cho cơ sở dữ liệu ứng dụng để lưu trữ cấu hình, thông tin xác thực tài khoản và thông tin dự án. Các tác vụ gán nhãn và mục dữ liệu cũng được lưu trong bộ nhớ cục bộ.

Bộ nhớ trong Hugging Face Spaces mặc định là tạm thời. Để dữ liệu của bạn được lưu trữ qua các lần khởi động lại, hãy gắn một Storage Bucket — xem mục lưu trữ bền vững bên dưới.

Sau khi khởi động Label Studio, bạn sẽ được đưa đến màn hình đăng nhập tiêu chuẩn. Bạn có thể bắt đầu bằng cách tạo một tài khoản mới bằng địa chỉ email của mình và đăng nhập bằng thông tin đăng nhập mới. Định kỳ sau khi đăng nhập, Label Studio sẽ cảnh báo bạn rằng bộ nhớ lưu trữ là tạm thời và dữ liệu có thể bị mất nếu Space của bạn được khởi động lại. Bạn cũng sẽ được đặt sẵn một lời nhắc từ Heidi, linh vật hỗ trợ của Label Studio, để tạo một dự án mới bắt đầu gán nhãn cho dữ liệu của bạn. Để bắt đầu, hãy xem hướng dẫn “Zero to One” của Label Studio với các bước xây dựng giao diện chú thích cho phân tích cảm xúc.

🛠️ Cấu hình một phiên bản Label Studio sẵn sàng cho môi trường sản xuất

Để Space của bạn sẵn sàng cho môi trường sản xuất, bạn cần thực hiện ba thay đổi cấu hình:

  • Tắt việc tạo tài khoản mới không giới hạn.

  • Bật tính năng lưu trữ bền vững bằng cách gắn một Storage Bucket hoặc một cơ sở dữ liệu bên ngoài.

  • Tùy chọn, gắn kết bộ nhớ lưu trữ đám mây cho các tác vụ dán nhãn.

Tắt tạo tài khoản mới không giới hạn

Cấu hình mặc định trên Label Studio cho phép tạo tài khoản mới không giới hạn cho bất kỳ ai có URL của ứng dụng của bạn. Bạn có thể hạn chế đăng ký bằng cách thêm các bí mật cấu hình sau vào Cài đặt của Space.

  • LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK: Đặt giá trị này thành true sẽ tắt tính năng tạo tài khoản không giới hạn.

  • LABEL_STUDIO_USERNAME: Đây là tên người dùng của tài khoản mà bạn sẽ sử dụng làm người dùng đầu tiên trong Label Studio Space của bạn. Nó phải là một địa chỉ email hợp lệ.

  • LABEL_STUDIO_PASSWORD: Mật khẩu sẽ được liên kết với tài khoản người dùng đầu tiên.

Khởi động lại Space để áp dụng các cài đặt này. Khả năng tạo tài khoản mới từ màn hình đăng nhập sẽ bị vô hiệu hóa. Để tạo tài khoản mới, bạn sẽ cần mời người dùng mới trong cài đặt Organization của ứng dụng Label Studio.

Bật tính năng lưu trữ bền vững với các bucket lưu trữ của HF

Mặc định, Space này lưu trữ tất cả cấu hình dự án và chú thích dữ liệu trong bộ nhớ cục bộ bằng SQLite. Nếu Space được đặt lại, tất cả dữ liệu cấu hình và chú thích trong Space sẽ bị mất.

Cách đơn giản nhất để bật tính năng lưu trữ bền vững là gắn một Storage Bucket, cho phép gắn trực tiếp bộ lưu trữ đối tượng bền vững vào Space. Label Studio viết cơ sở dữ liệu SQLite và các tệp phương tiện đã tải lên vào bucket đã gắn, nhờ đó các dự án và chú thích được giữ nguyên sau khi khởi động lại.

  1. Tạo một bucket:

    hf buckets create <your-namespace>/label-studio-data
  2. Gắn nó trong Space Settings → Storage Buckets, đường dẫn gắn /data.

  3. Đặt hai Biến Space:

    LABEL_STUDIO_BASE_DATA_DIR=/data
    STORAGE_PERSISTENCE=1
  4. Khôi phục lại Space.

Đặt một Space Secret SECRET_KEY để giữ phiên người dùng hoạt động qua các lần khởi động lại. Nếu không có nó, Label Studio sẽ tạo một khóa ngẫu nhiên ở mỗi lần khởi động và tất cả người dùng sẽ bị đăng xuất khi khởi động lại.

Để một tác nhân lập trình thực hiện thay bạn

Nếu bạn không muốn điều hướng qua cài đặt của Space, bạn có thể yêu cầu một tác nhân lập trình có quyền truy cập vào huggingface_hub để thiết lập Space cho bạn. Hãy cung cấp cho tác nhân đó ID của Space và tên bucket, và nó có thể thực hiện các thao tác tương đương với:

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)

Xem hướng dẫn manage-spaces để biết thêm về việc quản lý spaces và volume mounts qua huggingface_hub.

Bật tính năng Lưu trữ với Postgres

Đối với các triển khai đa người dùng nặng hơn, bạn có thể thay vào đó bật tính năng lưu trữ bằng cách kết nối cơ sở dữ liệu Postgres bên ngoài với space của bạn, đảm bảo rằng tất cả cài đặt dự án và chú thích được bảo toàn.

Đặt các biến bí mật sau để khớp với phiên bản Postgres do bạn tự lưu trữ. Chúng tôi khuyến nghị mạnh mẽ việc đặt các biến này dưới dạng bí mật để ngăn rò rỉ thông tin về dịch vụ cơ sở dữ liệu của bạn ra công khai trong định nghĩa spaces của bạn.

  • DJANGO_DB: Đặt giá trị này thành default.

  • POSTGRE_NAME: Đặt giá trị này thành tên của cơ sở dữ liệu Postgres.

  • POSTGRE_USER: Đặt giá trị này thành tên người dùng Postgres.

  • POSTGRE_PASSWORD: Đặt giá trị này thành mật khẩu cho người dùng Postgres của bạn.

  • POSTGRE_HOST: Đặt giá trị này thành host mà cơ sở dữ liệu Postgres của bạn đang chạy.

  • POSTGRE_PORT: Đặt giá trị này thành cổng mà cơ sở dữ liệu Postgres của bạn đang chạy.

  • STORAGE_PERSISTENCE: Đặt giá trị này thành 1 để loại bỏ cảnh báo về bộ nhớ lưu trữ tạm thời.

Khởi động lại Space để áp dụng các cài đặt này. Thông tin về người dùng, dự án và chú thích sẽ được lưu trữ trong cơ sở dữ liệu và sẽ được nạp lại bởi Label Studio nếu space được khởi động lại hoặc đặt lại.

Bật Lưu trữ trên đám mây

Mặc định, phương thức lưu trữ dữ liệu duy nhất được bật cho Space này là lưu trữ cục bộ. Trong trường hợp Space bị đặt lại, toàn bộ dữ liệu sẽ bị mất. Để bật lưu trữ vĩnh viễn, bạn phải bật một trình kết nối lưu trữ đám mây. Chọn trình kết nối đám mây phù hợp và cấu hình các bí mật (secrets) cho nó.

Amazon S3

  • STORAGE_TYPE: Đặt giá trị này thành 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: Đặt giá trị này là chuỗi rỗng.

Google Cloud Storage

  • STORAGE_TYPE: Đặt giá trị này thành gcs.

  • STORAGE_GCS_BUCKET_NAME: <YOUR_BUCKET_NAME>

  • STORAGE_GCS_PROJECT_ID: <YOUR_PROJECT_ID>

  • STORAGE_GCS_FOLDER: Đặt giá trị này là chuỗi rỗng.

  • GOOGLE_APPLICATION_CREDENTIALS: Đặt giá trị này thành /opt/heartex/secrets/key.json.

Azure Blob Storage

  • STORAGE_TYPE: Đặt giá trị này thành 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: Đặt giá trị này là chuỗi rỗng.

🤗 Các bước tiếp theo, phản hồi và hỗ trợ

Để bắt đầu với Label Studio, hãy xem tutorial “Zero to One” của Label Studio, trong đó hướng dẫn bạn qua một dự án chú thích phân tích cảm xúc mẫu. Bạn có thể tìm thấy bộ tài nguyên đầy đủ về Label Studio và cộng đồng Label Studio tại Label Studio Home Page. Trong đó bao gồm full documentation, một interactive playground để thử nghiệm các giao diện chú thích khác nhau, và các liên kết để tham gia Label Studio Slack Community.

Update on GitHub