camel 包#

子包#

子模块#

camel.generators 模块#

class camel.generators.AISocietyTaskPromptGenerator(num_tasks: int = 10)[来源]#

基类:object

AI社会任务的任务提示生成器。

Parameters:

num_tasks (int, optional) – 要生成的任务数量。 (默认值: 10)

from_role_files(assistant_role_names_path: str = 'data/ai_society/assistant_roles.txt', user_role_names_path: str = 'data/ai_society/user_roles.txt') Generator[Tuple[str, Tuple[str, str]], None, None][来源]#

从角色文件生成任务。

Parameters:
  • assistant_role_names_path (str, optional) – 包含助手角色名称的文件路径。 (默认值: "data/ai_society/assistant_roles.txt")

  • user_role_names_path (str, optional) – 包含用户角色名称的文件路径。 (默认: "data/ai_society/user_roles.txt")

Returns:

生成器

生成任务提示和角色名称的元组。

Return type:

生成器[元组[字符串, 元组[字符串, 字符串]], 无, 无]

from_role_generator(role_generator: Generator[Tuple, None, None]) Generator[Tuple[str, Tuple[str, str]], None, None][来源]#

从角色生成器生成任务。

Parameters:

role_generator (Generator[Tuple, None, None]) – 一个生成器,用于生成角色名称的元组。

Returns:

生成器

产生任务提示和角色名称的元组。

Return type:

Generator[Tuple[str, Tuple[str, str]], None, None]

class camel.generators.CodeTaskPromptGenerator(num_tasks: int = 50)[来源]#

基类:object

代码任务提示生成器,用于代码任务。

Parameters:

num_tasks (int, optional) – 要生成的任务数量。 (默认值: 50)

from_role_files(languages_path: str = 'data/code/languages.txt', domains_path: str = 'data/code/domains.txt') Generator[Tuple[TextPrompt, str, str], None, None][来源]#

从角色文件生成任务。

Parameters:
  • languages_path (str, optional) – 包含语言名称的文件路径。(默认: "data/code/languages.txt")

  • domains_path (str, optional) – 包含域名文件的路径。(默认: "data/code/domains.txt")

Returns:

生成器

生成包含任务提示、语言名称和领域名称的元组。

Return type:

生成器[元组[TextPrompt, 字符串, 字符串], 无, 无]

from_role_generator(role_generator: Generator[Tuple, None, None]) Generator[str, None, None][来源]#

从角色生成器生成任务。

Parameters:

role_generator (Generator[Tuple, None, None]) – 一个生成器,用于生成角色名称的元组。

Returns:

一个生成任务提示的生成器

提示。

Return type:

生成器[str, None, None]

class camel.generators.RoleNameGenerator(assistant_role_names_path: str = 'data/ai_society/assistant_roles.txt', user_role_names_path: str = 'data/ai_society/user_roles.txt', assistant_role_names: List[str] | None = None, user_role_names: List[str] | None = None)[来源]#

基类:object

角色扮演工作者的角色名称生成器。

Parameters:
  • assistant_role_names_path (str, optional) – 包含助手角色名称的文件路径。 (默认: "data/ai_society/assistant_roles.txt")

  • user_role_names_path (str, optional) – 包含用户角色名称的文件路径。 (默认值: "data/ai_society/user_roles.txt")

  • assistant_role_names (Optional[List[str]], optional) – 助手角色名称列表。(默认: None)

  • user_role_names (可选[列表[字符串]], 可选) – 用户角色名称列表。(默认值: None)

from_role_files() Generator[Tuple, None, None][来源]#

从文件中生成角色名称。

Returns:

一个生成器,产生包含以下内容的元组:

助手角色名称和用户角色名称。

Return type:

生成器[元组, 无, 无]

class camel.generators.SingleTxtGenerator(text_file_path: str)[来源]#

基类:object

用于角色扮演工作者的单一文本生成器。

Parameters:

text_file_path (str) – 包含文本数据的文件路径。

from_role_files() Generator[str, None, None][来源]#

从文件生成文本。

Returns:

一个生成文本数据的生成器。

Return type:

生成器[str, None, None]

class camel.generators.SystemMessageGenerator(task_type: 任务类型 = TaskType.AI_SOCIETY, sys_prompts: Dict[角色类型, str] | None = None, sys_msg_meta_dict_keys: Set[str] | None = None)[来源]#

