Lagent&AgentLego智能体应用搭建

参考文档:Tutorial/agent at camp2 · InternLM/Tutorial · GitHub

参考视频:Lagent & AgentLego 智能体应用搭建_哔哩哔哩_bilibili

Lagent轻量级智能体框架Tutorial/agent/lagent.md at camp2 · InternLM/Tutorial · GitHub

AgentLego:Tutorial/agent/agentlego.md at camp2 · InternLM/Tutorial · GitHub

一.智能体的产生背景

大语言模型的局限性:幻觉(模型可能产生虚假信息,与现实严重不符)时效性(模型训练数据过时,无法反映最新趋势和信息)可靠性(面对复杂任务时,可能频繁发错误输出现象)

二.智能体组成

三.智能体范式

四.Lagent & AgentLego

1.Lagent:一个轻量级开源智能体框架,旨在让用户可以高效地构建基于大语言模型的智能体

                支持多种智能体范式(如AutoGPT,ReWoo,ReAct)

                支持多种工具(如谷歌搜索,Python解释器等)

2.AgentLego

一个多模态工具包,旨在像乐高积木,可以快速简便的拓展自定义工具,从而组装出自己的智能体,支持多个智能体框架,(如Lagent,LangChain,Transformers Agents)

3.两者的关系

Lagent 是一个智能体框架,而 AgentLego 与大模型智能体并不直接相关,而是作为工具包,在相关智能体的功能支持模块发挥作用。

五.实战部分:

1.环境配置

mkdir -p /root/agent
studio-conda -t agent -o pytorch-2.1.2

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 ..

3.安装其他依赖(在这一步中,我们将会安装其他将要用到的依赖库,如 LMDeploy,可以执行如下命令:)

conda activate agent
pip install lmdeploy==0.3.0

4.准备Tutorial

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

1.使用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
启动并使用 Lagent Web Demo
接下来我们按照下图指示新建一个 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 与 Lagent Web Demo 完全启动后(如下图所示),在本地进行端口映射,将 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 端口号

用Lagent自定义工具(查询天气)

获取 API KEY
为了获得稳定的天气查询服务,我们首先要获取 API KEY。首先打开 开发文档 | 和风天气开发服务 后

注意,确保 1.1 节中的 LMDeploy 服务以及 1.2 节中的 Web Demo 服务已经停止(即 terminal 已关闭),否则会出现 CUDA Out of Memory 或是端口已占用的情况!

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

export WEATHER_API_KEY=24ef6780622a4b14b7b66b31ea593980
# 比如 export WEATHER_API_KEY=1234567890abcdef
conda activate agent
cd /root/agent/Tutorial/agent
streamlit run internlm2_weather_web_demo.py --server.address 127.0.0.1 --server.port 7860

七.直接使用 AgentLego

1.首先下载 demo 文件

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

2.由于 AgentLego 在安装时并不会安装某个特定工具的依赖,因此我们接下来准备安装目标检测工具运行时所需依赖。

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

3.新建python文件 touch /root/agent/direct_use.py 以直接使用目标检测工具

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

  • 41
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于agent智能的NL2SQL(自然语言转结构化查询语言)系统是近年来人工智能领域的研究热点之一。这种系统利用自然语言输入,通过深度学习等技术,将自然语言意图转化为数据库查询语言,从而实现自动化地回答用户在数据库中的查询请求。 NL2SQL系统的实现主要包含以下几个关键步骤: 1. 数据集的构建:为了训练和评估模型,需要构建包含自然语言查询和对应SQL语句的数据集。通常,这需要人工标注大量的数据,包含各种查询语句和对应的正确结果。 2. 自然语言理解(NLU):NLU是NL2SQL系统的关键组成部分,它负责将自然语言查询转化为一个中间表示。该中间表示可以是一种语义解析树、查询模板或其他形式,用于表示查询的语义。NLU可以利用分词、词性标注、实识别等方法对输入的自然语言文本进行语义解析。 3. 查询生成:在得到中间表示后,系统需要将其转化为对应的SQL语句。这个过程可以利用预定义的查询模板,也可以通过生成查询的方式。生成查询的方法可以使用递归神经网络、增强型注意力模型等技术。 4. 查询执行:最后一步是执行生成的SQL查询,将结果返回给用户。查询执行可以利用数据库管理系统(DBMS)来完成,连接到数据库并返回查询结果。 基于agent智能的NL2SQL系统研究与实现面临一些挑战。首先,自然语言的多样性和复杂性使得理解和转换为结构化查询语言具有一定的困难。其次,训练数据的获取和标注需要大量的人力资源和时间成本。此外,系统需要处理好语义解析和查询生成之间的映射关系,以确保生成的查询语句正确无误。 然而,随着深度学习和自然语言处理的发展,基于agent智能的NL2SQL系统的研究和实现取得了一些重要的突破。这种系统在实际应用中具有广阔的前景,可以帮助用户更便捷地从数据库中获取信息,并推动智能化的数据查询和分析。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值