大模型部署_书生浦语大模型 _作业2基本demo

news2025/1/18 21:08:34

本节课可以让同学们实践 4 个主要内容,分别是:

1、部署 InternLM2-Chat-1.8B 模型进行智能对话

1.1安装依赖库:

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

 1.2下载 InternLM2-Chat-1.8B 模型

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')

1.3运行 cli_demo 

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM


model_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":
        break

    length = 0
    for response, _ in model.stream_chat(tokenizer, input_text, messages):
        if response is not None:
            print(response[length:], flush=True, end="")
            length = len(response)

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

  • 八戒-Chat-1.8B:魔搭社区
  • 聊天-嬛嬛-1.8B:OpenXLab浦源 - 模型中心
  • Mini-Horo-巧耳:OpenXLab浦源 - 模型中心
git clone https://gitee.com/InternLM/Tutorial -b camp2

 执行下载模型:

python /root/Tutorial/helloworld/bajie_download.py

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

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

 

3、通过 InternLM2-Chat-7B 运行 Lagent 智能体 Demo

 

Lagent 的特性总结如下:

  • 流式输出:提供 stream_chat 接口作流式输出,本地就能演示酷炫的流式 Demo。
  • 接口统一,设计全面升级,提升拓展性,包括:
    • 型号 : 不论是 OpenAI API, Transformers 还是推理加速框架 LMDeploy 一网打尽,模型切换可以游刃有余;
    • Action: 简单的继承和装饰,即可打造自己个人的工具集,不论 InternLM 还是 GPT 均可适配;
    • Agent:与 Model 的输入接口保持一致,模型到智能体的蜕变只需一步,便捷各种 agent 的探索实现;
  • 文档全面升级,API 文档全覆盖。

下载模型:

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 . # 源码安装

在 terminal 中输入指令,构造软链接快捷访问方式:

ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b /root/models/internlm2-chat-7b

打开 路径下 文件,并修改对应位置 (71行左右) 代码 :internlm2_agent_web_demo_hf.py

 

 修改模型地址:

运行前端代码:

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

4、实践部署 浦语·灵笔2 模型

补充环境包,选用 进行开发:50% A100
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

 在 中输入指令,构造软链接快捷访问方式:terminal

ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm-xcomposer2-7b /group_share/01/models/internlm-xcomposer2-7b
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm-xcomposer2-vl-7b /group_share/01/models/internlm-xcomposer2-vl-7b

  图文写作实战(开启 50% A100 权限后才可开启此章节)

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

 

 

 图片理解实战(开启 50% A100 权限后才可开启此章节)

根据附录 6.4 的方法,关闭并重新启动一个新的 ,继续输入指令,启动 :terminalInternLM-XComposer2-vl

conda activate demo

cd /root/demo/InternLM-XComposer
python gradio_demo_chat.py  \
--code_path /group_share/01/models/internlm-xcomposer2-vl-7b \
--private \
--num_gpus 1 \
--port 6006

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

系统架构设计师【第5章】: 软件工程基础知识 (核心总结)

文章目录 5.1 软件工程5.1.1 软件工程定义5.1.2 软件过程模型5.1.3 敏捷模型5.1.4 统一过程模型(RUP)5.1.5 软件能力成熟度模型 5.2 需求工程5.2.1 需求获取5.2.2 需求变更5.2.3 需求追踪 5.3 系统分析与设计5.3.1 结构化方法5.3.2 面向对象…

Kafka自定义分区器编写教程

