🟧 在 Spaces 上使用 Label Studio
Label Studio 是一个开源数据标注平台,用于标注、注释和探索许多不同的数据类型。此外,Label Studio 包含一个强大的机器学习接口,可用于新模型训练、主动学习、监督学习和许多其他训练技术。
本指南将教你如何在 Hugging Face Hub 内部署 Label Studio 进行数据标注和注释。你可以使用 Label Studio 的默认配置作为使用 Docker 完全托管在 Hub 上的自包含应用,用于演示和评估目的,或者你可以附加自己的数据库和云存储来托管功能完整的生产就绪应用,托管在 Spaces 上。
⚡️ 在 Spaces 上部署 Label Studio
只需点击几下即可在 Spaces 上部署 Label Studio:
Spaces 要求你定义:
-
Owner:你的个人账户或你所属的组织。
-
Space name:你在其中创建 Space 的账户内的 Space 名称。
-
Visibility:如果你希望 Space 仅对你或你的组织可见,则为 私有,如果你希望它对其他用户或使用 Label Studio API 的应用可见,则为 公共(推荐)。
🚀 使用默认配置
默认情况下,Label Studio 在 Spaces 中安装时使用本地存储作为应用数据库来存储配置、账户凭据和项目信息。标注任务和数据项也保存在本地存储中。
Hugging Face Spaces 中的存储是临时的,你在默认配置中存储的数据可能会在 Space 重启或重置时丢失。因此,我们强烈建议你仅将默认配置用于测试和演示目的。
启动 Label Studio 后,你将看到标准登录 屏幕。
你可以首先使用你的电子邮件地址创建新账户,然后使用新凭据登录。
登录后,Label Studio 会定期警告你存储是临时的,如果 Space 重启,数据可能会丢失。
你还会看到来自 Heidi(Label Studio 的友好吉祥物)的提示,创建一个新项目以开始标注你的数据。
要开始使用,请查看 Label Studio "从零到一"教程,其中包含如何为情感分析构建标注界面的指南。
🛠️ 配置生产就绪的 Label Studio 实例
要使你的 Space 生产就绪,你需要进行三项配置更改:
-
禁用不受限制的新账户创建。
-
通过附加外部数据库启用持久化。
-
为标注任务附加云存储。
禁用不受限制的新账户创建
Label Studio 的默认配置允许任何拥有应用 URL 的人不受限制地创建新账户。你可以通过在 Space Settings 中添加以下配置密钥来限制注册。
-
LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK:将此值设置为true将禁用不受限制的账户创建。 -
LABEL_STUDIO_USERNAME:这是你将在 Label Studio Space 中用作第一个用户的账户用户名。它应该是有效的电子邮件地址。 -
LABEL_STUDIO_PASSWORD:将与第一个用户账户关联的密码。
重启 Space 以应用这些设置。从登录屏幕创建新账户的功能将被禁用。要创建新账户,你需要在 Label Studio 应用的 Organization 设置中邀请新用户。
启用配置持久化
默认情况下,此 Space 使用 SQLite 将所有项目配置和数据注释存储在本地存储中。如果 Space 被重置,Space 中的所有配置和注释数据将丢失。你可以通过将外部 Postgres 数据库连接到你的 Space来启用配置持久化,确保所有项目和注释设置都被保留。
设置以下密钥变量以匹配你自己的 Postgres 托管实例。我们强烈建议将这些设置为密钥,以防止在 Space 定义中向公众泄露有关数据库服务的信息。
-
DJANGO_DB:将其设置为default。 -
POSTGRE_NAME:将其设置为 Postgres 数据库的名称。 -
POSTGRE_USER:将其设置为 Postgres 用户名。 -
POSTGRE_PASSWORD:将其设置为 Postgres 用户的密码。 -
POSTGRE_HOST:将其设置为 Postgres 数据库运行的主机。 -
POSTGRE_PORT:将其设置为 Postgres 数据库运行的端口。 -
STORAGE_PERSISTENCE:将其设置为1以删除关于临时存储的警告。
重启 Space 以应用这些设置。有关用户、项目和注释的信息将存储在数据库中,如果 Space 重启或重置,Label Studio 将重新加载它们。
启用云存储
默认情况下,此 Space 启用的唯一数据存储是本地存储。如果 Space 被重置,所有数据将丢失。要启用永久存储,你必须启用云存储连接器。选择适当的云连接器并为其配置密钥。
Amazon S3
-
STORAGE_TYPE:将其设置为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:将其设置为空字符串。
Google Cloud 存储
-
STORAGE_TYPE:将其设置为gcs。 -
STORAGE_GCS_BUCKET_NAME:<YOUR_BUCKET_NAME> -
STORAGE_GCS_PROJECT_ID:<YOUR_PROJECT_ID> -
STORAGE_GCS_FOLDER:将其设置为空字符串。 -
GOOGLE_APPLICATION_CREDENTIALS:将其设置为/opt/heartex/secrets/key.json。
Azure Blob 存储
-
STORAGE_TYPE:将其设置为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:将其设置为空字符串。
🤗 下一步、反馈和支持
要开始使用 Label Studio,请查看 Label Studio "从零到一"教程,它引导你完成一个情感分析注释项目示例。你可以在 Label Studio 主页 上找到关于 Label Studio 和 Label Studio 社区的完整资源集。这包括完整文档、用于尝试不同注释界面的交互式 playground,以及加入 Label Studio Slack 社区 的链接。