vllm 库调用大模型

使用 vllm 库调用大模型,这里调用的是通义千问,那需要先下载:

通义千问-14B-Chat

vllm 这个库目前只能在 linux 上用, win 是用不了的,pip 安装不了,这里弄了一个调用示例代码

from vllm import LLM, SamplingParams
from transformers import AutoModelForCausalLM, AutoTokenizer
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '0'  # 设置使用第一块 gpu
model_path = ''
# tokenizer_mode='slow'表示使用慢速但更精确的tokenizer模式。
# tensor_parallel_size=2,表明在多GPU环境下进行张量并行计算的大小
# trust_remote_code=True,信任远程代码执行(根据具体库实现可能与安全性相关)
model = LLM(modle=model_path, tokenizer=model_path, tokenizer_mode='slow', tensor_parallel_size=2,trust_remote_code=True)''''
pad_token='<|extra_0|>':指定了填充token,当需要对输入序列进行填充以保持固定长度时,会用到这个token。在处理批次数据时,通常需要所有序列具有相同的长度,较短的序列会在指定侧(这里是左侧)使用填充token进行填充。
eos_token='':终止符(End of Sequence),表示序列的结束。在自回归语言模型中,它有时用来标记文本块的结尾。当模型生成文本时,遇到此标记可能会停止生成新的tokens。
padding_side='left':指定在哪个侧面对序列进行填充。在这里是“left”,意味着在每个样本的左侧添加填充token,直到所有样本达到batch中最长样本的长度。
trust_remote_code=True:这个参数允许从远程位置(如Hugging Face Model Hub)加载tokenizer时信任远程代码。这主要是为了安全和执行远程代码而设置的一个选项,确保在加载预训练模型tokenizer时能够顺利运行来自可信源的代码。
'''
tokenizer = AutoTokenizer.from_pretrained(model_path,pad_token='<|extra_0|>',  # 设置填充tokeneos_token='<|endoftext|>',padding_side='left',  # 在序列左侧进行填充trust_remote_code=True  #
)# temperature 调节生成样本的随机性,默认情况下温度越高,生成结果越多样;温度越低,生成结果越接近训练数据的概率分布。一般 0-1 ,超过1模型说的话不太可用
# stop=['', '<|im_start|>', '']:当生成的序列包含这些终止符时,停止生成
# max_tokens=1000:限制生成的最大token数量
sampling_params = SamplingParams(temperature=0.9,stop=['<|im_end|>','<|im_start|>', '<|endoftext|>'], max_tokens=1000)'''
<'|im_start|'>' 和 '<'|endoftext|'>' 是预定义的特殊标记,分别表示一个新对话的开始和文本块的结束。当模型在生成过程中遇到这些标记时,
它会知道当前输入已经完成
因为调用模型是一批一批的,存入列表中去调用的,肯呢个 vllm 内部会吧列表的东西合起来,这样就需要加入结束符来区别每次的输入
'''
prompt_before = '<|im_start|>system\n你是自然语言处理专家<|im_end|>\n<|im_start|>user\n'
prompt_after = '<|im_end|>\n<|im_start|>assistant\n'message = f'''你好,你是谁?'''
batch_prompts = []
cur_prompts = prompt_before + message + prompt_after
batch_prompts.append(message)
outputs = model.generate(batch_prompts, sampling_params)
for output in outputs:generated_text = output.outputs[0].textprint(generated_text)

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

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

相关文章

day08.C++继承与派生

继承&#xff08;Inheritance&#xff09;可理解为一个类从另一个类获取成员变量和成员函数的过程。例如类 B 继承于类 A&#xff0c;那么 B 就拥有 A 的成员变量和成员函数。 在C中&#xff0c; 派生&#xff08;Derive&#xff09; 和继承是一个概念&#xff0c;只是站的角度…

基于蓄电池和飞轮混合储能系统的SIMULINK建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 蓄电池储能原理 4.2 飞轮储能原理 4.3 混合储能系统原理 5.完整工程文件 1.课题概述 基于蓄电池和飞轮混合储能系统的SIMULINK建模与仿真。蓄电池和飞轮混合储能&#xff0c;蓄电池可以用SIMULINK…

hook函数——useMemo

useMemo 1.useMemo定义 useMemo 是一个 React Hook&#xff0c;它在每次重新渲染的时候能够缓存计算的结果。 const 变量名 useMemo(calculateValue, dependencies) calculateValue&#xff1a;要缓存计算值的函数。它应该是一个没有任何参数的纯函数&#xff0c;并且可以返…

整合ssm框架的步骤

SSM整合框架是指SpringSpringMVCMyBatis的整合框架。 Spring是一个轻量级的Java开发框架&#xff0c;提供了控制反转&#xff08;IoC&#xff09;和面向切面编程&#xff08;AOP&#xff09;等功能&#xff0c;可以管理和组织Java应用程序中的各个组件。SpringMVC是基于Spring…

Vuex核心知识整理

目录 1 搭建vuex环境 2 求和案例 3 getters 配置项 4 mapState 和 mapGetters 5 mapMutations 和 mapActions 6 Vuex 模块化 1 搭建vuex环境 vuex工作原理图&#xff08;摘自官网&#xff09; 什么时候使用Vuex&#xff1a; 1.当多个组件依赖于统一状态 2.来自不同组件…

第三百五十一回

文章目录 1. 概念介绍2. 获取方法3. 示例代码4. 对比与总结4.1 横向对比4.2 内容总结 我们在上一章回中介绍了"如何获取当前系统语言"相关的内容&#xff0c;本章回中将介绍获取当前时区.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们使用的北京…

解决:docker创建Redis容器成功,但无法启动Redis容器、也无报错提示

