通义千问Qwen2-7b-instruct部署

前言

https://www.modelscope.cn/models/qwen/Qwen2-7B-Instruct
其实完全可以按照这个介绍来装,不过容易遇到一些问题,新学习,也是记录一下

环境

python 3.10

  1. 在自己电脑上用conda创建一个新环境
  2. 找租用的服务器租一台,3090一小时也就一两块钱

我个人是租的服务器来运行的

具体步骤

安装依赖

pip install transformers==4.37.0 accelerate tiktoken einops scipy transformers_stream_generator==0.0.4 peft deepspeed
pip install modelscope

假如说,依赖的包找不到,可以从网上找到zip或者tar,通过绝对地址来进行安装

pip install 包的绝对路径

模型下载

我没有预先下载模型,完全通过代码自动下载的,快慢主要受限于网速,我在服务器上下载模型很快,十分钟左右就下好了。

python3">from modelscope import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # the device to load the model ontomodel = AutoModelForCausalLM.from_pretrained("qwen/Qwen2-7B-Instruct",torch_dtype="auto",device_map="auto"
)

生成tokenizer

python3">tokenizer = AutoTokenizer.from_pretrained("qwen/Qwen2-7B-Instruct")

设置提示词

python3">prompt = "给我讲一个故事。"
messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True
)

模型初始角色试system,通过content中的提示词You are a helpful assistant.,这时候模型的角色就会变成了assistant,此时用户再进行对话Give me a short introduction to large language model.,模型就会给出回应

使用tokenizer分词

python3">model_inputs = tokenizer([text], return_tensors="pt").to(device)

代码运行结果

在这里插入图片描述

完整代码

python3">from modelscope import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # the device to load the model ontomodel = AutoModelForCausalLM.from_pretrained("qwen/Qwen2-7B-Instruct",torch_dtype="auto",device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("qwen/Qwen2-7B-Instruct")prompt = "给我讲一个故事。"
messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)generated_ids = model.generate(model_inputs.input_ids,max_new_tokens=512
)
generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)

问题解决

not found in your environment: transformers_stream_generator

transformers版本问题,卸载安装对应版本,而且原文写了要安装什么版本,transformers>=4.37.0

NoValidRevisionError: The model: qwen/Qwen2-7B-Instruct has no valid revision!

modelscope版本问题,更新modelscope版本,使用命令pip install --upgrade modelscope进行更新


http://www.ppmy.cn/ops/108525.html

相关文章

【ShuQiHere】初识 Node.js:服务器端 JavaScript 的强大之处

【ShuQiHere】 对于刚刚开始编程的同学来说,JavaScript 可能是你在前端开发中最先接触到的编程语言之一。你可能已经使用它来操控网页的动态行为,比如响应用户点击、验证表单输入,甚至通过 AJAX 进行数据请求。然而,JavaScript 并…

C++——类和对象(2)

目录 一、类的默认成员函数 二、构造函数 (1)定义 (2)特点 三、析构函数 (1)定义 (2)特点 四、拷贝构造函数 (1)定义 (2)特…

公司网站如何建立

如何建立公司网站的一些建议,以确保您的网站能够有效地传达信息、吸引访客并提升业务表现。 首先,确保网站设计符合企业品牌和目标受众。选择清晰、简洁且易于导航的设计风格,以确保访客能够轻松找到所需信息。网站的颜色、字体和图像应与公司…

微深节能 平板小车运动监测与控制系统 格雷母线

微深节能的平板小车运动监测与控制系统中的格雷母线,是一种高精度、非接触式的位移测量系统,它在平板小车的运动监测与控制中发挥着核心作用。 一、系统概述 微深节能的平板小车运动监测与控制系统通过集成格雷母线定位系统,实现了对平板小车…

《使用 Nginx 部署前端 Vue 项目》

一、引言 在现代前端开发中,Vue.js 以其高效、灵活和易用性成为了众多开发者的首选框架。而在项目部署阶段,选择一个合适的服务器软件至关重要。Nginx 作为一款高性能的 Web 服务器和反向代理服务器,能够为 Vue 项目的部署提供稳定、高效的解…

Spring Boot 集成 Redisson 实现消息队列

包含组件内容 RedisQueue:消息队列监听标识RedisQueueInit:Redis队列监听器RedisQueueListener:Redis消息队列监听实现RedisQueueService:Redis消息队列服务工具 代码实现 RedisQueue import java.lang.annotation.ElementTyp…

Ansible简单部署与使用

目录 环境安装Ansibleapt installmarkupsafe error 配置Ansible创建个人目录ansible.cfghosts 测试Ansibleping批量执行自定义命令 环境 Ubuntu 20.04 安装Ansible apt install sudo apt install ansiblemarkupsafe error 安装成功后,尝试运行ansible&#xff…