基类:object

面向智能体的系统消息生成器。

Parameters:
  • task_type (TaskType, optional) – 任务类型。 (默认: TaskType.AI_SOCIETY)

  • sys_prompts (Optional[Dict[RoleType, str]], optional) – 每个角色类型的系统消息提示语。(默认: None)

  • sys_msg_meta_dict_keys (Optional[Set[str]], optional) – 用于填充提示的元数据字典的键集合。 (默认值: None)

from_dict(meta_dict: Dict[str, str], role_tuple: Tuple[str, 角色类型] = ('', RoleType.DEFAULT)) BaseMessage[来源]#

从字典生成系统消息。

Parameters:
  • meta_dict (Dict[str, str]) – 包含生成系统消息所需信息的字典。

  • role_tuple (Tuple[str, RoleType], optional) – 包含角色名称和角色类型的元组。(默认值: ("", RoleType.DEFAULT))

Returns:

生成的系统消息。

Return type:

BaseMessage

from_dicts(meta_dicts: List[Dict[str, str]], role_tuples: List[Tuple[str, 角色类型]]) List[BaseMessage][来源]#

从字典列表中生成系统消息列表。

Parameters:
  • meta_dicts (List[Dict[str, str]]) - 包含用于生成系统消息信息的字典列表。

  • role_tuples (List[Tuple[str, RoleType]]) - 一个包含每个系统消息的角色名称和角色类型的元组列表。

Returns:

生成的系统消息列表。

Return type:

列表[BaseMessage]

Raises:

ValueError - 如果meta_dicts和role_tuples的数量不一致。

validate_meta_dict_keys(meta_dict: Dict[str, str]) None[来源]#

验证meta_dict的键。

Parameters:

meta_dict (Dict[str, str]) – 要验证的字典。

camel.human 模块#

class camel.human.Human(name: str = 'Kill Switch Engineer', logger_color: Any = '\x1b[35m')[来源]#

基类:object

一个表示人类用户的类。

Parameters:
  • name (str) – 人类用户的名称。 (默认: "Kill Switch Engineer").

  • logger_color (Any) – 显示给用户的菜单选项的颜色。(默认: Fore.MAGENTA)

name#

人类用户的名称。

Type:

字符串

logger_color#

向用户显示的菜单选项的颜色。

Type:

任何

input_button#

输入按钮上显示的文本。

Type:

字符串

kill_button#

终止按钮上显示的文本。

Type:

字符串

options_dict#

一个包含展示给用户的选项的字典。

Type:

字典[字符串, 字符串]

display_options(messages: Sequence[BaseMessage]) None[来源]#

向用户显示选项。

Parameters:

messages (Sequence[BaseMessage]) – 一个BaseMessage对象的列表。

Returns:

get_input() str[来源]#

获取用户的输入。

Returns:

用户的输入。

Return type:

字符串

parse_input(human_input: str) str[来源]#

解析用户的输入并返回一个BaseMessage对象。

Parameters:

human_input (str) – 用户的输入。

Returns:

一个表示用户输入的str对象。

Return type:

内容

reduce_step(messages: Sequence[BaseMessage]) ChatAgentResponse[来源]#

通过向用户展示选项、获取输入并解析其选择,执行对话的一个步骤。

Parameters:

messages (Sequence[BaseMessage]) – 一个BaseMessage对象列表。

Returns:

一个表示ChatAgentResponse的对象

用户的选择。

Return type:

ChatAgentResponse

模块内容#

camel.disable_logging()[来源]#

禁用CAMEL库的所有日志记录。

此函数将日志级别设置为高于CRITICAL的值, 实际上禁用所有日志消息,并添加一个NullHandler来 抑制关于未找到处理程序的任何潜在警告。

camel.enable_logging()[来源]#

启用CAMEL库的日志记录功能。

如果之前禁用了日志记录,此函数会重新启用日志记录,并使用默认设置配置库的日志记录。如果日志记录已经配置,

此函数不会更改其配置。

camel.set_log_level(level)[来源]#

设置CAMEL库的日志记录级别。

Parameters:

level (Union[str, int]) – The logging level to set. This can be a string (e.g., ‘INFO’) or a logging level constant (e.g., logging.INFO, logging.DEBUG). See https://docs.python.org/3/library/logging.html#levels

Raises:

ValueError - 如果提供的日志级别无效。