Lagent AgentLego 智能体应用搭建——作业

server/2024/10/18 14:25:46/

Lagent & AgentLego 智能体应用搭建——作业

  • 一、基础作业
    • 1.1、前期准备
      • 1.1.1、 配置基本环境
      • 1.1.2、安装 Lagent 和 AgentLego
      • 1.1.3、安装其他依赖
      • 1.1.4、安装 Tutorial
    • 1.2、完成 Lagent Web Demo 使用
      • 1.2.1、启动服务端
      • 1.2.2、建立命令行客户端
      • 1.2.3、使用 Lagent Web Demo
    • 1.3、完成 AgentLego 直接使用部分
      • 1.3.1、下载 demo 文件
      • 1.3.2、安装 mim
      • 1.3.3、使用目标检测工具
  • 二、进阶作业
    • 2.1、完成 AgentLego WebUI 使用
      • 2.1.1、修改文件
      • 2.1.2、启动服务器
      • 2.1.3、建立客户端
      • 2.1.4、使用 AgentLego WebUI
        • 2.1.4.1、配置 Agent
        • 2.1.4.2、配置 Tools
        • 2.1.4.3、使用结果
    • 2.2、使用 Lagent 实现自定义工具并完成调用
      • 2.2.1、创建工具文件
      • 2.2.2、获取 API KEY
      • 2.2.3、启动服务器
      • 2.2.4、建立客户端
      • 2.2.5、体验自定义工具
    • 2.3、使用 AgentLego 实现自定义工具并完成调用
      • 2.3.1、创建工具文件
      • 2.3.2、注册新工具
      • 2.3.3、启动服务器
      • 2.3.4、建立客户端
      • 2.3.5、设置 Agent
      • 2.3.6、设置 Tools
      • 2.3.7、使用结果

详细视频:Lagent & AgentLego 智能体应用搭建
详细文档:看这里

一、基础作业

1.1、前期准备

1.1.1、 配置基本环境

在这里插入图片描述

1.1.2、安装 Lagent 和 AgentLego

使用 git checkout 安装指定版本并 pip install -e . 安装所需要的包。

在这里插入图片描述

在这里插入图片描述

1.1.3、安装其他依赖

在这里插入图片描述

1.1.4、安装 Tutorial

在这里插入图片描述

1.2、完成 Lagent Web Demo 使用

1.2.1、启动服务端

在这里插入图片描述

1.2.2、建立命令行客户端

在这里插入图片描述

在此期间同时映射端口,就可以打开 127.0.0.1:7860 网页使用 Lagent Web Demo。

注意:前几次的作业都没说,这里注意一下,一定要输入网址并打开,不要使用 terminal 窗口这边跳出的网址,点进去是能打开,但会出现样式丢失的情况。

1.2.3、使用 Lagent Web Demo

对于 attention 改进这方面有了解的话,一定都知道 Rethinking Attention with Performers 这篇文章,所以我也想测试能不能搜寻的到。

在这里插入图片描述

第一次搜索结果是没有我想要的这篇文章的,我觉得也是,可能是我表示的不太清楚,一个 Performer 太笼统了,所以我试着直接搜索名字。

在这里插入图片描述

结果还是没有搜寻到我想要的文章,我就觉得有点不对劲了,然后我想是不是因为区分大小写,于是又搜寻了一遍。

在这里插入图片描述

这次是确实不理解了,我已经给出了非常详细的名字,严格控制间距和大小写,但依然给出了不相关的答案。不死心,又试了教程的案例。

在这里插入图片描述

黑人脸。。。what can i say? 就很奇怪,搜索 internlm 相关文章就直接有了,我随便一个其他的就是没有,然后我又搜了一次。

在这里插入图片描述

不知道出了什么问题。。。

1.3、完成 AgentLego 直接使用部分

1.3.1、下载 demo 文件

在这里插入图片描述

1.3.2、安装 mim

AgentLego 所实现的目标检测工具是基于 mmdet (MMDetection) 算法库中的 RTMDet-Large 模型,因此我们首先安装 mim,然后通过 mim 工具来安装 mmdet。这一步所需时间可能会较长,请耐心等待。

在这里插入图片描述

在这里插入图片描述

安装过程中会报错,但是不用理会,后面能够正常使用。

在这里插入图片描述

1.3.3、使用目标检测工具

