开源AI agent框架agere教程
agere,一个轻量级、开源的AI agent框架,专为通用性和可定制性设计,旨在简化构建复杂agent逻辑流程。它适用于驱动各类任务,无需依赖第三方库。agere基于拉丁语词根agere,意为“行动”或“做”,强调作为行动发起者或驱动者的角色。通过使用agere,你可以构建基于OpenAI GPT模型的对话agent,实现多轮对话和工具调用。
在本教程中,我们将构建一个使用agere的agent,基于OpenAI GPT模型,实现与用户的对话,并调用工具。首先,我们定义Job类,用于封装执行任务所需的资源。每个Job需包含一个task方法,负责具体的逻辑执行。我们创建了ChatJob,用于向GPT发送消息并接收回复。此Job将回复内容打包至ResponseJob,转交给下一个Job处理。
接着,我们定义了ResponseJob,将处理消息接收的任务作为handler执行。handler是一个函数或方法,可被装饰器处理,允许在其中使用self_handler参数,便于访问自身实例。我们利用handler解析GPT回复中的用户消息和工具调用消息,分别处理并返回给相应处理函数。
在流程中,我们使用LLMAsyncAdapter转换来自LLM的同步消息流至异步流,便于回调不同阶段的处理。流程中出现分叉,通过user_handler和function_call_handler分别处理用户消息和工具调用消息,形成环状流程。
为了实现对话的闭环,我们在ChatJob中设置回调函数,当任务完成时,启动下一轮对话。通过TaskNode状态管理,确保所有子任务完成时,父任务结束,实现对话循环。
构建完成后,我们使用commander执行Job任务流程,实现完整的对话agent。完整示例代码展示了Job、handler、回调及commander的使用,直观展示了agent运行流程。
agere框架的目标是简化agent逻辑流程,促进清晰性,方便未来拓展和修改。尽管代码量可能不显著减少,但通过聚焦核心逻辑和逻辑流程的清晰化,agere旨在提升agent构建的效率和可维护性。框架的通用性和可定制性使其保持轻量级,并避免依赖第三方库,确保构建过程的灵活性和自主性。
多重随机标签