解决&#xff1a;docker创建Redis容器成功&#xff0c;但无法启动Redis容器、也无报错提示 一问题描述&#xff1a;1.docker若是直接简单使用run命令&#xff0c;但不挂载容器数据卷等参数&#xff0c;则可以启动Redis容器2.docker复杂使用run命令&#xff0c;使用指定redis.co…

Kubernetes实战:Kubernetes中网络插件calico Daemon Sets显示异常红色

目录 一、排查步骤与解决方案1.1、POD排查问题定位1.2、针对问题解决错误1.3、继续针对问题解决错误 一、排查步骤与解决方案 1.1、POD排查问题定位 我的k8s集群由3个节点组成的&#xff0c;calico在每个节点上都有一个pod,通过kubectl get pod -A命令发现有一个pod的READY 为…

CVE-2022-24652 漏洞复现

CVE-2022-24652 开题 后台管理是thinkphp的&#xff0c;但是工具没检测出漏洞。 登陆后界面如下&#xff0c;上传头像功能值得引起注意 这其实就是CVE-2022-24652&#xff0c;危险类型文件的不加限制上传&#xff0c;是文件上传漏洞。漏洞路由/user/upload/upload 参考文章&a…

web 发展阶段 -- 详解

1. web 发展阶段 当前处于 移动 web 应用阶段。也是个风口&#xff08;当然是针对有能力创业的人来说的&#xff09;&#xff0c;如 抖音、快手就是这个时代的产物。 2. web 发展阶段引出前后端分离的过程 2.1 传统开发方式 2.2 前后端分离模式 衍生自移动 web 应用阶段。 3.…

YOLOv8改进 | Neck篇 | 当SDI碰上BiFPN形成全新的特征金字塔网络(全网独家创新)

一、本文介绍 本文给大家带来的改进机制是利用多层次特征融合模块(SDI)配上经典的加权双向特征金字塔网络Bi-FPN形成一种全新的Neck网络结构,从而达到二次创新的效果,其中(SDI)模块的主要思想是通过整合编码器生成的层级特征图来增强图像中的语义信息和细节信息。Bi-FPN…

VMwareWorkstation17.0虚拟机安装搭建Windows 11虚拟机(完整图文详细步骤教程)

VMwareWorkstation17.0虚拟机安装搭建Windows 11虚拟机&#xff08;完整图文详细步骤教程&#xff09; 一、下载Windows11二、配置Windows11虚拟机机器环境三、启动Windows11系统 一、下载Windows11 【点击打开最全面的Windows 11原版系统镜像下载地址】 https://blog.csdn.ne…

463. Island Perimeter(岛屿的周长)

问题描述 给定一个 row x col 的二维网格地图 grid &#xff0c;其中&#xff1a;grid[i][j] 1 表示陆地&#xff0c; grid[i][j] 0 表示水域。 网格中的格子 水平和垂直 方向相连&#xff08;对角线方向不相连&#xff09;。整个网格被水完全包围&#xff0c;但其中恰好有…

MySQL数据表的约束

已经一个星期没更了&#xff0c;因为过年嘛&#xff0c;比较忙&#xff0c;我玩心也大&#xff0c;就没继续更新&#xff0c;在这里给大家道歉&#xff0c;也祝大家新的一年快快乐乐&#xff0c;新年快乐。 为防止数据表中插入错误的数据&#xff0c;MySQL定义了一些规则维护数…

人工智能专题:2024亚太地区生成式人工智能应用与监管报告

今天分享的是人工智能系列深度研究报告&#xff1a;《人工智能专题&#xff1a;2024亚太地区生成式人工智能应用与监管报告》。 &#xff08;报告出品方&#xff1a;德勤&#xff09; 报告共计&#xff1a;20页 来源&#xff1a;人工智能学派 知识更新&#xff1a;了解传统…

代码随想录算法训练营第32天| 122.买卖股票的最佳时机 II、55. 跳跃游戏、45.跳跃游戏 II

文章目录 Leetcode 122.买卖股票的最佳时机 IILeetcode 55. 跳跃游戏Leetcode 45.跳跃游戏 II Leetcode 122.买卖股票的最佳时机 II 题目链接&#xff1a;Leetcode 122.买卖股票的最佳时机 II 题目描述&#xff1a; 给定一个数组&#xff0c;它的第 i个元素是一支给定股票第i天…

【笔记】Helm-5 Chart模板指南-13 调试模板

调试模板 调试模板可能很棘手&#xff0c;因为渲染后的模板发送了kubernetes API server&#xff0c;可能会以格式化以外的原因拒绝YAML文件。 以下命令有助于调试&#xff1a; 1、helm lint 是验证chart是否遵循最佳实践的首选工具。 2、helm template --debug在本地测试渲…

IP地址+子网掩码+CIDR学习笔记

目录 一、IP地址 1、表示方法&#xff1a; 2、特殊IP地址 二、子网掩码 1、判断网络位和主机位 2、子网划分 三、无分类编址CIDR 1、CIDR路由汇聚 汇聚规则&#xff1a; 汇聚ID&#xff1a; 2、最佳路由匹配原则 一、IP地址 1、表示方法&#xff1a; 机器中存放的…

(免费领源码)java#springboot#mysql医院自助服务系统74853-计算机毕业设计项目选题推荐

目 录 摘要 1 绪论 1.1研究意义 1.2研究背景 1.3springboot框架介绍 1.3论文结构与章节安排 2 医院自助服务系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分…

JWT登录验证前后端设计与实现笔记

设计内容 前端 配置全局前置路由守卫axios拦截器登录页面和主页 后端 JWT的封装登录接口中间件放行mysql数据库的连接 详细设计 路由设计 配置全局前置守卫&#xff0c;如果访问的是登录页面则放行&#xff0c;不是则进入判断是否有token&#xff0c;没有则拦截回到登录…