首页 > 其他分享 >书生浦语第二期实战营——第二课_part2

书生浦语第二期实战营——第二课_part2

时间:2024-04-05 20:04:44浏览次数:25  
标签:第二课 demo internlm XComposer part2 InternLM root 浦语 7b

这里写目录标题

正文

主要内容:运行Lagent智能体、部署 浦语·灵笔2 模型

  1. B站视频:https://www.bilibili.com/video/BV1AH4y1H78d/
  2. 教程文档:https://github.com/InternLM/Tutorial/blob/camp2/helloworld/hello_world.md
  3. Intern Studio地址:https://studio.intern-ai.org.cn/

以下所有操作均在AI studio 开发机中实现

1 基于 InternLM2-Chat-7B 运行 Lagent 智能体

1.1 介绍

Lagent 是智能体(agent)框架,支将LLM转变为智能体,且提供了工具。框架图如下:

在这里插入图片描述

Lagent框架图

附:强化学习中的智能体

强化学习(RL)的两个组成部分:智能体(agent)环境(environment)。智能体在环境中获取某个状态,利用状态输出动作(action),动作也称决策(decision),动作在环境中执行,环境根据智能体的动作输出下一个状态和奖励(reward)

信息端

  • Human feedback: 人类反馈
  • Human instruction: 人类指令
  • Observation: 观察

智能体

  • LLM
  • Planning & Action: 规划与行动
    • Plan-Act iteration: 计划-执行迭代
    • Plan-then-act: 计划-然后-执行
    • Reflexion: 反思
    • Exploration: 探索
  • Action Executor: 行动执行器
    • PythonExecutor: Python执行器
    • Search: 搜索
    • Calculator: 计算器
    • Calendar: 日历

智能体外部:信息输入到智能体

智能体内部:大模型接受信息,进行解析处理,获取计划或者行为,将信息送到执行端,执行后的数据通过模型返回

Lagent 特性如下

  • 流式输出:stream_chat 接口
  • 接口:
    • Model : 支持OpenAI API、Transformers 、LMDeploy;
    • Action: 支持 InternLM 还是 GPT 均可适配, 继承和装饰;
    • Agent:与 Model 的输入接口保持一致;
  • API 文档全。

1.2 实践

开启30%的算力

准备

  1. 激活环境: conda activate demo

  2. 转到文件夹:cd /root/demo

  3. 下载Lagent代码:

git clone https://gitee.com/internlm/lagent.git
# git clone https://github.com/internlm/lagent.git
cd /root/demo/lagent
git checkout 581d9fb8987a5d9b72bb9ebd37a95efd47d479ac
pip install -e . # 源码安装
git checkout 581d9fb8987a5d9b72bb9ebd37a95efd47d479ac

注意:切换到'581d9fb8987a5d9b72bb9ebd37a95efd47d479ac'。

你处于“分离的头脑”状态。你可以环顾四周,进行实验更改并提交它们,您可以丢弃在此中所做的任何提交状态,而不会通过切换回分支来影响任何分支。如果您想创建一个新的分支来保留您创建的提交,您可以这样做通过在switch命令中使用-c来执行此操作(现在或以后)。例子:
Git switch -c <new-branch-name>

或使用以下命令撤消此操作:
〇Git开关
通过将配置变量advice. detachedhead设置为false来关闭此通知

