安装 TabbyAPI+Exllamav2 和 vLLM 的详细步骤

在 5090 显卡上成功安装 TabbyAPI+Exllamav2 和 vLLM 并非易事,经过一番摸索,我总结了以下详细步骤,希望能帮助大家少走弯路。

重要提示: 用户提供的 PyTorch 安装使用了 cu128,这并非标准 CUDA 版本。请根据你的系统实际 CUDA 版本(通常为 12.1 或 12.2)进行调整。

1. 安装 TabbyAPI+Exllamav2

步骤 1:克隆 TabbyAPI 仓库

git clone https://github.com/theroyallab/tabbyAPI
cd tabbyAPI

步骤 2:创建并激活 Python 虚拟环境

python3 -m venv venv
source venv/bin/activate  # 如果使用 fish shell,则使用:source venv/bin/activate.fish

步骤 3:安装带有 CUDA 支持的 PyTorch

python -m pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu12.1 # 根据实际 CUDA 版本调整

步骤 4:安装 TabbyAPI 与 Exllamav2(禁用编译)

EXLLAMA_NOCOMPILE=1 pip install .

步骤 5:安装所需的系统依赖(如果需要)

sudo apt-get update
sudo apt-get install -y build-essential g++ gcc libstdc++-10-dev ninja-build

步骤 6:安装 Flash Attention(可选但推荐)

git clone https://github.com/Dao-AILab/flash-attention
cd flash-attention
python -m pip install wheel
python setup.py install

步骤 7:TabbyAPI 安装完成

请参考 TabbyAPI 的官方文档了解如何使用。

2. 安装 vLLM

步骤 1:克隆 vLLM 仓库

git clone https://github.com/vllm-project/vllm
cd vllm

步骤 2:创建并激活 Python 虚拟环境

python3.12 -m venv venv
source venv/bin/activate # 如果使用 fish shell,则使用:source venv/bin/activate.fish

步骤 3:安装带有 CUDA 支持的 PyTorch

python -m pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu12.1 # 根据实际 CUDA 版本调整

步骤 4:使用已存在的 PyTorch 安装(推荐)

python use_existing_torch.py

步骤 5:安装构建依赖

python -m pip install -r requirements/build.txt

步骤 6:安装通用依赖

python -m pip install -r requirements/common.txt

步骤 7:从源代码安装 vLLM(可编辑模式)

python -m pip install -e . --no-build-isolation

步骤 8:vLLM 安装完成

请参考 vLLM 的官方文档了解如何使用。

重要注意事项:

  • CUDA 版本: 确保你使用的 CUDA 版本与 5090 显卡和 PyTorch 安装相匹配。请验证你的 NVIDIA 驱动程序支持的 CUDA 版本。
  • Python 版本: vLLM 可能对 Python 版本有特定要求。用户指定了 Python 3.12。请查阅 vLLM 的官方文档以获取最新信息。
  • 依赖项: 仔细检查 TabbyAPI 和 vLLM 的 requirements.txt 文件,确保安装了所有必要的依赖项。
  • 虚拟环境: 使用虚拟环境对于隔离项目依赖项和避免冲突至关重要。
  • Flash Attention: Flash Attention 可以显著提高性能,尤其是对于大型模型。如果可能,建议安装。
  • 驱动版本: 确保您的 Nvidia 驱动程序是最新的,并且支持您的 5090 GPU。
  • 调整 CUDA 版本:cu12.1 替换为您已安装的正确 CUDA 版本。

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

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

相关文章

使用url-loader处理图片等资源文件

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…

EIP-712:类型化结构化数据的哈希与签名

1. 引言 以太坊 EIP-712: 类型化结构化数据的哈希与签名,是一种用于对类型化结构化数据(而不仅仅是字节串)进行哈希和签名 的标准。 其包括: 编码函数正确性的理论框架,类似于 Solidity 结构体并兼容的结构化数据规…

contourformer:实时的轮廓分割transformer

论文地址:https://arxiv.org/abs/2501.17688 github:https://github.com/talebolano/Contourformer 模型结构 框架建立在 D-FINE 对象检测模型之上,并将边界框的回归扩展到轮廓的回归。为了实现高效的训练,Contourformer 采用迭代方法进行轮廓变形,并引入降噪机制来加速…

【JavaScript】原型链 prototype 和 this 关键字的练习(老虎机)

这个老虎机练习主要考察JavaScript中的原型链(prototype)和this关键字的使用。 主要思路 创建三个轮盘(reels)实例:我们需要创建3个独立的轮盘对象,它们都委托(delegate)到基础的ree…

vue项目data functions should return an object