创建 direct_use.py 文件。

在这里插入图片描述

这段代码的核心主要是通过使用 ObjectDetection 这个工具来分析图片,正则表达式 pattern = r'(\w+) \((\d+), (\d+), (\d+), (\d+)\), score (\d+)' 用于解析给定格式的文本,以提取物体的名称、边界框的坐标和检测的置信分数,最后再使用 OpenCV 绘制矩形并添加相应文本。

文件运行结果如下图所示:
在这里插入图片描述
同时,结果还生成了一张修改后的图片。

在这里插入图片描述

这种方式就比较直观地能看出结果,ObjectDetection 工具对于这种简单图片的识别还是很准确的。

二、进阶作业

2.1、完成 AgentLego WebUI 使用

2.1.1、修改文件

由于 AgentLego 算法库默认使用 InternLM2-Chat-20B 模型,因此我们首先需要修改 /root/agent/agentlego/webui/modules/agents/lagent_agent.py 文件的第 105行位置,将 internlm2-chat-20b 修改为 internlm2-chat-7b,即

在这里插入图片描述

2.1.2、启动服务器

在这里插入图片描述

2.1.3、建立客户端

在这里插入图片描述

在这里插入图片描述

2.1.4、使用 AgentLego WebUI

2.1.4.1、配置 Agent

在这里插入图片描述

2.1.4.2、配置 Tools

在这里插入图片描述

2.1.4.3、使用结果

首先,在 Chat 界面选择工具部分选择 ObjectDetection 工具,为了确保调用工具的成功率,在使用时确保仅有这一个工具启用。

在这里插入图片描述

然后再次检测刚刚的 road 图片。

在这里插入图片描述

效果还可以,但我觉得这个图片难度有点低,所以去网上找了一个稍微负责的图片,命名为 complex,先修改文件的对应位置。

在这里插入图片描述

在这里插入图片描述
如上图所示,回复肯定是回复了,但只有冰冷的数字并不能看到具体的效果,也不知道结果怎么样,所以还是又直接使用 AgentLego 查看生成的图片结果。

在这里插入图片描述

只能说结果一般,对于图片中离我们近的车辆大部分都可以识别出来,但是后面的车辆计划几乎就全军覆没了,只能说这个 ObjectDetection 工具还是有待改进。

2.2、使用 Lagent 实现自定义工具并完成调用

2.2.1、创建工具文件

在这里插入图片描述

2.2.2、获取 API KEY

在这里插入图片描述

2.2.3、启动服务器

在这里插入图片描述

2.2.4、建立客户端

在这里插入图片描述

2.2.5、体验自定义工具

在这里插入图片描述

在这里插入图片描述

首先查询了上海市浦东新区的天气,同时对比了当时手机上的天气,可以看得出来,结果还是非常准确的。

在这里插入图片描述

查询美国的天气也能及时准确地回复。

下面我想测试下,当输入的查询城市名字不对时,会作出如何回复。

在这里插入图片描述

在这里插入图片描述

这个地方是非常出乎意料的,我故意打打反了英国的名称,阿拉斯加也少了一个字,但依然能迅速准确地回答。

在这里插入图片描述

只有当我问出足够离谱的城市天气时,才会识别错误,这个界限其实就很模糊,因为我个人觉得打错城市名字应该已经算不能识别的城市了,只能说可能确实有的人会喜欢这样的效果。

2.3、使用 AgentLego 实现自定义工具并完成调用

2.3.1、创建工具文件

在这里插入图片描述

这段代码主要是定义了一个名为 MagicMakerImageGeneration 的类,这个类继承自 BaseTool 类,其中设置了两个属性 styles_option 来 和 aspect_ratio_options 来分别设置生成图像的图像分格和长宽比,同时,也定义了 apply 方法接受关键词作为参数,然后向 API 发起 POST 请求,以生成图像。

2.3.2、注册新工具

在这里插入图片描述
主要是讲刚刚创建的工具注册在工具列表中,以待后面使用。

2.3.3、启动服务器

在这里插入图片描述

2.3.4、建立客户端

在这里插入图片描述

2.3.5、设置 Agent

直接使用之前创建好的 internlm2。

在这里插入图片描述

2.3.6、设置 Tools

在这里插入图片描述

2.3.7、使用结果

别忘了在 Chat 界面选择 MagicMakerImageGeneration 工具。

