安裝 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.pswp.cn/web/74553.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74553.shtml
英文地址,請注明出處:http://en.pswp.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: 爬蟲流量特征與數據存儲模式…