工作区#
在此,我们描述如何通过 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:
示例
>>> 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:
示例
>>> 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:
示例
>>> 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 实例列表。