当前位置: 首页 > ai >正文

wsl 安装vllm 0.9.1 + torch 2.7.0 + xformers 0.0.30 + flashinfer

system version: Ubuntu 22.04
python version: 3.11   # 3.13 以上或3.9以下可能安装失败

一、安装vllm

# 官网:https://docs.vllm.ai/en/latest/getting_started/installation/gpu.html#create-a-new-python-environment
# 要保证 cuda 版本与torch一致 12.6
pip install vllm==0.9.1 --extra-index-url https://download.pytorch.org/whl/cu126

二、覆盖 torch 版本

# 官网:https://pytorch.org/get-started/previous-versions/
# cuda 版本选择 12.6,与上面一致
pip3 install torch==2.7.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126

三、xformers 安装:

  1. xformer 版本冲突问题:
    卸载重装:xformers github
pip3 install -U xformers==0.0.30 --index-url https://download.pytorch.org/whl/cu126 --no-deps
# 这会只安装 xformers 本身,不安装或更新其依赖项,或更改torch版本

四、安装flashinfer加速推理

flashinfer github

pip install flashinfer-python

五、wsl2 使用vllm部署模型时出现部署成功,但127.0.0.1 无法访问问题

vllm 部署DeepSeek-R1-Distill-Qwen-1.5B

vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B \--reasoning-parser deepseek_r1 \--host 0.0.0.0 \--port 8000# 使用 --hf-token 加入Huggingface 用户token 下载模型
vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B \--reasoning-parser deepseek_r1 \--host 0.0.0.0 \--port 8000 \--hf-token XXXXXXXXXXXXXXX

在这里插入图片描述

但使用 curl 访问127.0.0.1localhost服务会失败,这可能是wsl2镜像网络造成的

curl 127.0.0.1:8000/v1/models
# 使用 -v 获得访问的详细信息
curl -v 127.0.0.1:8000/v1/models

在这里插入图片描述

解决方法:使用ifconfig获得wsl 的虚拟ip,使用该ip进行访问

curl -v 192.168.1.4:8000/v1/models

在这里插入图片描述
可以看到依然访问失败,这里是因为 192.** 触发了本地网络代理服务器,将代理取消访问

curl --proxy "" -v 192.168.1.4:8000/v1/models
# 或者使用下面命令临时禁用代理后访问
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY 
curl -v 192.168.1.4:8000/v1/models# python 取消代理的方法
import os
# 方法一:删除代理相关的环境变量
proxy_vars = ['http_proxy', 'https_proxy', 'HTTP_PROXY', 'HTTPS_PROXY']
for var in proxy_vars:if var in os.environ:del os.environ[var]# 方法二:设置为空字符串
os.environ['http_proxy'] = ''
os.environ['https_proxy'] = ''
os.environ['HTTP_PROXY'] = ''
os.environ['HTTPS_PROXY'] = ''

访问成功:
在这里插入图片描述

http://www.xdnf.cn/news/13743.html

相关文章:

  • RocketMQ 客户端编程模型
  • 第28节 Node.js 文件系统
  • SAP调用deepseek 的API
  • 成像细节丢失如何解决?OAS 矩孔衍射聚焦模型来解困
  • JY901-ROS2驱动代码
  • 力扣-70.爬楼梯
  • 解决蓝牙MAC 地址倒序问题
  • 第十四届蓝桥杯大赛软件赛国赛Java大学A组答案整理
  • 968. Binary Tree Cameras
  • [架构之美]深入优化Spring Boot WebFlux应用
  • 力扣HOT100之技巧:75. 颜色分类
  • 《拆解问题的技术》笔记
  • 常用三款解压软件对比
  • Python6.12打卡(day44)
  • Dify Python调用API
  • 从基础镜像到自定义镜像Docker容器化镜像的演变之路
  • double + double会有精度问题(通过BigDecimal解决)
  • 力扣HOT100之贪心算法:763. 划分字母区间
  • Nacos服务注册与发现原理
  • 关于安卓dialogFragment中,EditText无法删除文字的问题
  • 103. Java 继承 - 状态、实现和类型的多重继承
  • 全球/中国降水量数据集(1940-2024年)
  • 图像解码失败检测
  • 健康管理实训室建设方案:构建智慧康养人才培养生态体系
  • PERST#、Hot Reset、Link Disable
  • React16,17,18,19更新对比
  • slam--高斯分布
  • 《树状数组》
  • 消除信息屏障推动系统联动,IBMS系统成为建筑智能控制核心枢纽
  • EtherCAT转Modbus TCP网关实现倍福CX9020与科尔摩根NDC8AGV控制器设备之间的通讯案例