Skip to main content

agentchat.contrib.agent_builder

AgentBuilder(代理构建器)

class AgentBuilder()

AgentBuilder 可以帮助用户构建由多智能体系统驱动的自动任务解决过程。 具体来说,我们的构建流程包括初始化和构建。 在构建中,我们提示一个LLM(语言模型)来创建多个参与者代理,并指定该任务是否需要编程来解决。 用户可以通过调用 save() 来保存构建的代理配置,并通过 load() 来加载保存的配置,这样可以跳过构建过程。

__init__

def __init__(config_file_or_env: Optional[str] = "OAI_CONFIG_LIST",
config_file_location: Optional[str] = "",
builder_model: Optional[str] = "gpt-4",
agent_model: Optional[str] = "gpt-4",
host: Optional[str] = "localhost",
endpoint_building_timeout: Optional[int] = 600,
max_tokens: Optional[int] = 945,
max_agents: Optional[int] = 5)

(这些API是实验性的,可能会在未来发生变化。)

参数

  • config_file_or_env - OpenAI API 配置文件的路径或环境变量。
  • builder_model - 指定一个模型作为构建管理器的基础。
  • agent_model - 指定一个模型作为参与者代理的基础。
  • host - 终端点主机。
  • endpoint_building_timeout - 构建终端点服务器的超时时间。
  • max_tokens - 每个代理的最大令牌数。
  • max_agents - 每个任务的最大代理数。

clear_agent

def clear_agent(agent_name: str, recycle_endpoint: Optional[bool] = True)

通过名称清除特定的代理。

参数

  • agent_name - 代理的名称。
  • recycle_endpoint - 触发回收终端点服务器的标志。如果为True,则在没有依赖于终端点的代理时,将回收终端点。

clear_all_agents

def clear_all_agents(recycle_endpoint: Optional[bool] = True)

清除所有缓存的代理。

build

def build(building_task: str,
default_llm_config: Dict,
coding: Optional[bool] = None,
code_execution_config: Optional[Dict] = None,
use_oai_assistant: Optional[bool] = False,
**kwargs) -> Tuple[List[autogen.ConversableAgent], Dict]

根据构建任务自动构建代理。

参数

  • building_task - 帮助构建管理器(gpt-4)决定应该构建哪个代理的指令。
  • coding - 用于标识是否添加用户代理(代码解释器)。
  • code_execution_config - 用户代理的特定配置(例如,last_n_messages,work_dir等)。
  • default_llm_config - LLM(语言模型)的特定配置(例如,config_list,seed,temperature等)。
  • use_oai_assistant - 使用OpenAI助手API而不是自构建的代理。

返回值

  • agent_list - 代理列表。
  • cached_configs - 缓存的配置。

build_from_library

def build_from_library(
building_task: str,
library_path_or_json: str,
default_llm_config: Dict,
coding: Optional[bool] = True,
code_execution_config: Optional[Dict] = None,
use_oai_assistant: Optional[bool] = False,
embedding_model: Optional[str] = None,
**kwargs) -> Tuple[List[autogen.ConversableAgent], Dict]

build_from_library 函数用于从库中构建对话代理。该函数接受以下参数:

  • building_task:构建任务的名称。
  • library_path_or_json:库的路径或 JSON 文件。
  • default_llm_config:默认的语言模型配置。
  • coding:是否进行编码,默认为 True
  • code_execution_config:代码执行配置的字典,默认为 None
  • use_oai_assistant:是否使用 OpenAI 助手,默认为 False
  • embedding_model:嵌入模型的名称,默认为 None
  • **kwargs:其他参数。

该函数返回一个元组,包含构建的对话代理列表和一个字典。 从一个库中构建代理。 该库是一个代理配置列表,包含每个代理的名称和系统消息。 我们使用一个构建管理器来决定库中的哪个代理应该参与任务。

参数

  • building_task - 帮助构建管理器(gpt-4)决定应该构建哪个代理的指令。
  • library_path_or_json - 代理库的路径或JSON字符串配置。
  • default_llm_config - LLM的特定配置(例如,config_list,seed,temperature等)。
  • coding - 用于标识是否应添加用户代理(代码解释器)。
  • code_execution_config - 用户代理的特定配置(例如,last_n_messages,work_dir等)。
  • use_oai_assistant - 使用OpenAI助手API而不是自构建代理。
  • embedding_model - 用于选择库中代理的嵌入相似性的Sentence-Transformers模型。 如果为None,则会提示选择代理的openai模型。作为参考,chromadb默认使用"all-mpnet-base-v2"。

返回值

  • agent_list - 代理列表。
  • cached_configs - 缓存的配置。

save

def save(filepath: Optional[str] = None) -> str

保存构建配置。如果未指定文件路径,则此函数将通过使用md5对building_task字符串进行加密,并添加"save_config_"前缀来创建文件名,并将配置保存到本地路径。

参数

  • filepath - 保存路径。

返回值

  • filepath - 保存的路径。

load

def load(filepath: Optional[str] = None,
config_json: Optional[str] = None,
use_oai_assistant: Optional[bool] = False,
**kwargs) -> Tuple[List[autogen.ConversableAgent], Dict]

加载构建配置并调用构建函数完成构建,而不调用在线LLM的API。

参数

  • filepath - 保存配置的文件路径或JSON字符串。
  • config_json - 保存配置的JSON字符串。
  • use_oai_assistant - 使用OpenAI助手API而不是自构建代理。

返回值

  • agent_list - 代理列表。
  • cached_configs - 缓存的配置。