在《快速构建单体智能体》中我们我们已经快速构建并运行了单体智能体,在本章节我们将进一步将其拆分成多个智能体协作的方式。
样板工程地址:demo_startup_app_with_multi_agents
对于比较复杂的场景,单智能可能不足以完成任务,需要多个智能体协作。
以样板工程的保险问答为例,由于用户的问题可能比较发散,单智能体的回答有时候会产生偏离。在部分专家经验的驱动下,对于这种场景我们将其拆分为策划、执行与表达3个智能体,并使用保险智能顾问智能体将其串联。
使用单体智能体构建章节中所获得的经验,我们分别建立策划、执行与表达3个智能体
策划智能体(拆解问题): question_rewrite_agent.yaml
执行智能体: question_planning_agent.yaml
表达智能体: insurance_expressing_agent.yaml
主智能体将几个智能体和工具按照一定的逻辑串接起来,这里要注意的是参数的传递,agent_input作为线程上下文可以存储中间产物给后面的智能体使用,每个智能体的出入参字段是可以按照需求自定义,建议不要重复。
运行 insurance_consult_pro_agent_test.py
原问题改写后的问题是:
如何将保险产品A的基础版升级到升级版或尊享版?升级的具体流程和条件是什么?
智能体 question_planning_agent 执行结果为:
{
"sub_query_list": [
"如何从保险产品A的基础版升级到更高版本?",
"保险产品A升级版和尊享版的升级流程是什么?",
"保险产品A升级时是否有额外的费用或条件需要满足?"
]
}
insurance_consult_agent 最终执行结果:
保险产品A在保障期间内不支持直接升级。如果您想要从当前的基础版升级到升级版或尊享版,需要在当前保险期结束后,重新选择更高版本的保险产品进行投保。
请注意,升级时可能会有不同的保费标准,具体费用需依据您投保时的年龄和所选版本确定。