通义千问部署搭建

文章目录

  • 一、部署1
    • [1.1 打开通义千问-7B-预训练-模型库-选择资源](#1.1 打开通义千问-7B-预训练-模型库-选择资源)
    • [1.2 使用Netbook](#1.2 使用Netbook)
    • [2.1 运行](#2.1 运行)
    • [2.2 复制脚本](#2.2 复制脚本)
      • [2.2.1 问题1 :ImportError: This modeling file requires the following packages that were not found in your environment: transformers_stream_generator. Run `pip install transformers_stream_generator`](#2.2.1 问题1 :ImportError: This modeling file requires the following packages that were not found in your environment: transformers_stream_generator. Run pip install transformers_stream_generator)
    • [2.3 查看结果](#2.3 查看结果)
    • 3.其他作者的demo
    • [3.1 克隆代码](#3.1 克隆代码)
    • [3.2 加载依赖](#3.2 加载依赖)
    • [3.3 运行代码](#3.3 运行代码)
  • 二、部署2
    • [1.1 启动服务器](#1.1 启动服务器)
    • [1.2 使用官方提供的demo](#1.2 使用官方提供的demo)
    • [1.2 为了拉去大模型,更新LFS](#1.2 为了拉去大模型,更新LFS)
    • [2.1 拉千问模型文件](#2.1 拉千问模型文件)
    • [3.1 修改web.demo.py地址](#3.1 修改web.demo.py地址)
    • [4 运行](#4 运行)
    • [5 成功](#5 成功)
    • 5开启量化

部署参考视频

通义千问-7B-预训练-模型库

一、部署1

1.1 打开通义千问-7B-预训练-模型库-选择资源



1.2 使用Netbook

弹出新页面

2.1 运行

2.2 复制脚本

python 复制代码
from modelscope import AutoModelForCausalLM, AutoTokenizer
from modelscope import GenerationConfig
import datetime
print("启动时间:" + str(datetime.datetime.now()))
tokenizer = AutoTokenizer.from_pretrained("qwen/Qwen-7B-Chat", revision = 'v1.0.5',trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("qwen/Qwen-7B-Chat", revision = 'v1.0.5',device_map="auto",offload_folder="offload_folder", trust_remote_code=True,fp16 = True).eval()
model.generation_config = GenerationConfig.from_pretrained("Qwen/Qwen-7B-Chat",revision = 'v1.0.5', trust_remote_code=True) # 可指定不同的生成长度、top_p等相关超参
model.float()

print("开始执行:" + str(datetime.datetime.now()))
response, history = model.chat(tokenizer, "你好", history=None)
print(response)
print("第一个问题处理完毕:" + str(datetime.datetime.now()))
response, history = model.chat(tokenizer, "浙江的省会在哪里?", history=history) 
print(response)
print("第二个问题处理完毕:" + str(datetime.datetime.now()))
response, history = model.chat(tokenizer, "它有什么好玩的景点", history=history)
print(response)
print("第三个问题处理完毕:" + str(datetime.datetime.now()))


2.2.1 问题1 :ImportError: This modeling file requires the following packages that were not found in your environment: transformers_stream_generator. Run pip install transformers_stream_generator

解决方法
pip install transformers_stream_generator



这就好了,重新运行下

ValueError: The current device_map had weights offloaded to the disk. Please provide an offload_folder for them. Alternatively, make sure you have safetensors installed if the model you are using offers the weights in this format.

参照这哥们的

https://zhuanlan.zhihu.com/p/649272911

2.3 查看结果

3.其他作者的demo

3.1 克隆代码

git clone https://gitee.com/JokerBao/Qwen-7B-FastWeb.git

3.2 加载依赖

bash 复制代码
pip install -r requirements.txt

3.3 运行代码

bash 复制代码
python Qwen_demo.py




二、部署2

1.1 启动服务器

1.2 使用官方提供的demo

拉代码

bash 复制代码
git clone https://github.com/QwenLM/Qwen-7B.git

1.2 为了拉去大模型,更新LFS

bash 复制代码
apt-get update


bash 复制代码
apt-get install git-lfs

2.1 拉千问模型文件

bash 复制代码
git clone https://www.modelscope.cn/qwen/Qwen-7B-Chat.git

初始化一下

2.1.1模型下载成功

2.1.2 安装依赖

为了方便我把模型移动到一开始的文件夹里面

bash 复制代码
pip install -r requirements.txt

也可以使用web依赖

bash 复制代码
pip install -r requirements_web_demo.txt

3.1 修改web.demo.py地址

然后ctrl+s 保存

4 运行

bash 复制代码
 python web_demo.py 

5 成功

5开启量化

bash 复制代码
pip install bitsandbytes

添加依赖

bash 复制代码
from transformers import BitsAndBytesConfig
import torch

添加

bash 复制代码
quantization_config = BitsAndBytesConfig(
            load_in_4bit=True,
            bnb_4bit_quant_type='nf4',
            bnb_4bit_compute_dtype=torch.bfloat16)


相关推荐
岱宗夫up3 分钟前
基于ROS的视觉导航系统实战:黑线循迹+激光笔跟随双模态实现(冰达机器人Nano改造)
linux·python·机器人·ros
别或许39 分钟前
python中的异步调用(直接使用教程)
java·前端·python
百***243741 分钟前
DeepSeek-V3.2全解析:开源大模型的性能巅峰与落地实践指南
python·开源
方安乐1 小时前
杂记:Quart和Flask比较
后端·python·flask
嫂子开门我是_我哥1 小时前
第十六节:异常处理:让程序在报错中稳定运行
开发语言·python
测试19981 小时前
如何使用Appium实现移动端UI自动化测试?
自动化测试·软件测试·python·测试工具·ui·appium·测试用例
yuankoudaodaokou1 小时前
无图纸如何定制汽车外饰件?3DeVOK MT+ QUICKSURFACE逆向设计解决方案
python·3d·汽车·机器翻译
郝学胜-神的一滴1 小时前
Python中的with语句与try语句:资源管理的两种哲学
linux·服务器·开发语言·python·程序人生·算法
难得的我们2 小时前
如何为开源Python项目做贡献?
jvm·数据库·python
和小胖11222 小时前
Anaconda虚拟环境创建步骤
python·conda·numpy