camel.societies.workforce 包#
子模块#
camel.societies.workforce.base 模块#
camel.societies.workforce.prompts 模块#
camel.societies.workforce.role_playing_worker 模块#
- class camel.societies.workforce.role_playing_worker.RolePlayingWorker(description: str, assistant_role_name: str, user_role_name: str, assistant_agent_kwargs: Dict | None = None, user_agent_kwargs: Dict | None = None, chat_turn_limit: int = 3)[来源]#
基类:
Worker一个包含角色扮演的工作节点。
- Parameters:
description (str) – 节点的描述。
assistant_role_name (str) - 助手代理的角色名称。
user_role_name (str) - 用户代理的角色名称。
assistant_agent_kwargs (Optional[Dict], optional) – 用于初始化角色扮演中助手代理的关键字参数,例如模型名称等。默认为None。
user_agent_kwargs (Optional[Dict], optional) – 用于初始化角色扮演中用户代理的关键字参数,例如模型名称等。默认为None。
chat_turn_limit (int, optional) - 角色扮演中的最大对话轮次。默认为3。
camel.societies.workforce.single_agent_worker 模块#
camel.societies.workforce.task_channel 模块#
- class camel.societies.workforce.task_channel.Packet(task: 任务, publisher_id: str, assignee_id: str | None = None, status: PacketStatus = PacketStatus.SENT)[来源]#
基类:
object通道中的基本元素。一个任务被封装在数据包中。数据包将包含任务本身,以及任务的分配者和任务状态。
- Parameters:
task (Task) – 封装在数据包内的任务。
publisher_id (str) – 发布任务的劳动力ID。
assignee_id (str) - 分配给该任务的工作力ID。默认为None,表示该任务将作为依赖项发布在频道中。
- publisher_id#
发布任务的劳动力ID。
- Type:
字符串
- assignee_id#
分配给任务的劳动力ID。如果任务是依赖项,则为None。默认为None。
- Type:
可选[str], 可选
- status#
任务的状态。
- Type:
- class camel.societies.workforce.task_channel.PacketStatus(value)[来源]#
基础类:
Enum数据包的状态。数据包可能处于以下状态之一:
SENT: 数据包已发送给工作节点。RETURNED: 数据包已被工作节点返回,意味着其中任务的状态已被更新。ARCHIVED: 数据包已被归档,意味着其中的任务内容将不再更改。该任务被视为依赖项。
- ARCHIVED = 'ARCHIVED'#
- RETURNED = 'RETURNED'#
- SENT = 'SENT'#
camel.societies.workforce.utils 模块#
- class camel.societies.workforce.utils.TaskAssignResult(*, assignee_id: str)[来源]#
基类:
BaseModel任务分配的结果。
- assignee_id: str#
- model_config: ClassVar[ConfigDict] = {}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- class camel.societies.workforce.utils.TaskResult(*, content: str, failed: bool)[来源]#
基类:
BaseModel任务的结果。
- content: str#
- failed: bool#
- model_config: ClassVar[ConfigDict] = {}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]规范的字典。
camel.societies.workforce.worker 模块#
camel.societies.workforce.workforce 模块#
- class camel.societies.workforce.workforce.Workforce(description: str, children: List[BaseNode] | None = None, coordinator_agent_kwargs: Dict | None = None, task_agent_kwargs: Dict | None = None, new_worker_agent_kwargs: Dict | None = None)[来源]#
基类:
BaseNode一个由多个工作节点(代理)协同工作的系统,用于解决任务。它可以将任务分配给工作节点,并采取诸如创建新工作节点、分解任务等策略来处理任务失败的情况。
- Parameters:
description (str) – 节点的描述。
children (Optional[List[BaseNode]], optional) – 该节点下的子节点列表。每个子节点可以是工作节点或另一个劳动力节点。(默认:
None)coordinator_agent_kwargs (Optional[Dict], optional) – 协调器代理的关键字参数,例如 model, api_key, tools 等。如果未提供,将使用默认模型设置。(默认:
None)task_agent_kwargs (Optional[Dict], optional) – 任务代理的关键字参数,例如 model, api_key, tools 等。 如果未提供,将使用默认模型设置。 (默认:
None)new_worker_agent_kwargs (Optional[Dict]) - 用于运行时创建的worker agent的默认关键字参数,该agent用于处理失败任务,例如model、api_key、tools等。如果未提供,将使用默认模型设置。(默认值:
None)
- add_role_playing_worker(description: str, assistant_role_name: str, user_role_name: str, assistant_agent_kwargs: Dict | None = None, user_agent_kwargs: Dict | None = None, chat_turn_limit: int = 3) 劳动力[来源]#
向使用RolePlaying系统的工作集群添加一个工作节点。
- Parameters:
description (str) – 节点的描述。
assistant_role_name (str) - 助手代理的角色名称。
user_role_name (str) - 用户代理的角色名称。
assistant_agent_kwargs (Optional[Dict], optional) – 用于初始化角色扮演中助手代理的关键字参数,例如模型名称等。默认为None。
user_agent_kwargs (Optional[Dict], optional) – 用于初始化角色扮演中用户代理的关键字参数,例如模型名称等。默认为 None。
chat_turn_limit (int, optional) – 角色扮演中的最大聊天轮次数。默认为3。
- Returns:
工作节点本身。
- Return type:
- set_channel(channel: TaskChannel) None[来源]#
为该节点及其所有子节点设置通道。
模块内容#
- class camel.societies.workforce.RolePlayingWorker(description: str, assistant_role_name: str, user_role_name: str, assistant_agent_kwargs: Dict | None = None, user_agent_kwargs: Dict | None = None, chat_turn_limit: int = 3)[来源]#
基类:
Worker一个包含角色扮演的工作节点。
- Parameters:
description (str) – 节点的描述。
assistant_role_name (str) - 助手代理的角色名称。
user_role_name (str) - 用户代理的角色名称。
assistant_agent_kwargs (Optional[Dict], optional) – 用于初始化角色扮演中助手代理的关键字参数,例如模型名称等。默认为None。
user_agent_kwargs (Optional[Dict], optional) – 用于初始化角色扮演中用户代理的关键字参数,例如模型名称等。默认为None。
chat_turn_limit (int, optional) - 角色扮演中的最大对话轮次。默认为3。
- class camel.societies.workforce.SingleAgentWorker(description: str, worker: ChatAgent)[来源]#
基类:
Worker一个由单个代理组成的工作节点。
- Parameters:
description (str) – 节点的描述。
worker (ChatAgent) – 节点的Worker。一个单独的agent。
- class camel.societies.workforce.Workforce(description: str, children: List[BaseNode] | None = None, coordinator_agent_kwargs: Dict | None = None, task_agent_kwargs: Dict | None = None, new_worker_agent_kwargs: Dict | None = None)[来源]#
基类:
BaseNode一个由多个工作节点(代理)协同工作的系统,用于解决任务。它可以将任务分配给工作节点,并采取诸如创建新工作节点、分解任务等策略来处理任务失败的情况。
- Parameters:
description (str) – 节点的描述。
children (Optional[List[BaseNode]], optional) – 该节点下的子节点列表。每个子节点可以是工作节点或另一个劳动力节点。(默认:
None)coordinator_agent_kwargs (Optional[Dict], optional) - 用于协调器代理的关键字参数,例如 model、api_key、tools 等。如果未提供,将使用默认模型设置。(默认值:
None)task_agent_kwargs (Optional[Dict], optional) – 任务代理的关键字参数,例如 model, api_key, tools 等。 如果未提供,将使用默认模型设置。 (默认:
None)new_worker_agent_kwargs (Optional[Dict]) – 用于运行时创建的worker agent的默认关键字参数,该agent用于处理失败任务,例如model, api_key, tools等。如果未提供,将使用默认模型设置。(默认:
None)
- add_role_playing_worker(description: str, assistant_role_name: str, user_role_name: str, assistant_agent_kwargs: Dict | None = None, user_agent_kwargs: Dict | None = None, chat_turn_limit: int = 3) 劳动力[来源]#
向使用RolePlaying系统的工作集群添加一个工作节点。
- Parameters:
description (str) – 节点的描述。
assistant_role_name (str) - 助手代理的角色名称。
user_role_name (str) - 用户代理的角色名称。
assistant_agent_kwargs (Optional[Dict], optional) – 用于初始化角色扮演中助手代理的关键字参数,例如模型名称等。默认为None。
user_agent_kwargs (Optional[Dict], optional) – 用于初始化角色扮演中用户代理的关键字参数,例如模型名称等。默认为None。
chat_turn_limit (int, optional) – 角色扮演中的最大聊天轮次数。默认为3。
- Returns:
工作节点本身。
- Return type:
- set_channel(channel: TaskChannel) None[来源]#
为该节点及其所有子节点设置通道。