跳到主要内容

agentchat.contrib.agent_builder

AgentBuilder

class AgentBuilder()

AgentBuilder 可以帮助用户构建一个由多代理系统驱动的自动任务解决过程。 具体来说,我们的构建流程包括初始化和构建。

__init__

def __init__(config_file_or_env: Optional[str] = "OAI_CONFIG_LIST",
config_file_location: Optional[str] = "",
builder_model: Optional[Union[str, list]] = [],
agent_model: Optional[Union[str, list]] = [],
builder_model_tags: Optional[list] = [],
agent_model_tags: Optional[list] = [],
max_agents: Optional[int] = 5)

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

参数:

  • config_file_or_env - OpenAI API配置的路径或环境。
  • builder_model - 指定一个模型作为构建管理器的主干。
  • agent_model - 指定一个模型作为参与者代理的骨干。
  • endpoint_building_timeout - 用于建立终端服务器的超时时间。
  • max_agents - 每个任务的最大代理数。

clear_agent

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

根据名称清除特定的代理程序。

参数:

  • agent_name - 代理的名称。
  • recycle_endpoint - 用于回收endpoint服务器的触发器。如果为true,当没有agent依赖时,endpoint将被回收。

清除所有代理

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

清除所有缓存的agents。

构建

def build(building_task: str,
default_llm_config: Dict,
list_of_functions: Optional[List[Dict]] = None,
coding: Optional[bool] = None,
code_execution_config: Optional[Dict] = None,
use_oai_assistant: Optional[bool] = False,
user_proxy: Optional[autogen.ConversableAgent] = None,
max_agents: Optional[int] = None,
**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等)。
  • list_of_functions - 与代理关联的函数列表
  • use_oai_assistant - 使用OpenAI助理API,而不是自建的代理。
  • user_proxy - 用户代理的类,可用于替换默认的用户代理。

返回:

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

从库构建

def build_from_library(
building_task: str,
library_path_or_json: str,
default_llm_config: Dict,
top_k: int = 3,
coding: Optional[bool] = None,
code_execution_config: Optional[Dict] = None,
use_oai_assistant: Optional[bool] = False,
embedding_model: Optional[str] = "all-mpnet-base-v2",
user_proxy: Optional[autogen.ConversableAgent] = None,
**kwargs) -> Tuple[List[autogen.ConversableAgent], Dict]

从库中构建代理。 该库是一个代理配置列表,其中包含每个代理的名称和系统消息。 我们使用构建管理器来决定该库中的哪些代理应该参与任务。

参数:

  • 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模型,用于从库中选择代理。作为参考,chromadb默认使用"all-mpnet-base-v2"。
  • user_proxy - 用户代理的类,可用于替换默认的用户代理。

返回:

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

保存

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

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

参数:

  • filepath - 保存路径。

返回:

  • filepath - 保存路径。

加载

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

加载构建配置并调用构建函数以完成构建,而无需调用在线LLMs的API。

参数:

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

返回:

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