【书生·浦语大模型实战营第二期】Lagent AgentLego 智能体应用搭建——学习笔记6

server/2024/9/24 1:44:53/

文章目录

  • 概述
  • Lagent: 轻量级智能体框架
    • Lagent Web Demo
    • 用Lagent自定义工具
  • AgentLego:组装智能体“乐高”
    • 直接使用AgentLego
    • 作为智能体工具使用AgentLego
    • AgentLego自定义工具
  • 参考资料

概述

Lagent是什么
一个轻量级开源智能体框架,提供了一些典型工具以增强大语言模型的能力,目前已支持包括 AutoGPT、ReAct 等在内的多个经典智能体范式

AgentLego是什么
一个提供了多种开源工具 API 的多模态工具包,提供了如下表展示的工具
image.png

Lagent和AgentLego的关系
Lagent 是一个智能体框架,而 AgentLego 是作为工具包,在相关智能体的功能支持模块发挥作用
image.png

Lagent: 轻量级智能体框架

Lagent Web Demo

  1. 使用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

image.png

  1. 使用Lagent Web Demo:
streamlit run internlm2_agent_web_demo.py --server.address 127.0.0.1 --server.port 7860

image.png

  1. lagent启动成功!

image.png

试验结果展示
image.png

用Lagent自定义工具

使用Lagent自定义工具的步骤

  1. 继承BaseAction类
  2. 实现简单工具的run方法,实现工具包内每个子工具的功能
  3. 简单工具的 run 方法可选被 tool_api 装饰;工具包内每个子工具的功能都需要被 tool_api 装饰

创建天气查询的工具文件->获取API KEY->使用LMDeploy部署服务->启动web-demo
image.png

AgentLego_44">AgentLego:组装智能体“乐高”

目标检测工具为例

AgentLego_46">直接使用AgentLego

安装目标检测工具(基于 mmdet (MMDetection) 算法库中的 RTMDet-Large 模型)的依赖

pip install openmim==0.3.9
mim install mmdet==3.3.0

image.png

AgentLego_53">作为智能体工具使用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

image.png

启动AgentLego WebUI
使用AgentLego WebUI
配置Agent
image.png

配置Tools
image.png

结果展示
image.png

AgentLego_73">用AgentLego自定义工具

基于AgentLego自定义工具步骤

  1. 继承 BaseTool 类
  2. 修改 default_desc 属性(工具功能描述)
  3. 如有需要,重载 setup 方法(重型模块延迟加载)
  4. 重载 apply 方法(工具功能实现)

工具文件创建-> 注册新工具->使用AgentLego进行体验
“请帮我生成一幅描述山东威海的油画”
image.png
虽然效果不是那么好,但也是能看的,u1s1,这真的好像元宵喜乐会的网图啊!

参考资料

  1. Lagent & AgentLego 智能体应用搭建

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

相关文章

Verilog中有限状态机的代码实现

目录 背景 Mealy 有限状态机 Moore 有限状态机 激励文件: 总结 在 verilog 里经常会用到有限状态机,处理相对复杂的逻辑,设定好不同的状态,根据触发条件跳转到对应的状态,在不同的状态下做相应的处理。有限状态机…

RoNID:通过生成可靠标签与聚类友好型表征来实现新意图的发现

论文地址:https://arxiv.org/abs/2404.08977 原文地址:intents-are-not-going-away-ronid-is-a-new-intent-discovery-framework 2024 年 4 月 26 日 Robust New Intent Discovery(RoNID)框架致力于在开放域场景中识别已知意图并合…

大模型llama.cp编译

一、大模型部署工具 llama.cpp 二、使用 llama.cpp 量化模型 2.1 克隆llama.cp 项目地址: https://github.com/ggerganov/llama.cpp 一般配置SSH KEY,然后采用SSH克隆。 git clone https://github.com/ggerganov/llama.cpp cd llama.cpp make 克隆…

程序设计基础--C语言【五】

数组 目录 数组 5.1.一维数组 5.1.1.一维数组的引用 5.1.2.一维数组的初始化 5.1.3.一维数组的程序举例 5.2.二维数组 5.2.1.二维数组的定义 5.2.2.二维数组的引用 5.2.3.二维数组的初始化 5.2.4.举例 5.3.字符数组与字符串 5.3.1.字符组的初始化 5.3.2.字符数组…

【再探】设计模式— 工厂方法、单例及原型模式

创建型设计模式是处理对象创建的设计模式,主要特点是“将对象的创建与业务代码分离”。一共有五种:工厂方法模式、单例模式、原型模式、抽象工厂模式及建造者模式。 1 单例模式 需求: 在整个系统中只需要一个实例。管理共享资源&#xff0…

C#面试题目含参考答案(二)

前言 面试是应聘一个工作岗位的环节,来考察一个人的工作能力与综合素质。在应聘C#程序员或与C#相关岗位时,我们都会被问到一些与.NET、C#、数据库、业务知识或编程思想等问题。 题目 31、值类型和引用类型的区别 参考答案: 1、值类型的数…

深度学习之基于Tensorflow卷积神经网络智能体操健身系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着人们健康意识的提高和数字化技术的快速发展,智能健身系统逐渐成为健身领域的新趋势。…

计算机视觉(CV)是什么以及应用场景

计算机视觉(Computer Vision, CV)是指计算机利用摄像机、图像传感器等设备获取图像或视频,并对它们进行处理和分析,以实现对图像或视频中的物体、场景以及其属性的理解和识别的技术领域。CV的目标是让计算机能够像人类一样“看”和…