如何为Autogen中'reflection_with_llm'摘要任务设置与Agent不同的模型?
问题描述
我在使用Autogen进行多轮对话时,有这样的需求:对话轮次(max_turns)较多且上下文规模较大,希望为my_agent配置低成本模型,同时让更智能/昂贵的模型执行最终的反思与摘要任务。目前我的initiate_chats参数配置如下:
# initiate_chats argument { "recipient": my_agent, "max_turns": 5, "message": f'Original Input Text:\n{message1}', "summary_args": { # ideally set model here that's different than my_agent's model }, "summary_method": "reflection_with_llm", }, # initiate_chats argument
请问如何在Autogen中实现这一需求?
实现方案
要实现“低成本模型执行对话、高成本模型做摘要反思”的需求,核心是在summary_args中传入独立的LLM配置,覆盖my_agent的默认模型设置,具体操作如下:
- 定义高成本模型的配置:提前创建针对昂贵/智能模型的
llm_config,包含模型名称、必要的认证信息或参数。 - 在
summary_args中指定该配置:将高成本模型的配置传入summary_args的llm_config字段,让reflection_with_llm方法使用这个指定模型生成摘要,而非my_agent的默认模型。
修改后的代码示例:
# 定义高成本智能模型的配置 premium_llm_config = { "model": "gpt-4o", # 替换为你实际使用的高成本模型 "api_key": "your-api-key", # 按需填写认证信息 "temperature": 0.1 # 可根据需求调整模型参数 } # 修改后的initiate_chats参数 { "recipient": my_agent, "max_turns": 5, "message": f'Original Input Text:\n{message1}', "summary_args": { "llm_config": premium_llm_config # 在这里指定高成本模型配置 }, "summary_method": "reflection_with_llm", },
关键说明
- Autogen的
reflection_with_llm摘要方法会优先使用summary_args中传入的llm_config,未指定时才会使用对话agent的默认模型配置。 my_agent的低成本模型配置不受摘要环节影响,两者的模型配置相互独立。- 确保
premium_llm_config的格式符合Autogen的LLM配置规范,比如模型名称需与平台提供的一致。
内容的提问来源于stack exchange,提问作者Nikita Fedyashev
相关产品推荐
相关产品推荐