在这里插入图片描述

首先试试生成喜羊羊的图片。

在这里插入图片描述

不对劲!十分有九分的不对劲,这不是我印象中的喜羊羊!然后后来我反应过来了,因为我只让生成喜羊羊,但目前生成的图片格式还是国风格式的。想着再生成龙的图片。

在这里插入图片描述

emmm,人中龙凤??

我想着是不是图片风格的问题,于是这次将风格改为了 donghua,再试一次。

在这里插入图片描述

不好评价,我怀疑是不是因为模型不认识动画片《喜羊羊与灰太狼》,但是在后来询问得到了肯定的答复,于是我再次想让模型生成里面的喜羊羊角色。

在这里插入图片描述

放弃了,真的不行,就是不行。那试试其他的角色吧。

在这里插入图片描述

在这里插入图片描述

我不知道这是 AgentLego 算法库 还是 internlm2-chat-7b 或者是其他的什么问题,当你开启一个对话让其生成一个东西后,就代表定下了基调,那么后面无论你再让它生成什么,都离不开第一次生成的图片。

后面测试发现,当我新开启一个 Chat,无论是让生成龙还是狼都是正常的,不会再出现出现生成羊这样的图片,但缺陷也是一样,跟着后面再生成其他动物也是失败。

最新测试:

在这里插入图片描述

前两张是正常的,但再往后生成就会出现一些完全不相关的图片。


http://www.ppmy.cn/server/13230.html

相关文章

交换排序:冒泡排序和快速排序

冒泡排序 思路 通过多次遍历数组,比较相邻的元素,并交换它们,使得每次遍历结束后,最大(或最小)的元素都“冒泡”到数组的末尾 实现 public class Main {public static void main(String[] args) {int[] …

用友NC Cloud importhttpscer接口任意文件上传漏洞

声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 一、漏洞描述 用友NC Cloud的importhttpscer接口如果存在任意文件上传…

解决java.lang.NoClassDefFoundError 问题

解决java.lang.NoClassDefFoundError 问题 一、背景二、分析三、解决 一、背景 项目运行成功之后,调用某个接口时报错,信息如下: 2024-04-17 14:59:23 [ERROR] --- [nio-8070-exec-1] c.c.c.e.LogExceptionHandleFilter : Handler dispatch failed; nest…

VUE使用echarts 5.0以上版本渲染器未导入错误

问题的出现 使用echarts、vue-echarts库开发一个简单的仪表盘应用&#xff0c;采用按需引入的方式&#xff0c;代码如下&#xff1a; <script setup> import {basic_gauge_option} from ../data/gauge; import {TitleComponent, TooltipComponent} from echarts/compon…

Vue3 setup语法父子组件变量方法调用

一、简述 setup语法<script setup> 的组件是默认私有的&#xff1a;一个父组件无法访问到一个使用了 <script setup> 的子组件中的任何东西&#xff0c;除非子组件在其中通过 defineExpose 宏显式暴露。 当父组件通过模板引用获取到了该组件的实例时&#xff0c;…

金融时报:波场亮相哈佛大学并举办TRON Builder Tour活动

近日,波场TRON作为顶级白金赞助商出席哈佛区块链会议并成功举办TRON Builder Tour哈佛站活动,引发海外媒体热议。美联社、金融时报、Cointelegraph等国际主流媒体及加密知名媒体均对此给予了高度评价,认为本次大会对TRON Builder Tour活动具有里程碑意义,彰显了波场TRON致力于促…

蓝桥杯2024年第十五届省赛真题-拔河

审题可能会遇到的问题&#xff1a;认为所有人都必须参与拔河&#xff0c;但其实不用&#xff0c;只要符合l1<r1<l2<r2就行&#xff0c;不一定要全部人上场&#xff0c;比如只上场a1和a2他们的力量差是1其实也可以。 正解思路&#xff1a;前缀和枚举二分。枚举左区间&…

墨子web3时事周报

蚂蚁集团Web3研发进展与布局 国内Web3赛道的领军企业——蚂蚁集团&#xff0c;凭借其在前沿科技领域的深耕不辍&#xff0c;已在Web3技术研发疆域缔造了卓越战绩。特别是在引领行业革新的关键时刻&#xff0c;集团于今年四月末震撼推出了颠覆性的Web3全套解决方案&#xff0c…