工作区和数据集管理#
本指南解释了如何通过 Python 客户端在 Argilla 中设置和管理工作区。
注意
用于工作区管理的 Workspace
类已包含在 Argilla 1.11.0 版本中,并且在以前的版本中不可用。但是您将能够在较旧的 Argilla 实例(从 1.6.0 开始)中使用它,唯一的区别是主要角色现在是 owner
而不是 admin
。
工作区模型#
工作区是 Argilla 实例内的“空间”,授权用户可以在其中协作。它可以通过 UI 和 Python 客户端访问。
如果您是所有者,则可以在创建新用户时或使用 Workspace
类中的 add_user
方法将用户分配到工作区。
owner
拥有对工作区的完全访问权限,并且可以将其他用户分配到该工作区,而 admin
角色只能访问工作区但不能将其他用户分配到该工作区,annotator
角色只能访问他们所属工作区中分配给他们的数据集,并通过 UI 对其进行注释。
Argilla 工作区由以下属性组成
属性 |
类型 |
描述 |
---|---|---|
|
|
工作区的唯一标识符。 |
|
|
工作区的名称。 |
|
|
工作区创建的日期和时间。 |
|
|
工作区上次更新的日期和时间。 |
Python 客户端#
Python 客户端中的 Workspace
类为具有 owner
角色的开发者提供了在 Argilla 中创建和管理工作区以及属于它们的用户的能力。查看 工作区 - Python 参考 以查看 Workspace
类的属性、参数和方法。
Argilla 中的 Workspace
类由以下属性组成
属性 |
类型 |
描述 |
---|---|---|
|
|
工作区的唯一标识符。 |
|
|
工作区的名称。 |
|
|
属于工作区的用户列表。 |
|
|
工作区创建的日期和时间。 |
|
|
工作区上次更新的日期和时间。 |
如何使用工作区#
创建一个新的 Workspace
#
您可以使用 workspaces
组中的 create
命令在 Argilla 中创建一个新的工作区。
argilla workspaces create my-new-workspace
现在在 Argilla 中创建工作区就像调用 Workspace
类中的 create
方法一样容易。它将返回一个 Workspace
实例。
import argilla as rg
rg.init(api_url="<ARGILLA_API_URL>", api_key="<ARGILLA_API_KEY>")
workspace = rg.Workspace.create("new-workspace")
列出 Workspaces
#
具有 owner
角色的用户可以列出 Argilla 中的所有现有工作区,而具有 admin
角色或 annotator
角色的用户只能列出他们所属的工作区。
您可以使用 workspaces
组中的 list
命令列出 Argilla 中的工作区。
argilla workspaces list
您还可以使用 list
方法列出 Argilla 中的工作区。它将返回 Workspace
实例的列表。
import argilla as rg
rg.init(api_url="<ARGILLA_API_URL>", api_key="<ARGILLA_API_KEY>")
workspaces = rg.Workspace.list()
for workspace in workspaces:
...
按名称获取 Workspace
#
Python 客户端#
您可以使用 from_name
方法按名称获取工作区。它必须预先存在于 Argilla 中,否则将引发异常。
import argilla as rg
rg.init(api_url="<ARGILLA_API_URL>", api_key="<ARGILLA_API_KEY>")
workspace = rg.Workspace.from_name("new-workspace")
按 id 获取 Workspace
#
Python 客户端#
此外,如果您知道工作区的 id
,则可以使用 from_id
方法直接获取它。它必须预先存在于 Argilla 中,否则将引发异常。
注意
工作区的 id
是 UUID,它在您创建新工作区时自动生成。
import argilla as rg
rg.init(api_url="<ARGILLA_API_URL>", api_key="<ARGILLA_API_KEY>")
workspace = rg.Workspace.from_id("00000000-0000-0000-0000-000000000000")
从 Workspace
添加、列出或删除用户#
您可以使用 workspaces
组中的 add-user
和 delete-user
命令从工作区添加或删除用户。
argilla workspaces --name my-workspace add-user bob
argilla workspaces --name my-workspace delete-user bob
此外,您可以使用 users
组中的 list
命令和 --workspace
选项列出工作区的用户。
argilla users list --workspace my-workspace
从 Argilla 中的工作区实例化 Workspace
实例后,您可以从中添加、列出或删除用户。但请注意,只有 owner
具有执行这些操作的足够权限。
import argilla as rg
rg.init(api_url="<ARGILLA_API_URL>", api_key="<ARGILLA_API_KEY>")
workspace = rg.Workspace.from_name("new-workspace")
users = workspace.users
for user in users:
...
workspace.add_user(user.id)
workspace.delete_user(user.id)
删除 Workspace
#
Python 客户端#
您还可以使用 Python 客户端删除工作区。
注意
要删除工作区,不能有数据集链接到它。如果工作区包含任何数据集,则删除将失败。
注意
您可以参考下面的 删除数据集 部分,在删除工作区之前清除工作区。
import argilla as rg
rg.init(api_url="<ARGILLA_API_URL>", api_key="<ARGILLA_API_KEY>")
workspace = rg.Workspace.from_name("new-workspace")
workspace.delete()
数据集模型#
数据集是 Argilla 实例“记录”的容器。它提供了存储和管理数据的所有要求。您可以在 此处 找到有关数据集的概念和结构的更多信息。
在 Argilla UI 上,您可以看到您创建的所有数据集。数据集在工作区内创建,并且只能通过此特定工作区访问。根据项目,当您授予 owner
、admin
或 annotator
访问权限时,您还可以指定哪些角色可以访问每个数据集。
数据集的属性如下
属性 |
类型 |
描述 |
---|---|---|
|
|
数据集的唯一标识符。 |
|
|
数据集的名称。 |
|
|
数据集的唯一 URL。 |
|
|
数据集包含的 TextFields。 |
|
|
数据集包含的问题。 |
|
|
数据集具有的指南。 |
如何使用数据集#
您可以参考 CLI 页面 以获取有关如何在 CLI 上使用数据集的指导。
注意
要在 Python 上使用数据集,您需要使用 rg.init()
登录到 Argilla。
列出 Datasets
#
Python 客户端#
您可以使用 list()
方法列出特定工作区中的数据集,如下所示。要指定工作区,您可以使用 workspace
参数。否则,它将列出所有工作区中的所有数据集。
import argilla as rg
rg.init(api_url="<ARGILLA_API_URL>", api_key="<ARGILLA_API_KEY>")
dataset_list = rg.FeedbackDataset.list(workspace="admin")
for dataset in dataset_list:
print(dataset.name)
由于 list()
方法创建 RemoteFeedbackDataset
对象的列表,您可以直接处理列表中的每个项目。
删除 Datasets
#
Python 客户端#
您可以通过从服务器拉取数据集 from_argilla()
并调用 delete()
方法来删除任何数据集。
rg.FeedbackDataset.from_argilla("my_dataset", workspace="admin").delete()