1.创建java类MyPartitioner并实现Partitioner接口 点击灯泡选择实现方法,导入需要实现的抽象方法 2.实现方法 3.自定义分区器的使用 在自定义生产者消息发送时,属性配置上加入自定义分区器 properties.put(ProducerConfig.PARTITIONER_CLASS_CONFIG,&q…

RabbitMQ(Direct 订阅模型-路由模式)的使用

文章目录 RabbitMQ(Direct 订阅模型-路由模式)一,Direct 订阅模型-路由模式介绍(Routing)二,使用1.添加依赖2.修改配置文件3.创建配置类4.注入RabbitMQ模版引擎5.消息的发送6.消息的接收(监听)7.设置回调函…

2024.5.30学习记录

1 面经复习 LRU 手写 等 2 代码随想录二刷 3 rosebush完成 upload组件 初步完成 form组件

如何设置手机的DNS

DNS 服务器 IP 地址 苹果 华为 小米 OPPO VIVO DNS 服务器 IP 地址 中国大陆部分地区会被运营商屏蔽网络导致无法访问,可修改手机DNS解决。 推荐 阿里的DNS (223.5.5.5)或 114 (114.114.114.114和114.114.115.115) 更多公开DNS参考: 苹果…

鸿蒙开发接口媒体:【@ohos.multimedia.media (媒体服务)】

媒体服务 说明: 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 开发前请熟悉鸿蒙开发指导文档: gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 媒体子系…

dubbo复习:(11)使用grpc客户端访问tripple协议的dubbo 服务器

一、服务器端依赖&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.…

尝试用智谱机器人+知识库,制作pytorch测试用例生成器

尝试用智谱机器人知识库,制作pytorch测试用例生成器 1 保存pytorch算子文档到txt2 创建知识库3 创建聊天机器人4 测试效果5 分享 背景:是否能将API的接口文档和sample放到RAG知识库,让LLM编写API相关的程序呢 小结:当前的实验效果并不理想,可以生成代码,但几乎都存在BUG 1 保存…

Window系统安装Docker

因为docker只适合在liunx系统上运行&#xff0c;如果在window上安装的话&#xff0c;就需要开启window的虚拟化&#xff0c;打开控制面板&#xff0c;点击程序&#xff0c;在程序和功能中可以看到启动和关闭window功能&#xff0c;点开后&#xff0c;找到Hyper-V&#xff0c;Wi…

DevExpress开发WPF应用实现对话框总结

说明&#xff1a; 完整代码Github​&#xff08;https://github.com/VinciYan/DXMessageBoxDemos.git&#xff09;DevExpree v23.2.4&#xff08;链接&#xff1a;https://pan.baidu.com/s/1eGWwCKAr8lJ_PBWZ_R6SkQ?pwd9jwc 提取码&#xff1a;9jwc&#xff09;使用Visual St…

FFmpeg 中 Filters 使用文档介绍

描述 这份文档描述了由libavfilter库提供的过滤器Filters、源sources和接收器sinks。 滤镜介绍 FFmpeg通过libavfilter库启用过滤功能。在libavfilter中,一个过滤器可以有多个输入和多个输出。为了说明可能的类型,我们考虑以下过滤器图: 这个过滤器图将输入流分成两个流,然…

微信小程序-wx.showToast超长文字展示不全

wx.showToast超长文字展示不全 问题解决方法1 问题 根据官方文档&#xff0c;iconnone&#xff0c;最多显示两行文字。所以如果提示信息较多&#xff0c;超过两行&#xff0c;就需要用其他方式解决。 解决方法1 使用vant组件里面的tost 根据官方例子使用&#xff1a; 1、在…

实用软件分享---- i茅台 在windows上自动预约和自动获取小茅运的软件

专栏介绍:本专栏主要分享一些实用的软件(Po Jie版); 声明1:软件不保证时效性;只能保证在写本文时,该软件是可用的;不保证后续时间该软件能一直正常运行;不保证没有bug;如果软件不可用了,我知道后会第一时间在题目上注明(已失效)。介意者请勿订阅。 声明2:本专栏的…

设计模式22——备忘录模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用&#xff0c;主要是下面的UML图可以起到大作用&#xff0c;在你学习过一遍以后可能会遗忘&#xff0c;忘记了不要紧&#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 备忘录模式&#xff08;Mement…

Unity 资源 之 100+风格化武器包-幻想RPG资源分享

Unity 资源 之 100风格化武器包-幻想RPG资源分享 前言资源包内容领取兑换码 前言 在游戏开发的广阔天地中&#xff0c;Unity 一直是备受青睐的强大引擎。而今天&#xff0c;我们要着重为大家介绍一个令人瞩目的 Unity 资源——100风格化武器包-幻想 RPG。 这个武器包就像是一…

移植其他命令行Vivado IDE的工具

移植其他命令行Vivado IDE的工具 介绍 本章介绍如何迁移各种AMD命令行工具以在AMD中使用 Vivado™集成设计环境&#xff08;IDE&#xff09;。 迁移ISE Partgen命令行工具 ISE™Design Suite Partgen工具可获得&#xff1a; •系统上安装的所有设备的信息 •详细的包装信息 您可…

2.5Bump Mapping 凹凸映射

一、Bump Mapping 介绍 我们想要在屏幕上绘制物体的细节&#xff0c;从尺度上讲&#xff0c;一个物体的细节分为&#xff1a;宏观、中观、微观宏观尺度中其特征会覆盖多个像素&#xff0c;中观尺度只覆盖几个像素&#xff0c;微观尺度的特征就会小于一个像素宏观尺度是由顶点或…

谷歌上架,可以用云手机来完成开发者个人号“20+14”封测?

根据谷歌的政策要求&#xff0c;自2023年11月13日之后创建的个人开发者账号&#xff0c;其应用必须满足20人连续14天封闭测试的要求&#xff0c;才能在Google Play 中上架正式版应用。 20人连续测试14天&#xff0c;这对大多数开发者&#xff0c;尤其是那些采用矩阵方式上架的开…

免费生物蛋白质的类chatgpt工具助手copilot:小分子、蛋白的折叠、对接

参考: https://310.ai/copilot 可以通过自然语言通话晚上蛋白质的相关处理:生成序列、折叠等 应该是agent技术调用不同工具实现 从UniProt数据库中搜索和加载蛋白质。使用ESM Fold方法折叠蛋白质。使用310.ai基础模型设计新蛋白质。使用TM-Align方法比较蛋白质。利用Protei…

neutron学习小结

概述 基于yoga版本学习neutron&#xff0c;通过源码、官方文档、部署环境进行学习 neutron-dhcp-agent neutron.agent.dhcp_agent.main 创建server&#xff0c;调oslo_service launch server&#xff0c;最后实际调了server的start方法 neutron.service.Service.start Serv…