在vue项目中提示错误,data functions should return an object Message.error(err)错了,Message.error()是element-ui的组件,只能接受字符串,不能接受对象。 改为Message.error(err.message)就好了 我的错误是 Message.error(er…

leetcode刷题 - 数组理论基础

数组是内存空间连续存储、相同类型数据的集合。遍历方式:下标索引 下标:从 0 开始 数组的元素不能删除,只能覆盖 定义一维数组: int arr0[10]; int arr1[10] { 100, 90,80,70,60,50,40,30,20,10 }; int arr2[ ] { 100,90,80,7…

状态机思想编程练习

状态机实现LED流水灯 本次实验,我们将利用状态机的思想来进行Verilog编程实现一个LED流水灯,并通过Modelsim来进行模拟仿真,再到DE2-115开发板上进行验证。 ​ 首先进行主要代码的编写。 module led (input sys_clk,input sys_…

数据结构|排序算法(一)快速排序

一、排序概念 排序是数据结构中的一个重要概念,它是指将一组数据元素按照特定的顺序进行排列的过程,默认是从小到大排序。 常见的八大排序算法: 插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序、归并排序、基数排序 二、快速…

如何确保MQ消息队列不丢失:Java实现与流程分析

前言 在分布式系统中,消息队列(Message Queue, MQ)是核心组件之一,用于解耦系统、异步处理和削峰填谷。然而,消息的可靠性传递是使用MQ时需要重点考虑的问题。如果消息在传输过程中丢失,可能会导致数据不一…

关于termux运行pc交叉编译的aarch64 elf的问题

在Linux系统上交叉编译Nim程序到Android Termux环境需要特殊处理,以下是详细的解决方案: 问题根源分析 ​​ABI不兼容​​ Android使用bionic libc而非标准glibc,直接编译的Linux ARM二进制无法直接运行 ​​动态链接错误​​ 默认编译会链…

为PXIe控制器配置NI Linux实时操作系统安装软件

一、升级BIOS 使用NI Linux Real-Time操作系统的PXI硬件支持页面来确定NI Linux Real-Time是否支持您的PXIe控制器,以及是否需要更新控制器BIOS。 按照BIOS下载页面上的“安装说明”部分安装BIOS更新。 注意:NI在NI 2020软件版本中删除对cRIO的Phar Lap和…

《汽车噪声控制》课程作业

作业内容 在MATLAB绘制给出单个正弦波或余弦波的时域图和频域图 绘制实测数据的时域图和频域图 图1 单个正弦波的时频图 图1 单个正弦波的时频图 % 正弦波参数设置 f0 1000; % 信号频率 1kHz Fs 16384; % 采样频率 16kHz T 0.05; % 信号持续时间 0.05秒 A 0.8; % 信号幅度…

Baklib内容中台AI技术协同应用

内容中台与AI协同创新 在数字化转型进程中,内容中台通过人工智能技术的深度整合,正重塑企业信息管理范式。以Baklib内容中台为例,其通过智能语义分析引擎解析用户意图,结合知识图谱构建技术动态关联碎片化信息,实现从…

压测工具开发实战篇(二)——构建侧边栏以及设置图标字体

你好,我是安然无虞。 文章目录 构建侧边栏QtAwesome使用调整侧边栏宽度了解: sizePolicy属性伪状态 在阅读本文之前, 有需要的老铁可以先回顾一下上篇文章: 压测工具开发(一)——使用Qt Designer构建简单界面 构建侧边栏 我们要实现类似于下面这样的侧边栏功能: …

Axure RP9.0教程: 查询条件隐藏与显示(综合了动态面板状态切换及展开收缩效果实现)

文章目录 引言I 原型显示/隐藏搜索框思路步骤详细操作II 若依 ruoyi 显示/隐藏搜索框 & 显示隐藏列自定义设置显示隐藏列显示/隐藏搜索框引言 数据筛选有大量的查询条件时,可以选择查询隐藏效果。 I 原型显示/隐藏搜索框 综合了动态面板状态切换及展开收缩效果实现 思…

解锁工业通信:Profibus DP到ModbusTCP网关指南!

解锁工业通信:Profibus DP到ModbusTCP网关指南! 在工业自动化领域,随着技术的不断进步和应用场景的日益复杂,不同设备和系统之间的通讯协议兼容性问题成为了工程师们面临的一大挑战。尤其是在Profibus DP和Modbus/TCP这两种广泛应…

3维格式转换(二)

基于python的三维模型演化可视化 本项目的主要内容为总结了3种不同的可视化方案( trimesh + matplotlib 库、 pyvista 库、 vedo 库),并通过案例对可视化效果进行展示,最终通过模型动态演化案例给出最佳效果的可视化方案 本期结构图为 本期博客结构图 0 环境搭建 项目开…

docker导出image再导入到其它docker中

导出image docker save -o gxc_tenant.tar vue_tenant:1.0 eitc_tenant:1.0 redis:latest docker.io/mysql:8.0 minio/minio导入image docker load -i gxc_tenant.tar

Spring-IOC部分

Spring-IOC部分 1.SpringBean的配置详解(Bean标签) (1)scope 默认情况下,单纯的Spring环境Bean的作用范围有两个:Singleton和Prototype singleton:单例,默认值,Spring…

人工智能爬虫导致维基共享资源带宽需求激增 50%

2025 年 4 月 1 日,维基媒体基金会在博文中表示,自 2024 年 1 月以来,维基共享资源下载多媒体的带宽消耗激增 50%,这一变化趋势主要由用于 AI 训练数据集的网络爬虫导致。以下是具体分析1: 爬虫流量特征与数据存储模式…