这里写目录标题
正文
主要内容:运行Lagent
智能体、部署 浦语·灵笔2
模型
- B站视频:https://www.bilibili.com/video/BV1AH4y1H78d/
- 教程文档:https://github.com/InternLM/Tutorial/blob/camp2/helloworld/hello_world.md
- Intern Studio地址:https://studio.intern-ai.org.cn/
以下所有操作均在AI studio 开发机中实现
1 基于 InternLM2-Chat-7B
运行 Lagent
智能体
1.1 介绍
Lagent 是智能体(agent)框架,支将LLM转变为智能体,且提供了工具。框架图如下:
附:强化学习中的智能体
强化学习(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%的算力
准备
-
激活环境:
conda activate demo
-
转到文件夹:
cd /root/demo
-
下载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-7b
、InternLM2-Chat-1.8b
等模型位置:share 文件
-
转到路径:
cd /root/demo/lagent
-
构造软链接(share中的模型文件夹链接到/root/models):
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b /root/models/internlm2-chat-7b
- 打开文件并修改:
demo/lagent/examples/internlm2_agent_web_demo_hf.py
,修改模型位置(71行)value='/root/models/internlm2-chat-7b'
-
运行:
streamlit run /root/demo/lagent/examples/internlm2_agent_web_demo_hf.py --server.address 127.0.0.1 --server.port 6006
-
本地使用 ssh 连接 studio 端口:
# 将下方端口号 xxxxx 替换成自己的端口号
ssh -CNg -L 6006:127.0.0.1:6006 [email protected] -p xxxxx
# 密码粘贴后不显示,直接回车,不行的话就再复制操作一下
- 本地浏览器打开:http://127.0.0.1:6006 ,勾上数据分析,输入
鸡和兔共49只,一共有100条腿,问鸡和兔各有多少只?
1.3 作业
完成
Lagent
工具调用数据分析
Demo 部署(需截图)
初始界面:
没有显示插件的原因:模型没加载完成。
问题与回复:Q:鸡和兔共49只,一共有100条腿,问鸡和兔各有多少只?
资源占用:
回复的速度有些慢。有可能是我网络的原因?
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
大语言模型研发的图文多模态大模型
功能:
-
图文写作:可以理解自由形式的图文指令输入,包括大纲、文章细节要求、参考图片等,为用户打造图文并貌的专属文章
-
图文问题解答
-
综合:
对比:
2.2 实践
算力:50% A100
步骤:
(1)环境配置
- 调整配置——升配置。
- 激活环境:
conda activate demo
- 安装包: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
- 下载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
- 构造软链接: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)图文写作
- 开启服务,文件路径
/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
- 使用 ssh 连接 studio 端口
# 将下方端口号 xxxxx 替换成自己的端口号
ssh -CNg -L 6006:127.0.0.1:6006 [email protected] -p xxxxx
终止连结 ctrl+D
- 本地浏览器打开
127.0.0.1:6006
地址访问。
(3)图片理解
- 开启服务。地址:
/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
-
本地打开
127.0.0.1:6006
链接。(默认经过了ssh连结) -
输入图片和文字。
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使用感受:能够理解图片的内容,具备一定的目标检测能力。输入文字和图片,输出文字,如果支持多模态输出的话,效果会更惊艳。