基于微信小程序+Java+SpringBoot+Vue+MySQL的网上花店/鲜花销售小程序

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于微信小程序JavaSpringBootVueMySQL的网上花店/鲜花销售…

HTML 揭秘:HTML 编码快速入门

HTML 揭秘:HTML 编码快速入门 一 . 前端知识介绍二 . HTML 介绍三 . HTML 快速入门四 . HTML 编辑器 - VSCode4.1 插件安装4.2 修改主题配色4.3 修改快捷键4.4 设置自动保存4.5 创建 HTML 文件4.5 书写 HTML 代码4.6 常见快捷键 五 . 基础标签5.1 字体标签5.1.1 col…

QT中调用C#的库,如何操作

https://www.jb51.net/article/225143.htm https://www.cnblogs.com/symcheal/p/14639959.html 总的来说: 1、纯纯的C#库的制作 2、CLR库的制作 需要把C#的库拷到项目目录下(#using); // CLRLibrary.h#pragma onceusing namespace System<

当小程序遭遇攻击或超出流量峰值时:SCDN边缘加速的高效防护策略!

在数字化时代&#xff0c;小程序因其便捷性和丰富的功能而备受用户喜爱&#xff0c;但这也使其成为了网络攻击的目标之一。DDoS攻击、CC攻击等不仅会影响小程序的正常运行&#xff0c;还会损害用户体验和品牌形象。在这种情况下&#xff0c;选择合适的安全防护措施至关重要。边…

Mysql事件操作

查看是否开启事件 SELECT event_scheduler; SHOW VARIABLES LIKE %event_scheduler%; 开启或关闭事件 SET GLOBAL event_scheduler 1; SET GLOBAL event_scheduler on; SET GLOBAL event_scheduler 0; SET GLOBAL event_scheduler off; 创建事件sql CREATE EVENT IF…

LeetCode移除元素

题目描述 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。 假设 nums 中不等于 val 的元素数量为 k&#xff0c;要通过此题&#xff0c;您需要执行以下操作&#x…

RISC-V最先进CPU微架构分析

简介 近几年热门的RISC-V架构发展迅猛&#xff0c;尽管因为生问题&#xff0c;RISC-V应用方向主要是单片机级的&#xff0c;高端应用方向发展发展速度缓慢&#xff0c;依然有不少公司推出了基于RISC-V指令集的高端应用场景的处理器。 本文汇总具有代表性的RISC-V公司推出的先…

Flutter类

Dart中的对象都继承自 Object 类&#xff0c;单继承&#xff08;extend关键字&#xff09;。Dart与Java、kotlin不同的是其无public、private、protected修饰符&#xff0c;默认public &#xff0c;通过在属性名、方法名前加 _下划线 来定义是否私有。 实现一个简单的类 class…

了解自闭症寄宿学校的特点与教育模式

了解自闭症寄宿学校的特点与教育模式&#xff1a;以星贝育园为例 在为自闭症儿童寻找合适的教育与康复环境时&#xff0c;家长们往往面临诸多选择与挑战。自闭症寄宿学校作为一种特殊的教育形式&#xff0c;以其独特的特点与教育模式&#xff0c;为自闭症儿童提供了更加全面、…

什么是图像的边缘?说说边缘检测的任务以及基本原理?

什么是图像的边缘&#xff1f;说说边缘检测的任务以及基本原理&#xff1f; 什么是图像的边缘&#xff1f;边缘检测的任务边缘检测的基本原理 什么是图像的边缘&#xff1f; 图像的边缘是图像中亮度、颜色或纹理等特征发生急剧变化的地方&#xff0c;这些变化通常代表了图像中…

Playwright 测试:如何在云端使用 Browserless 运行?

什么是 Playwright&#xff1f; Playwright 是由微软开发的一个功能强大且用途广泛的自动化库。它使开发人员和测试人员能够轻松地跨多个浏览器自动化 Web 应用程序。 Playwright 自动化支持 Chromium、Firefox 和 WebKit&#xff0c;允许您跨不同浏览器进行测试。它支持 Jav…

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端&#xff0c;一般来说需要版本检测和自动更新功能&#xff0c;这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤&#xff1a; 读取本地应用版本拉取远程版本并比较两个版本如果需要升级&…

深度学习(七)-计算机视觉基础

计算机视觉 计算机视觉在广义上是和图像相关的技术总称。包括图像的采集获取&#xff0c;图 像的压缩编码&#xff0c;图像的存储和传输&#xff0c;图像的合成&#xff0c;三维图像重建&#xff0c;图像增强&#xff0c;图像修复&#xff0c;图像的分类和识别&#xff0c;目…