跳到内容

工作空间管理

本指南概述了工作空间,解释了如何在 Argilla 中设置和管理工作空间。

工作空间是 Argilla 实例中的一个空间,授权用户可以在其中协作处理数据集。它可以通过 Python SDK 和 UI 访问。

问题:谁可以管理工作空间?

只有具有 owner 角色的用户才能管理(创建、读取和删除)工作空间。

具有 admin 角色的用户只能读取其所属的工作空间。

初始工作空间

根据您的 Argilla 部署方式,初始工作空间会有所不同。

  • 如果您在 Hugging Face Hub 上部署,则初始工作空间将是在 .oauth.yaml 文件中指定的那个。默认情况下,是 argilla
  • 如果您使用 Docker 部署,您将需要创建一个工作空间,如下一节所示。

主要类

rg.Workspace(
    name = "name",
    client=client
)

查看 Workspace - Python 参考文档,详细了解 Workspace 类的属性、参数和方法。

创建新的工作空间

要在 Argilla 中创建新的工作空间,您可以在 Workspace 类中定义它,然后调用 create 方法。此方法继承自 Resource 基类,并且操作没有修改。

当您创建一个新的工作空间时,它将是空的。要创建和添加新的数据集,请查看这些 指南

import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")

workspace_to_create = rg.Workspace(name="my_workspace")

created_workspace = workspace_to_create.create()

访问属性

通过直接在 Workspace 对象上调用属性来访问工作空间的属性。例如,workspace.idworkspace.name

列出工作空间

您可以通过调用 Argilla 类上的 workspaces 属性并对其进行迭代来列出 Argilla 中的所有现有工作空间。您还可以使用 len(client.workspaces) 来获取工作空间的数量。

import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")

workspaces = client.workspaces

for workspace in workspaces:
    print(workspace)

Notebooks

当使用 notebook 时,执行 client.workspaces 将显示一个表格,其中包含每个工作空间中的数据集数量、名称、ID 以及上次更新时间 updated_at

检索工作空间

您可以通过访问 Argilla 类上的 workspaces 方法并传递工作空间的名称或 ID 作为参数来检索工作空间。如果工作空间不存在,将引发警告消息并返回 None

import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")

retrieved_workspace = client.workspaces("my_workspace")
import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")

retrieved_workspace = client.workspaces(id="<uuid-or-uuid-string>")

检查工作空间是否存在

您可以检查工作空间是否存在。如果未找到工作空间,client.workspaces 方法将返回 None

import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")

workspace = client.workspaces("my_workspace")

if workspace is not None:
    pass

列出工作空间中的用户

您可以通过访问 Workspace 类上的 users 属性并对其进行迭代来列出工作空间中的所有用户。您还可以使用 len(workspace.users) 来获取每个工作空间的用户数量。

有关如何管理用户的更多信息,请查看此操作指南

import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")

workspace = client.workspaces('my_workspace')

for user in workspace.users:
    print(user)

向工作空间添加用户

您还可以通过调用 Workspace 类上的 add_user 方法向工作空间添加用户。

有关如何管理用户的更多信息,请查看此操作指南

import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")

workspace = client.workspaces("my_workspace")

added_user = workspace.add_user("my_username")

从工作空间移除用户

您还可以通过调用 Workspace 类上的 remove_user 方法从工作空间移除用户。

有关如何管理用户的更多信息,请查看此操作指南

import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")

workspace = client.workspaces("my_workspace")

removed_user = workspace.remove_user("my_username")

删除工作空间

要删除工作空间,不能有任何数据集与之关联。如果工作空间包含任何数据集,删除将失败。您可以通过调用 Workspace 类上的 delete 方法来删除工作空间。

要清除工作空间并删除其所有数据集,请参阅此操作指南

import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")

workspace_to_delete = client.workspaces("my_workspace")

deleted_workspace = workspace_to_delete.delete()