通义千问部署搭建

文章目录

  • 一、部署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)


相关推荐
不知名的老吴2 分钟前
Lambda表达式与新的Streams API相结合
开发语言·python
weelinking6 小时前
【产品】12_接入数据库——让数据永久保存
jvm·数据库·python·react.js·数据挖掘·前端框架·产品经理
程序大视界7 小时前
【Python系列课程】Python正则表达式(下):环视、命名分组与日志实战
开发语言·python·正则表达式
TickDB7 小时前
美股行情 API 接入避坑:REST 快照、WebSocket 推送、盘前盘后数据的边界
人工智能·python·websocket·行情数据 api
枫叶v.8 小时前
Agent 分层存储架构设计:从记忆方法到中间件选型
开发语言·python
水兵没月8 小时前
逆向实战小记——某ToB商城网站分析学习
python·网络爬虫
程序员小远8 小时前
Python自动化测试框架及工具详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
sleven fung9 小时前
MinerU与BabelDOC与KTransformers与OpenAI API库
开发语言·python·ai·langchain
小毛驴8509 小时前
spring-boot-maven-plugin,maven-compiler-plugin 功能对比
java·python·maven
萤萤七悬9 小时前
【Python笔记】AI帮实现CLI工具-使用argparse.ArgumentParser接收命令参数
开发语言·笔记·python