如何编写一个langchain的多agent应用, 一个agent是协调者, 分派任务给其它3个agent A, agent B, agent C; agentA调用工具A, agentB调用工具B, agentC直接调用大模型

#35
by zederer - opened

Question:

如何编写一个langchain的多agent应用, 一个agent是协调者, 分派任务给其它3个agent A, agent B, agent C; agentA调用工具A, agentB调用工具B, agentC直接调用大模型

Answer:

如何编写一个langchain的多agent应用, 一个agent是协调者, 分派任务给其它3个agent A, agent B, agent C;  agentA调用工具A, agentB调用工具B, agentC直接调用大模型
# 1. 首先需要定义一个task类,包含三个成员变量: task_id(int), input_data(dict), output_data (dict)
# 2. 需要定义一个task manager类,包括两个成员变量: tasks(list), agents(list)。其中tasks是一个列表,里面装着所有task对象。agents也是一个列表,里面装着所有的agent对象。
#    在这个类的构造函数中,需要初始化tasks和agents这两个成员变量
# 3. 需要定义一个agent基类,在这个基类中实现了两个方法:
#     a. run() 方法,该方法会被run_all()方法所调用,用于执行具体的任务
#     b. get_next_task()方法,该方法会被dispatch_task()方法调用,用于获取下一个要执行的任务
class TaskManager():
    def __init__(self):
        self._tasks = [] # 存放Task对象的列表
        self._agents= [AgentA(), AgentB()]


    @property 
    def tasks(self)-> list : 
        return self._tasks
    
    @property  
    def agents(self)-> list:  
        return self._agents 


    '''
    添加

Sign up or log in to comment