一个开源的轻量级agent框架-Agere
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
Datawhale干货
推荐人:happyapplehorse,Datawhale学习者
简介
agere是一个开源的轻量级agent框架,特点在于通用性和可定制性。它通过Job和handler作为任务节点类型,将复杂流程拆解为独立的步骤。这种任务节点构成树状结构可跟踪任务关系和状态,并支持callback。agere采用边节点模式,即节点和边放在一起,这提高了逻辑连贯性和参数传递的灵活性。同时,agere还允许多任务并行,通过callback控制任务状态,以及对节点不同状态连接边,使得节点间参数传递更灵活。
agere的安装简单,无第三方依赖,通过pip install agere即可完成。它的设计强调通用性,不限制使用任何工具或特定接口,与其他工具协同集成简便。agere自身不提供具体功能,主要用于流程驱动,但可以很容易地调用如langchain或semantic kernel的工具。
agere中的基本概念
agere中的TaskNode是任务节点,包括Commander、Job和handler。这些节点追踪父子关系和完成状态,构成树状结构。Job封装具体任务和资源,handler是可以调用的函数或方法,而Commander负责自动调度和执行任务。callback是在TaskNode节点不同状态可触发的回调函数。
示例
构建一个使用OpenAI GPT模型的聊天agent,可以同时发送消息和调用工具。定义ChatJob和ResponseJob,以及response_handler、user_handler和tool_call_handler。ResponseJob结束时通过callback触发下一轮对话,最后由commander执行。
agere的更多信息和示例可以在GitHub和文档页查看,并欢迎贡献意见或建议。
想要了解更多内容?
白皮书上线