书生浦语work6——Lagent & AgentLego 智能体应用搭建

本文介绍了Lagent,一个轻量级开源智能体框架,以及其配套的AgentLego多模态工具包,如何通过乐高式组件组装来增强大语言模型功能。文章详细指导了环境配置和使用示例,包括部署LagentWebDemo和直接使用AgentLego进行目标检测功能的演示。
摘要由CSDN通过智能技术生成

1.概述

大语言模型的局限性:幻觉、时效性、可靠性

Lagent 是一个轻量级开源智能体框架,旨在让用户可以高效地构建基于大语言模型的智能体。同时它也提供了一些典型工具以增强大语言模型的能力。

AgentLego 是一个提供了多种开源工具 API 的多模态工具包,旨在像是乐高积木一样,让用户可以快速简便地拓展自定义工具,从而组装出自己的智能体。通过 AgentLego 算法库,不仅可以直接使用多种工具,也可以利用这些工具,在相关智能体框架(如 Lagent,Transformers Agent 等)的帮助下,快速构建可以增强大语言模型能力的智能体。

2.环境配置

###创建一个用于存放 Agent 相关文件的目录###
mkdir -p /root/agent

###配置 conda 环境###
studio-conda -t agent -o pytorch-2.1.2

安装 Lagent 和 AgentLego

cd /root/agent
conda activate agent
git clone https://gitee.com/internlm/lagent.git
cd lagent && git checkout 581d9fb && pip install -e . && cd ..
git clone https://gitee.com/internlm/agentlego.git
cd agentlego && git checkout 7769e0d && pip install -e . && cd ..

安装其他依赖(LMDeploy)

conda activate agent
pip install lmdeploy==0.3.0

准备 Tutorial

cd /root/agent
git clone -b camp2 https://gitee.com/internlm/Tutorial.git

3.Lagent:轻量级智能体框架

3.1 Lagent Web Demo

使用 LMDeploy 部署

conda activate agent
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

 

按照下图指示新建一个 terminal 启动并使用 Lagent Web Demo。在新建的 terminal 中执行如下指令:

conda activate agent
cd /root/agent/lagent/examples
streamlit run internlm2_agent_web_demo.py --server.address 127.0.0.1 --server.port 7860

 

将 LMDeploy api_server 的23333端口以及 Lagent Web Demo 的7860端口映射到本地

ssh -CNg -L 7860:127.0.0.1:7860 -L 23333:127.0.0.1:23333 root@ssh.intern-ai.org.cn -p 你的 ssh 端口号

在本地的浏览器页面中打开 http://localhost:7860 以使用 Lagent Web Demo。

首先输入模型 IP 为 127.0.0.1:23333,在输入完成后按下回车键以确认。并选择插件为 ArxivSearch,以让模型获得在 arxiv 上搜索论文的能力。

输入“请帮我搜索 InternLM2 Technical Report” , 效果如下图所示

 4.AgentLego:组装智能体“乐高”

4.1.直接使用部分

下载 demo 文件:

cd /root/agent
wget http://download.openmmlab.com/agentlego/road.jpg

AgentLego 所实现的目标检测工具是基于 mmdet (MMDetection) 算法库中的 RTMDet-Large 模型.安装 mim,然后通过 mim 工具来安装 mmdet

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

然后通过 touch /root/agent/direct_use.py(大小写敏感)的方式在 /root/agent 目录下新建 direct_use.py 以直接使用目标检测工具

import re

import cv2
from agentlego.apis import load_tool

# load tool
tool = load_tool('ObjectDetection', device='cuda')

# apply tool
visualization = tool('/root/agent/road.jpg')
print(visualization)

# visualize
image = cv2.imread('/root/agent/road.jpg')

preds = visualization.split('\n')
pattern = r'(\w+) \((\d+), (\d+), (\d+), (\d+)\), score (\d+)'

for pred in preds:
    name, x1, y1, x2, y2, score = re.match(pattern, pred).groups()
    x1, y1, x2, y2, score = int(x1), int(y1), int(x2), int(y2), int(score)
    cv2.rectangle(image, (x1, y1), (x2, y2), (0, 255, 0), 1)
    cv2.putText(image, f'{name} {score}', (x1, y1), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 255, 0), 1)

cv2.imwrite('/root/agent/road_detection_direct.jpg', image)

 

接下来在执行 python /root/agent/direct_use.py 以进行推理。在等待 RTMDet-Large 权重下载并推理完成后,我们就可以看到如下输出以及一张位于 /root/agent 名为 road_detection_direct.jpg 的图片:

 

  • 49
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值