camel.tasks 包#
子模块#
camel.tasks.task 模块#
- class camel.tasks.task.Task(*, content: str, id: str = '', state: TaskState = TaskState.OPEN, type: str | None = None, parent: 任务 | None = None, subtasks: List[任务] = [], result: str | None = '', failure_count: int = 0, additional_info: str | None = None)[来源]#
基类:
BaseModel任务是可以传递给代理的具体工作。
- content#
任务字符串内容。
- Type:
字符串
- id#
任务的唯一字符串标识符。这应该
- Type:
字符串
- ideally be provided by the provider/model which created the task.
- state#
状态应为 OPEN、RUNNING、DONE 或 DELETED。
- type#
任务类型
- Type:
字符串 | 无
- parent#
父任务,根任务为None。
- Type:
- subtasks#
该任务的子任务。
- Type:
- result#
任务的答案。
- Type:
字符串 | 无
- additional_info: str | None#
- compose(agent: ChatAgent, template: TextPrompt = 'As a Task composer with the role of {role_name}, your objective is to gather result from all sub tasks to get the final answer.\nThe root task is:\n\n{content}\n\nThe additional information of the task is:\n\n{additional_info}\n\nThe related tasks result and status:\n\n{other_results}\n\nso, the final answer of the root task is: \n', result_parser: Callable[[str], str] | None = None)[来源]#
根据子任务组合任务结果。
- Parameters:
agent (ChatAgent) - 用于组合任务结果的代理。
template (TextPrompt, optional) - 用于组合任务的提示模板。如果未提供,将使用默认模板。
result_parser (Callable[[str, str], List[Task]], optional) – 一个用于从响应中提取Task的函数。
- content: str#
- decompose(agent: ~camel.agents.chat_agent.ChatAgent, prompt: str | None = None, task_parser: ~typing.Callable[[str, str], ~typing.List[~camel.tasks.task.Task]] = <function parse_response>) List[任务][来源]#
将一个任务分解为一系列子任务。可用于数据生成和智能体规划。
- failure_count: int#
- classmethod from_message(message: BaseMessage) 任务[来源]#
从消息创建任务。
- Parameters:
message (BaseMessage) – 发送给任务的消息。
- Returns:
任务
- get_result(indent: str = '') str[来源]#
获取任务结果到字符串。
- Parameters:
indent (str) – 用于分层任务的缩进标识。
- Returns:
可打印的任务字符串。
- Return type:
字符串
- id: str#
- model_config: ClassVar[ConfigDict] = {}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- result: str | None#
- to_string(indent: str = '', state: bool = False) str[来源]#
将任务转换为字符串。
- Parameters:
indent (str) - 用于分层任务的缩进标识。
state (bool) - 是否包含任务状态。
- Returns:
可打印的任务字符串。
- Return type:
字符串
- type: str | None#
- class camel.tasks.task.TaskManager(task: 任务)[来源]#
基类:
objectTaskManager 用于管理任务。
- root_task#
根任务。
- tasks#
已排序的任务。
- task_map#
一个从task.id到Task的映射表。
- current_task_id#
当前“RUNNING”任务的ID。
- Parameters:
任务 (Task) – 根任务。
- evolve(task: 任务, agent: ChatAgent, template: TextPrompt | None = None, task_parser: Callable[[str, str], List[任务]] | None = None) 任务 | None[来源]#
- Evolve a task to a new task.
Evolve仅用于数据生成。
- Parameters:
task (Task) – 给定的任务。
agent (ChatAgent) – 用于演进任务的代理。
template (TextPrompt, optional) – 用于演化任务的提示模板。 如果未提供,将使用默认模板。
task_parser (Callable, optional) – 用于从响应中提取Task的函数。如果未提供,将使用默认解析器。
- Returns:
创建的
Task实例或 None。- Return type:
camel.tasks.task_prompt 模块#
模块内容#
- class camel.tasks.Task(*, content: str, id: str = '', state: TaskState = TaskState.OPEN, type: str | None = None, parent: 任务 | None = None, subtasks: List[任务] = [], result: str | None = '', failure_count: int = 0, additional_info: str | None = None)[来源]#
基类:
BaseModel任务是可以传递给代理的具体工作。
- content#
任务字符串内容。
- Type:
字符串
- id#
任务的唯一字符串标识符。这应该
- Type:
字符串
- ideally be provided by the provider/model which created the task.
- state#
状态应为 OPEN、RUNNING、DONE 或 DELETED。
- type#
任务类型
- Type:
字符串 | 无
- result#
任务的答案。
- Type:
字符串 | 无
- additional_info: str | None#
- compose(agent: ChatAgent, template: TextPrompt = 'As a Task composer with the role of {role_name}, your objective is to gather result from all sub tasks to get the final answer.\nThe root task is:\n\n{content}\n\nThe additional information of the task is:\n\n{additional_info}\n\nThe related tasks result and status:\n\n{other_results}\n\nso, the final answer of the root task is: \n', result_parser: Callable[[str], str] | None = None)[来源]#
根据子任务组合任务结果。
- Parameters:
agent (ChatAgent) - 用于组合任务结果的代理。
template (TextPrompt, optional) – 用于组合任务的提示模板。如果未提供,将使用默认模板。
result_parser (Callable[[str, str], List[Task]], optional) – 一个从响应中提取Task的函数。
- content: str#
- decompose(agent: ~camel.agents.chat_agent.ChatAgent, prompt: str | None = None, task_parser: ~typing.Callable[[str, str], ~typing.List[~camel.tasks.task.Task]] = <function parse_response>) List[任务][来源]#
将一个任务分解为一系列子任务。可用于数据生成和智能体规划。
- failure_count: int#
- classmethod from_message(message: BaseMessage) 任务[来源]#
从消息创建任务。
- Parameters:
message (BaseMessage) – 发送给任务的消息。
- Returns:
任务
- get_result(indent: str = '') str[来源]#
获取任务结果到字符串。
- Parameters:
indent (str) – 用于分层任务的缩进标识。
- Returns:
可打印的任务字符串。
- Return type:
字符串
- id: str#
- model_config: ClassVar[ConfigDict] = {}#
模型的配置,应该是一个符合[ConfigDict][pydantic.config.ConfigDict]的字典。
- result: str | None#
- to_string(indent: str = '', state: bool = False) str[来源]#
将任务转换为字符串。
- Parameters:
indent (str) - 用于分层任务的缩进标识。
state (bool) - 是否包含任务状态。
- Returns:
可打印的任务字符串。
- Return type:
字符串
- type: str | None#
- class camel.tasks.TaskManager(task: 任务)[来源]#
基类:
objectTaskManager 用于管理任务。
- root_task#
根任务。
- tasks#
已排序的任务。
- task_map#
一个从task.id到Task的映射表。
- current_task_id#
当前“RUNNING”任务的ID。
- Parameters:
任务 (Task) – 根任务。
- evolve(task: 任务, agent: ChatAgent, template: TextPrompt | None = None, task_parser: Callable[[str, str], List[任务]] | None = None) 任务 | None[来源]#
- Evolve a task to a new task.
Evolve仅用于数据生成。
- Parameters:
task (Task) – 给定的任务。
agent (ChatAgent) – 用于演进任务的代理。
template (TextPrompt, optional) – 用于演化任务的提示模板。 如果未提供,将使用默认模板。
task_parser (Callable, optional) – 用于从响应中提取Task的函数。如果未提供,将使用默认解析器。
- Returns:
创建的
Task实例或 None。- Return type: