书生·浦语大模型实战营(第二期):书生·浦语大模型趣味Demo

目录

  • 部署InternLM2-Chat-1.8B模型进行对话
    • 环境配置
    • 下载InternLM2-Chat-1.8B模型
    • 运行cli_demo
    • 基础作业:使用 InternLM2-Chat-1.8B 模型生成 300 字的小故事(需截图)
  • 部署实战营优秀作品 八戒-Chat-1.8B 模型
    • 下载运行Chat-八戒 Demo
  • 使用 Lagent 运行 智能体Demo
    • 使用 Lagent 运行 InternLM2-Chat-7B 模型为内核的智能体
    • 进阶作业:完成 Lagent 工具调用 数据分析 Demo 部署(需截图)
  • 部署 灵笔 InternLM-XComposer2
    • 进阶作业:图文写作
    • 进阶作业:图文理解
  • 进阶作业:熟悉 huggingface 下载功能,使用 huggingface_hub python 包,下载 InternLM2-Chat-7B 的 config.json 文件到本地(需截图下载过程)

部署InternLM2-Chat-1.8B模型进行对话

环境配置

# conda create -n demo python==3.10 -y
# conda activate demo
# conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia

requirement:

pip install huggingface-hub==0.17.3
pip install transformers==4.34 
pip install psutil==5.9.8
pip install accelerate==0.24.1
pip install streamlit==1.32.2 
pip install matplotlib==3.8.3 
pip install modelscope==1.9.5
pip install sentencepiece==0.1.99

下载InternLM2-Chat-1.8B模型

按路径创建文件夹,并进入到对应文件目录中:

mkdir -p /root/demo
touch /root/demo/cli_demo.py
touch /root/demo/download_mini.py
cd /root/demo

/root/demo/download_mini.py

import os
from modelscope.hub.snapshot_download import snapshot_download# 创建保存模型目录
os.system("mkdir /root/models")# save_dir是模型保存到本地的目录
save_dir="/root/models"snapshot_download("Shanghai_AI_Laboratory/internlm2-chat-1_8b", cache_dir=save_dir, revision='v1.1.0')

执行命令,下载模型参数文件:

python /root/demo/download_mini.py

运行cli_demo

/root/demo/cli_demo.py

import torch
from transformers import AutoTokenizer, AutoModelForCausalLMmodel_name_or_path = "/root/models/Shanghai_AI_Laboratory/internlm2-chat-1_8b"tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True, device_map='cuda:0')
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype=torch.bfloat16, device_map='cuda:0')
model = model.eval()system_prompt = """You are an AI assistant whose name is InternLM (书生·浦语).
- InternLM (书生·浦语) is a conversational language model that is developed by Shanghai AI Laboratory (上海人工智能实验室). It is designed to be helpful, honest, and harmless.
- InternLM (书生·浦语) can understand and communicate fluently in the language chosen by the user such as English and 中文.
"""messages = [(system_prompt, '')]print("=============Welcome to InternLM chatbot, type 'exit' to exit.=============")while True:input_text = input("\nUser  >>> ")input_text = input_text.replace(' ', '')if input_text == "exit":breaklength = 0for response, _ in model.stream_chat(tokenizer, input_text, messages):if response is not None:print(response[length:], flush=True, end="")length = len(response)

输入命令,执行 Demo 程序:

conda activate demo
python /root/demo/cli_demo.py

基础作业:使用 InternLM2-Chat-1.8B 模型生成 300 字的小故事(需截图)

在这里插入图片描述

部署实战营优秀作品 八戒-Chat-1.8B 模型

八戒-Chat-1.8B:https://www.modelscope.cn/models/JimmyMa99/BaJie-Chat-mini/summary
使用 git 命令来获得仓库内的 Demo 文件:

cd /root/
git clone https://gitee.com/InternLM/Tutorial -b camp2
# git clone https://github.com/InternLM/Tutorial -b camp2
cd /root/Tutorial

下载运行Chat-八戒 Demo

执行 bajie_download.py:

python /root/Tutorial/helloworld/bajie_download.py

待程序下载完成后,输入运行命令:

streamlit run /root/Tutorial/helloworld/bajie_chat.py --server.address 127.0.0.1 --server.port 6006

待程序运行的同时,对端口环境配置本地 PowerShell

# 从本地使用 ssh 连接 studio 端口
# 将下方端口号 38374 替换成自己的端口号
ssh -CNg -L 6006:127.0.0.1:6006 root@ssh.intern-ai.org.cn -p 38374

在这里插入图片描述

使用 Lagent 运行 智能体Demo

Lagent 是一个轻量级、开源的基于大语言模型的智能体(agent)框架,支持用户快速地将一个大语言模型转变为多种类型的智能体,并提供了一些典型工具为大语言模型赋能。它的整个框架图如下:
在这里插入图片描述
使用 git 命令下载 Lagent 相关的代码库:

cd /root/demo
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 . # 源码安装

使用 Lagent 运行 InternLM2-Chat-7B 模型为内核的智能体

打开 lagent 路径:

cd /root/demo/lagent

打开 lagent 路径下 examples/internlm2_agent_web_demo_hf.py 文件,并修改对应位置 (71行左右) 代码:
在这里插入图片描述
更换为本地模型所在路径

输入运行命令

streamlit run /root/demo/lagent/examples/internlm2_agent_web_demo_hf.py --server.address 127.0.0.1 --server.port 6006

进阶作业:完成 Lagent 工具调用 数据分析 Demo 部署(需截图)

在这里插入图片描述

部署 灵笔 InternLM-XComposer2

浦语·灵笔2 是基于 书生·浦语2 大语言模型研发的突破性的图文多模态大模型,具有非凡的图文写作和图像理解能力,在多种应用场景表现出色,总结起来其具有:

  • 自由指令输入的图文写作能力: 浦语·灵笔2 可以理解自由形式的图文指令输入,包括大纲、文章细节要求、参考图片等,为用户打造图文并貌的专属文章。生成的文章文采斐然,图文相得益彰,提供沉浸式的阅读体验。
  • 准确的图文问题解答能力:浦语·灵笔2 具有海量图文知识,可以准确的回复各种图文问答难题,在识别、感知、细节描述、视觉推理等能力上表现惊人。
  • 杰出的综合能力: 浦语·灵笔2-7B 基于 书生·浦语2-7B 模型,在13项多模态评测中大幅领先同量级多模态模型,在其中6项评测中超过 GPT-4V 和 Gemini Pro。

补充环境包:

pip install 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
# git clone https://github.com/internlm/InternLM-XComposer.git
cd /root/demo/InternLM-XComposer
git checkout f31220eddca2cf6246ee2ddf8e375a40457ff626

进阶作业:图文写作

继续输入指令,用于启动 InternLM-XComposer:

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

在这里插入图片描述

进阶作业:图文理解

在这里插入图片描述

进阶作业:熟悉 huggingface 下载功能,使用 huggingface_hub python 包,下载 InternLM2-Chat-7B 的 config.json 文件到本地(需截图下载过程)

import os
from huggingface_hub import hf_hub_download  # Load model directly
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
hf_hub_download(repo_id="internlm/internlm2-chat-7b", filename="config.json")

下载完后的文件会在root用户下的.cache 文件夹下
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/589363.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【热门话题】文言一心与ChatGPT-4:一场跨时代智能对话系统的深度比较

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 文言一心与ChatGPT-4:一场跨时代智能对话系统的深度比较一、技术背景…

Shell脚本介绍及基本功能

目录 一、什么是Shell 二、什么是Shell脚本 三、echo 四、Hello World 五、Bash的基本功能 1.别名 2.常用快捷键 3.输入输出 4.输出重定向 5.多命令执行 6.管道符 7.通配符和特殊符合 一、什么是Shell Shell是一种命令行解释器,它是操作系统的一部分&a…

【数据处理包Pandas】分组及相关操作

目录 一、初步认识分组并查看分组信息(一)通过聚合函数查看分组信息(二)转换成列表查看所有组的信息(三)通过循环查看各组的名称和组中的数据信息(四)通过get_group()方法直接获得一…

​理想汽车:智能化之路,道阻且长后发先至

‍‍‍ 写下这个标题时,我心情非常复杂,理想汽车在 2023 年前,给大众的印象几乎是冰箱彩电大沙发,智能化宣传着墨极少。 在小鹏公开宣布将自动驾驶作为自己的核心能力,蔚来也大举投入智能化研发时,理想汽…

阿里云数据库服务器价格表,2024年最新报价

阿里云数据库服务器价格表,优惠99元一年起,ECS云服务器2核2G、3M固定带宽、40G ESSD Entry云盘,优惠价格99元一年;阿里云数据库MySQL版2核2G基础系列经济版99元1年、2核4GB 227.99元1年,云数据库PostgreSQL、SQL Serve…

Cesium 仿高德导航线

最近在开发无人机平台中,做一个自主航线规划时,为了达到一个好的航线展示效果,决定仿照高德地图中的线路导航来做。高德地图导航线效果如下: 开始的时候想通过传统的贴图方式来进行处理,发现使用此种方式时&#xff0c…

深入C语言:探究static关键字的奥秘

文章目录 一、链接属性二、static变量1、定义静态局部变量2、在函数内部使用静态变量3、函数中静态局部变量与递归 三、static变量与全局变量的区别1、存储期与生命周期2、可见性与作用域3、使用场景4、静态与动态内存分配 注意事项 当用于不同的上下文环境时, sta…

手搓 Docker Image Creator(DIC)工具(02):预备知识

此节主要简单介绍一下 Docker、Dockerfile 的基本概念,Dockerfile 对的基本语法,Windows 和 macOS 下 Docker 桌面的安装,Docker 镜像的创建和运行测试等。 1 关于 Docker Docker 是一个开源的应用容器引擎,它允许开发者打包应用…

各种坐标系辨析

坐标系辨析 0. 地球椭圆体1. 大地坐标系2. eci地心惯性坐标系3. 地心地固坐标系(ECEF坐标系,E系)4. 站心坐标系(ENU坐标系)5. LTM坐标系6. IMU坐标系7. 代码部分7.1 LLA(大地坐标系坐标、经纬度海拔)坐标转LTM系(ENU系)下的三维笛卡尔坐标 0. 地球椭圆体 地球表面是…

游泳耳机哪个牌子最好?2024好评率爆表的四款游泳耳机推荐!

在当今快节奏的生活中,运动成为了我们保持健康和放松身心的重要方式之一。游泳作为一项全身运动,不仅可以帮助我们塑造身材,还能让我们在水中尽情享受自由的感觉。然而,在游泳过程中,音乐却往往因为防水问题而成为一种…

【氮化镓】同质GaN垂直PiN二极管的SEB

【Single-event burnout in homojunction GaN vertical PiN diodes with hybrid edge termination design. Appl. Phys. Lett. 124, 132101 (2024)https://doi.org/10.1063/5.0189744】 概括: 本研究探讨了具有混合边缘终止设计(Hybrid Edge Terminati…

LabVIEW挖坑指南

一、挖坑指南 1.1、输出变量放在条件框内 错误写法: 现象:如果没进入对应的分支,输出为默认值 正常写法: 让每个分支输出的值都在预料之内。 1.2、统计耗时不准 错误写法 现象:统计出来的耗时是2000ms 正常写法&a…