工作区#

在此,我们描述如何通过 Python 客户端管理 Argilla 中的工作区。

class argilla.client.workspaces.Workspace(name=None, *, id=None)#

Workspace 类用于管理 Argilla 中的工作区。它提供了创建新工作区、向其添加用户、列出链接用户以及从工作区删除用户的方法。 虽然不允许删除工作区,也不允许更新工作区名称。

参数:
  • name (Optional[str]) – 要管理的工作区的名称。默认为 None。

  • id (Optional[Union[str, UUID]]) – 要管理的工作区的 ID。默认为 None。

_client#

初始化用于与 Argilla API 交互的 httpx.Client

类型:

httpx.Client

id#

工作区的 ID。

类型:

uuid.UUID

name#

工作区的名称。

类型:

str

users#

链接到工作区的用户列表。默认为 None。

类型:

Optional[List[UserModel]]

inserted_at#

创建工作区的日期时间。

类型:

datetime.datetime

updated_at#

上次更新工作区的日期时间。

类型:

datetime.datetime

示例

>>> from argilla import rg
>>> workspace = rg.Workspace.from_name("my-workspace") # or `Workspace.from_id("...")`
>>> workspace.add_user("my-user")
>>> print(workspace.users)
[UserModel(id='...', first_name='Luke', last_name="Skywalker', full_name='Luke Skywalker', username='my-user', role='annotator', workspaces=['my-workspace'], api_key='...', inserted_at=datetime.datetime(2021, 8, 31, 10, 0, 0), updated_at=datetime.datetime(2021, 8, 31, 10, 0, 0))]
>>> workspace.delete_user("my-user")
>>> print(workspace.users)
[]
add_user(user_id)#

将现有用户添加到 Argilla 中的工作区。

请注意,具有 owner 角色的用户被排除在 add_user 方法之外,因为他们是超级用户,可以访问 Argilla 中的所有工作区和数据集。

参数:

user_id (UUID) – 要添加到工作区的用户的 ID。用户必须存在于 Argilla 中。

Raises:
  • ValueError – 如果提供的 ID 的用户在 Argilla 中不存在,或者已存在于工作区中。

  • RuntimeError – 如果在从 Argilla 获取用户或将用户添加到工作区时出现错误。

Return type:

None

示例

>>> from argilla import rg
>>> workspace = rg.Workspace.from_name("my-workspace")
>>> workspace.add_user("my-user-id")
classmethod create(name)#

在 Argilla 中创建新的工作区。

参数:

name (str) – 要创建的工作区的名称。

Raises:

ValueError – 如果具有提供的名称的工作区已存在。

Returns:

一个 Workspace 实例。

Return type:

Workspace

示例

>>> from argilla import rg
>>> workspace = rg.Workspace.create("my-workspace")
delete()#

从 Argilla 中删除现有工作区。请注意,工作区不能有任何链接的数据集才能从 Argilla 中删除。否则,将引发错误。

Raises:
  • ValueError – 如果工作区不存在或某些数据集链接到它。

  • RuntimeError – 如果在从工作区删除用户时发生意外错误。

Return type:

None

示例

>>> from argilla import rg
>>> workspace = rg.Workspace.from_name("my-workspace")
>>> workspace.delete()
delete_user(user_id)#

从 Argilla 中的工作区删除现有用户。请注意,用户不会从 Argilla 中删除,而只是从工作区中删除。

请注意,具有 owner 角色的用户被排除在 delete_user 方法之外,因为他们是超级用户,可以访问 Argilla 中的所有工作区和数据集。

参数:

user_id (UUID) – 要从工作区删除的用户的 ID。用户必须存在于 Argilla 中。

Raises:
  • ValueError – 如果提供的 ID 的用户在工作区或 Argilla 中不存在。

  • RuntimeError – 如果在从 Argilla 检索用户或从工作区删除用户时出现错误。

Return type:

None

示例

>>> from argilla import rg
>>> workspace = rg.Workspace.from_name("my-workspace")
>>> workspace.delete_user("my-user-id")
classmethod from_id(id)#

通过 ID 从 Argilla 获取现有工作区。

参数:

id (UUID) – 要检索的工作区的 ID。

Returns:

一个 Workspace 实例。

Raises:
  • ValueError – 如果提供的 ID 的工作区不存在,或者它不是有效的 UUID 标识符。

  • RuntimeError – 如果在检索工作区时出现错误。

Return type:

Workspace

示例

>>> from argilla import rg
>>> workspace = rg.Workspace.from_id("my-workspace-id")
classmethod from_name(name)#

通过名称从 Argilla 获取现有工作区。

参数:

name (str) – 要检索的工作区的名称。

Returns:

一个 Workspace 实例。

Raises:
  • RuntimeError – 如果在列出工作区时出现错误。

  • ValueError – 如果具有提供的名称的工作区不存在。

Return type:

Workspace

示例

>>> from argilla import rg
>>> workspace = rg.Workspace.from_name("my-workspace")
classmethod list()#

列出 Argilla 中的所有工作区。

Returns:

一个 Workspace 实例列表。

Raises:

RuntimeError – 如果在列出工作区时出现错误。

Return type:

Iterator[Workspace]

示例

>>> from argilla import rg
>>> workspaces = rg.Workspace.list()
property users: List[UserModel]#

返回链接到工作区的用户列表。

Returns:

一个 UserModel 实例列表。