概述

Lagent是一个轻量级的开源智能体框架,主要用于构建基于大型语言模型(LLM)的代理。这个框架允许用户高效地开发和部署各种类型的智能体,如聊天机器人、搜索引擎、代码生成器等。
Lagent提供了一系列工具和功能,以增强大型语言模型的能力,使得开发者可以更容易地将这些模型转化为实际可用的智能体。例如,它支持多种经典的智能体范式,如AutoGPT和ReAct,并提供了如Arxiv这样的工具来增强模型的功能。
AgentLego 是一个提供了多种开源工具 API 的多模态工具包,旨在像是乐高积木一样,让用户可以快速简便地拓展自定义工具,从而组装出自己的智能体。通过 AgentLego 算法库,不仅可以直接使用多种工具,也可以利用这些工具,在相关智能体框架(如 Lagent,Transformers Agent 等)的帮助下,快速构建可以增强大语言模型能力的智能体。

操作步骤

首先依旧是创建虚拟环境,这里主要注意的是要选择30%的A100,不然就会出现以下报错

Exception in thread Thread-1 (_create_weight_func):
Traceback (most recent call last):
File "/root/.conda/envs/agent/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
self.run()
File "/root/.conda/envs/agent/lib/python3.10/threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "/root/.conda/envs/agent/lib/python3.10/site-packages/lmdeploy/turbomind/turbomind.py", line 196, in _create_weight_func
model_comm.create_shared_weights(device_id, rank)
RuntimeError: [TM][ERROR] CUDA runtime error: out of memory /lmdeploy/src/turbomind/utils/memory_utils.cu:32

接着配置相关环境,需要用到的依赖主要有lmdeploy和streamlit,lmdeploy主要是为了创建一个后台的API-server 而streamlit主要是为了创建一个Demo。使用终端将环境激活后得到image.png image.png 打开 http://localhost:7860之后将模型ip改为127.0.0.1:23333,否则会出现报错,最后运行结果如下 屏幕截图 2024-05-06 155956.png

使用 AgentLego

与上面搭建lagent的步骤类似,AgentLego 所实现的目标检测工具是基于 mmdet (MMDetection) 算法库中的 RTMDet-Large 模型,因此我们首先安装 mim,然后通过 mim 工具来安装 mmdet

conda activate agent
pip install openmim==0.3.9
mim install mmdet==3.3.0

安装完之后启动lmdeploy,配置AgentLego WebUI,最后运行,得到结果如下 屏幕截图 2024-05-06 164547.png