HEAD现在在581d9fb支持演示hf (#179)

运行

InternLM2-Chat-7bInternLM2-Chat-1.8b 等模型位置:share 文件

  1. 转到路径:cd /root/demo/lagent

  2. 构造软链接(share中的模型文件夹链接到/root/models):ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b /root/models/internlm2-chat-7b

在这里插入图片描述

构造软链接
  1. 打开文件并修改:demo/lagent/examples/internlm2_agent_web_demo_hf.py ,修改模型位置(71行)value='/root/models/internlm2-chat-7b'

在这里插入图片描述

原始加载方式

在这里插入图片描述

更改后的加载方式
  1. 运行:streamlit run /root/demo/lagent/examples/internlm2_agent_web_demo_hf.py --server.address 127.0.0.1 --server.port 6006

  2. 本地使用 ssh 连接 studio 端口:

# 将下方端口号 xxxxx 替换成自己的端口号
ssh -CNg -L 6006:127.0.0.1:6006 [email protected] -p xxxxx
# 密码粘贴后不显示,直接回车,不行的话就再复制操作一下
  1. 本地浏览器打开:http://127.0.0.1:6006 ,勾上数据分析,输入鸡和兔共49只,一共有100条腿,问鸡和兔各有多少只?

1.3 作业

完成 Lagent 工具调用 数据分析 Demo 部署(需截图)

初始界面:

在这里插入图片描述

Lagent前端界面

没有显示插件的原因:模型没加载完成。

模型加载

模型加载

问题与回复:Q:鸡和兔共49只,一共有100条腿,问鸡和兔各有多少只?

在这里插入图片描述

Lagent 回复

资源占用:

在这里插入图片描述

回复的速度有些慢。有可能是我网络的原因?

Q2:已知 a , b , c 均为正数,且 a 2 + b 2 + 4 c 2 = 3 a^{2}+b^{2}+4c^{2}=3 a2+b2+4c2=3 ,证明: (1) a + b + 2 c ≤ 3 a+b+2c\leq3 a+b+2c≤3; (2) 若 b = 2 c b=2c b=2c ,则 1 a + 1 c ≥ 3 \frac{1}{a}+\frac{1}{c} \geq3 a1​+c1​≥3

在这里插入图片描述

默认题目回复

在这里插入图片描述

题目+提示

参考链接:柯西不等式和权方和不等式的运用,这是高考题还是数学竞赛题 - 知乎 (zhihu.com)

2 部署 浦语·灵笔2 模型

2.1 介绍

XComposer2

浦语·灵笔2 是基于 书生·浦语2 大语言模型研发的图文多模态大模型

功能:

  1. 图文写作:可以理解自由形式的图文指令输入,包括大纲、文章细节要求、参考图片等,为用户打造图文并貌的专属文章

  2. 图文问题解答

  3. 综合:

    对比:

    在这里插入图片描述

2.2 实践

算力:50% A100

步骤:

(1)环境配置

  1. 调整配置——升配置。
  2. 激活环境:conda activate demo
  3. 安装包:requirements.txt,指令:pip install -r requirements.txt
timm==0.4.12 
sentencepiece==0.1.99 
markdown2==2.4.10 
xlsxwriter==3.1.2 
gradio==4.13.0 
modelscope==1.9.5
  1. 下载InternLM-XComposer 仓库(图文创作)
cd /root/demo
git clone https://gitee.com/internlm/InternLM-XComposer.git  # 国内gitee
# git clone https://github.com/internlm/InternLM-XComposer.git
cd /root/demo/InternLM-XComposer
git checkout f31220eddca2cf6246ee2ddf8e375a40457ff626
  1. 构造软链接:share文件夹里面的模型链接到/root/models文件夹里。
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm-xcomposer2-7b /root/models/internlm-xcomposer2-7b
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm-xcomposer2-vl-7b /root/models/internlm-xcomposer2-vl-7b

(2)图文写作

  1. 开启服务,文件路径/root/demo/InternLM-XComposer/examples/gradio_demo_composition.py
cd /root/demo/InternLM-XComposer
python /root/demo/InternLM-XComposer/examples/gradio_demo_composition.py  \
--code_path /root/models/internlm-xcomposer2-7b \
--private \
--num_gpus 1 \
--port 6006
  1. 使用 ssh 连接 studio 端口
# 将下方端口号 xxxxx 替换成自己的端口号
ssh -CNg -L 6006:127.0.0.1:6006 [email protected] -p xxxxx

终止连结 ctrl+D

  1. 本地浏览器打开127.0.0.1:6006地址访问。

(3)图片理解

  1. 开启服务。地址:/root/demo/InternLM-XComposer/examples/gradio_demo_chat.py
conda activate demo

cd /root/demo/InternLM-XComposer
python /root/demo/InternLM-XComposer/examples/gradio_demo_chat.py  \
--code_path /root/models/internlm-xcomposer2-vl-7b \
--private \
--num_gpus 1 \
--port 6006
  1. 本地打开127.0.0.1:6006链接。(默认经过了ssh连结)

  2. 输入图片和文字。

2.3 作业

  • 完成 浦语·灵笔2图文创作视觉问答 部署(需截图)

(1)图文创作

模型——internlm-xcomposer2-7b,服务——InternLM-XComposer/examples/gradio_demo_composition.p

Q1:请生成机场的图片,图片尽量逼真,图片中要有飞机。

A1:

在这里插入图片描述

后台输出内容

在这里插入图片描述

前端输出

Q2:以“数字化治理要以数字素养为先”,写一篇图文并茂的文章,不少于300字。

A2:在这里插入图片描述

在这里插入图片描述

Q3:

根据以下标题:“中国水墨画:流动的诗意与东方美学”,创作长文章,字数不少于800字。请结合以下文本素材:
“水墨画是由水和墨调配成不同深浅的墨色所画出的画,是绘画的一种形式,更多时候,水墨画被视为中国传统绘画,也就是国画的代表。也称国画,中国画。墨水画是中国传统画之一。墨水是国画的起源,以笔墨运用的技法基础画成墨水画。线条中锋笔,侧锋笔,顺锋和逆锋,点染,擦,破墨,拨墨的技法。墨于水的变化分为五色。画成作品,题款,盖章。就是完整的墨水画作品。
基本的水墨画,仅有水与墨,黑与白色,但进阶的水墨画,也有工笔花鸟画,色彩缤纷。后者有时也称为彩墨画。在中国画中,以中国画特有的材料之一,墨为主要原料加以清水的多少引为浓墨、淡墨、干墨、湿墨、焦墨等,画出不同浓淡(黑、白、灰)层次。别有一番韵味称为“墨韵”。而形成水墨为主的一种绘画形式。”

A3:

先生成文字内容

在这里插入图片描述

划分段落

在这里插入图片描述

插入图片

在这里插入图片描述

在这里插入图片描述

下载、筛选

在这里插入图片描述

在这里插入图片描述

前端界面

在这里插入图片描述

使用感受:图文创作模型主要是先生成一段文字、然后再对文字进行划分,最后根据输入图片数量,决定在哪些段落添加图片,图片的来源是检索获取而非生成。

(2)视觉问答

模型——internlm-xcomposer2-vl-7b
服务——InternLM-XComposer/examples/gradio_demo_chat.py
加载模型后GPU占用35474M

Q1:图片中有几架飞机?

在这里插入图片描述

A1:

在这里插入图片描述

Q2:几艘船?什么江?

在这里插入图片描述

A2:

在这里插入图片描述

Q3:这张图是什么意思?

在这里插入图片描述

A3:在这里插入图片描述

在这里插入图片描述

使用感受:能够理解图片的内容,具备一定的目标检测能力。输入文字和图片,输出文字,如果支持多模态输出的话,效果会更惊艳。

标签:第二课,demo,internlm,XComposer,part2,InternLM,root,浦语,7b
From: https://blog.csdn.net/weixin_49374605/article/details/137401677

相关文章

  • 书生·浦语大模型全链路开源体系——学习笔记day2&day3--纯纯新手入门
    学习链接:tutorial/helloworld/hello_world.mdatmain·InternLM/tutorial(github.com) 【精彩,照着做就能体验很多本来遥不可及的东西】笔记分享链接:https://github.com/InternLM/tutorial/discussions/37 本笔记定位是对学习链接的补充和小白发牢骚,希望大佬能愿意点评一......
  • 书生浦语第二期实战营——第二课_part1
    目录0环境配置1部署`InternLM2-Chat-1.8B`智能对话模型1.1课程内容:(1)准备工作(2)代码流程1.2课程作业2部署`八戒-Chat-1.8B`模型2.1课程(1)准备工作(2)开启服务(3)本地对话2.2作业(1)snapshot_download(2)hf_hub_download(3)hf_hub_url(4)huggingface-cli正文:所有操......
  • 每日面经分享(python进阶 part2)
    Python中的装饰器和上下文管理器区别是什么?它们分别适用于哪些场景?a.装饰器用于在函数或类的外部添加额外功能,而上下文管理器用于管理资源的获取和释放。b.装饰器是一种用于修改函数或类行为的技术。适用于需要在函数或类的外部添加额外功能的场景,比如日志记录、性能监......
  • 轻松玩转书生·浦语大模型趣味 Demo——day2笔记
    本节课有四个任务:学习部署、玩角色扮演的agent项目,玩数学运算agent、玩写作agent 主要学习过程就是跟着视频,复制学习文档里的资料,完成demo的使用。主要目的是熟悉开发平台。视频:轻松玩转书生·浦语大模型趣味Demo_哔哩哔哩_bilibili资料:Tutorial/helloworld/hello_world.......
  • 书生·浦语大模型趣味Demo课程笔记
    第二节书生·浦语大模型趣味Demo实践环境准备浦语大模型的开发机器支持了cuda11.7的基础环境和一些自动迁移conda配置脚本迁移conda环境命令:studio-conda-ointernlm-base-tdemo如果自己安装软件环境:condacreate-ndemopython==3.10-ycondaactivatedemoconda......
  • 深度学习-机器视觉part2
    深度学习-机器视觉part2文章目录深度学习-机器视觉part2一、从卷积到卷积神经网络二、手撕卷积代码2.1动机2.2数据集2.3卷积操作2.3.1填充(padding)2.3.2卷积块2.3.3池化2.3.4Softmax2.4完整CNN2.5训练改进三、经典CNN模型介绍四、CNN模型的实际应用参考一......
  • 书生浦语第二期第二节课笔记(轻松玩转书生·浦语大模型趣味 Demo)
    以下内容是在InternStudio的开发机上运行的一、部署 InternLM2-Chat-1.8B 模型进行智能对话第一步:进入开发机后,在终端中输入以下环境命令配置进行环境配置studio-conda-ointernlm-base-tdemo#与studio-conda等效的配置方案#condacreate-ndemopython==3.10-......
  • [附源码]JAVA计算机毕业设计第二课堂选课系统(源码+开题)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,计算机技术在教育领域的应用日益广泛。传统的选课方式已经无法满足高校日益增长的教学需求和学生个性化发展的要求。第二课堂......
  • 第二期书生浦语大模型实战营第一次作业(大模型技术报告解读)
    书生·浦语大模型全链路开源体系上海人工智能实验室与商汤科技联合香港中文大学、复旦大学发布新一代大语言模型书生·浦语2.0(InternLM2)。这个大模型包含70亿和200亿两种参数规格,以及基座、对话等版本,向全社会开源并提供免费商用授权。书生·浦语2.0(英文名:InternLM2)核心理念:......
  • 轻松分钟玩转书生·浦语大模型趣味 Demo
    一、基础作业:使用InternLM2-Chat-1.8B模型生成300字的小故事:使用猪猪模型部署并访问:二、进阶作业:完成Lagent工具调用数据分析Demo部署:熟悉huggingface下载功能,使用huggingface_hubpython包,下载InternLM2-Chat-7B的config.json文件到本地:......