文章目录
- 概述
- Lagent: 轻量级智能体框架
- Lagent Web Demo
- 用Lagent自定义工具
- AgentLego:组装智能体“乐高”
- 直接使用AgentLego
- 作为智能体工具使用AgentLego
- 用AgentLego自定义工具
- 参考资料
概述
Lagent是什么
一个轻量级开源智能体框架,提供了一些典型工具以增强大语言模型的能力,目前已支持包括 AutoGPT、ReAct 等在内的多个经典智能体范式
AgentLego是什么
一个提供了多种开源工具 API 的多模态工具包,提供了如下表展示的工具
Lagent和AgentLego的关系
Lagent 是一个智能体框架,而 AgentLego 是作为工具包,在相关智能体的功能支持模块发挥作用
Lagent: 轻量级智能体框架
Lagent Web Demo
- 使用LMDeploy部署:
lmdeploy serve api_server /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b --server-name 127.0.0.1 --model-name internlm2-chat-7b --cache-max-entry-count 0.1
- 使用Lagent Web Demo:
streamlit run internlm2_agent_web_demo.py --server.address 127.0.0.1 --server.port 7860
- lagent启动成功!
试验结果展示
用Lagent自定义工具
使用Lagent自定义工具的步骤
- 继承BaseAction类
- 实现简单工具的run方法,实现工具包内每个子工具的功能
- 简单工具的 run 方法可选被 tool_api 装饰;工具包内每个子工具的功能都需要被 tool_api 装饰
创建天气查询的工具文件->获取API KEY->使用LMDeploy部署服务->启动web-demo
AgentLego:组装智能体“乐高”
以目标检测工具为例
直接使用AgentLego
安装目标检测工具(基于 mmdet (MMDetection) 算法库中的 RTMDet-Large 模型)的依赖
pip install openmim==0.3.9
mim install mmdet==3.3.0
作为智能体工具使用AgentLego
使用LMDeploy进行api_server部署
api_server启动
lmdeploy serve api_server /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b --server-name 127.0.0.1 --model-name internlm2-chat-7b --cache-max-entry-count 0.1
启动AgentLego WebUI
使用AgentLego WebUI
配置Agent
配置Tools
结果展示
用AgentLego自定义工具
基于AgentLego自定义工具步骤
- 继承 BaseTool 类
- 修改 default_desc 属性(工具功能描述)
- 如有需要,重载 setup 方法(重型模块延迟加载)
- 重载 apply 方法(工具功能实现)
工具文件创建-> 注册新工具->使用AgentLego进行体验
“请帮我生成一幅描述山东威海的油画”
虽然效果不是那么好,但也是能看的,u1s1,这真的好像元宵喜乐会的网图啊!
参考资料
- Lagent & AgentLego 智能体应用搭建