三步完成,A100本地vLLM部署gpt-oss,并啟動遠程可訪問api

A100本地vLLM部署gpt-oss,并啟動遠程可訪問api

GPT-oss試用
gpt-oss有兩個原生配置是目前(2025-8-8)Ampere系列顯卡不支持的,分別是默認的MXFP4量化,以及Flash-attn V3。官方給出的vllm教程也是默認使用的是H系列顯卡。因此,A100部署可能會遇到類似Sinks are only supported in FlashAttention 3的報錯。

下載模型參數到本地

國內用魔塔更快,下載到本地xxxx目錄下:

pip install modelscope
modelscope download --model openai-mirror/gpt-oss-120b --local_dir xxxxxx

新建conda環境

conda create -n vllm python=3.12 -yconda activate vllmpip install --upgrade uvexport TORCH_CUDA_ARCH_LIST="8.0"uv pip install --pre vllm==0.10.1+gptoss \--extra-index-url https://wheels.vllm.ai/gpt-oss/ \--extra-index-url https://download.pytorch.org/whl/nightly/cu128 \--index-strategy unsafe-best-match --force-reinstall --no-cache

這里官方給的pytorch是cu128,如果a100當前驅動低于12.8不確定會不會報錯,我這里提前將GPU驅動(nvidia-smi)以及工具鏈(nvcc -V)都升級到了12.8,老一點的驅動可能也行。

啟動vllm服務

分兩種場景,看你是只需要本機訪問api,還是需要可遠程訪問api。遠程api:

export TORCH_CUDA_ARCH_LIST="8.0"
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
VLLM_ATTENTION_BACKEND=TRITON_ATTN_VLLM_V1 vllm serve \/mnt/models/gpt-oss-120b \-tp 2 \--served-model-name gpt-oss-120b \--host 0.0.0.0 \--port 8005 \--api-key 12345

最關鍵的是VLLM_ATTENTION_BACKEND=TRITON_ATTN_VLLM_V1,不使用Flash-attn,因為gpt-oss默認使用V3,這在A100不受支持。其他設置為FLASHINFERdefaulttriton我這里測試都不行。這里--host 0.0.0.0是讓該服務監聽所有,遠程可訪問。如果只想本機可訪問,改成--host 127.0.0.1即可。/mnt/models/gpt-oss-120b是你下載模型參數的目錄,--port 8005這是服務的端口,不設置默認是8000,--api-key 12345設置訪問該API服務需要用這個key驗證,--served-model-name gpt-oss-120b這里是設置當使用API訪問時,用什么model_name來識別該服務。-tp 2表示用兩張卡。

API訪問

這里給一個python腳本訪問api的示例:

from openai import OpenAI
import jsonclient = OpenAI(base_url="http://localhost:8005/v1",api_key="12345"
)result = client.chat.completions.create(model="gpt-oss-120b",messages=[{"role": "system", "content": "Reasoning: high"},{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Explain what MXFP4 quantization is."}],max_tokens=2048
)print(result.choices[0].message.content)with open('./model_response.json', "w") as f:json.dump(result.model_dump(), f, indent=4, ensure_ascii=False)

這是本地訪問。如果是遠程訪問,將localhost替換成你啟動服務的服務器的IP即可。將模型輸出保存為json,方便查看分析模型輸出的組成部分。messages的第一行{"role": "system", "content": "Reasoning: high"}是用來指示思考深度的,共三個選擇highmediumlow
啟動的服務默認是支持流式輸出的,這里給個流式返回的python示例:

from openai import OpenAIclient = OpenAI(base_url="http://localhost:8005/v1",api_key="12345"
)response = client.chat.completions.create(model="gpt-oss-120b",messages=[{"role": "system", "content": "Reasoning: high"},{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Explain what MXFP4 quantization is."}],max_tokens=2048,stream=True
)for chunk in response:# 有的 SDK 版本 chunk 可能是對象,也可能是字典# 嘗試用 dict 訪問if isinstance(chunk, dict):choices = chunk.get("choices", [])if choices:delta = choices[0].get("delta", {})content = delta.get("content")if content:print(content, end="", flush=True)else:# 如果是對象,嘗試用屬性訪問try:delta = chunk.choices[0].deltacontent = getattr(delta, "content", None)if content:print(content, end="", flush=True)except Exception:passprint("\n--- done ---")

其中stream=True就標識了流式輸出,跟openai的普通API類似。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92420.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92420.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92420.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【華為機試】63. 不同路徑 II

文章目錄63. 不同路徑 II題目描述示例 1:示例 2:提示:解題思路核心思想:動態規劃(避開障礙)算法流程復雜度分析邊界與細節方法對比代碼實現Go 實現(含二維DP / 一維DP / 記憶化)測試…

C++ 模擬實現 map 和 set:掌握核心數據結構

C 模擬實現 map 和 set:掌握核心數據結構 文章目錄C 模擬實現 map 和 set:掌握核心數據結構一、set 和 map 的結構1.1 set的結構1.2 map的結構二、對紅黑樹的改造2.1 改造紅黑樹的節點2.2 改造紅黑樹2.2.1 仿函數的使用2.2.2 插入函數的改造2.2.3 刪除函…

根據ASTM D4169-23e1標準,如何選擇合適的流通周期進行測試?

根據ASTM D4169-23e1標準及行業實踐&#xff0c;選擇流通周期&#xff08;DC&#xff09;需綜合以下因素&#xff1a;一、核心選擇依據?產品屬性與包裝形式??重量體積?&#xff1a;輕小包裹&#xff08;<4.53kg且<0.056m&#xff09;適用DC2/3/4/6/9/13-17等周期&…

MySQL的觸發器:

目錄 觸發器的概念&#xff1a; 創建觸發器&#xff1a; 查看觸發器&#xff1a; 查看當前數據庫的所有觸發器的定義&#xff1a; 查看當前數據中某個觸發器的定義&#xff1a; 從系統information_schema的TRIGGERS表中查詢"salary_check_trigger"觸發器的信息…

基于ubuntu搭建gitlab

原文地址&#xff1a;基于ubuntu搭建gitlab – 無敵牛 歡迎參觀我的網站&#xff1a;無敵牛 – 技術/著作/典籍/分享等 之前介紹了一個使用 git openssh-server 搭建一個極簡 git 庫的方法&#xff0c;感興趣可以查看往期文章&#xff1a;手搓一個極簡遠端git庫 – 無敵牛 。…

測試GO前沿實驗室:為水系電池研究提供多維度表征解決方案

測試GO前沿實驗室&#xff1a;為水系電池研究提供多維度表征解決方案隨著全球能源轉型加速&#xff0c;水系電池因其高安全性、低成本和環境友好特性&#xff0c;成為下一代儲能技術的重要發展方向。測試狗前沿實驗室針對水系電池研發中的關鍵科學問題&#xff0c;整合先進表征…

Spring Boot 中 YAML 配置文件詳解

Spring Boot 中 YAML 配置文件詳解 在 Spring Boot 項目中&#xff0c;配置文件是不可或缺的一部分&#xff0c;用于自定義應用行為、覆蓋默認設置。除了傳統的 properties 文件&#xff0c;Spring Boot 對 YAML&#xff08;YAML Ain’t Markup Language&#xff09;格式提供了…

Milvus安裝可視化工具,attu,保姆級

安裝包鏈接&#xff1a;GitHub - zilliztech/attu: Web UI for Milvus Vector Databasehttps://github.com/zilliztech/attu?tabreadme-ov-file 下滑 舉例&#xff1a;windows&#xff1a;下載安裝&#xff0c;然后就可以連接了&#xff08;安裝完打開后如果需要輸入用戶名密碼…

避免“卡脖子”!如何減少內存I/O延遲對程序的影響?

單來說&#xff0c;內存 IO 就像是計算機的 “數據高速公路”&#xff0c;負責在內存和其他設備&#xff08;如硬盤、CPU 等&#xff09;之間傳輸數據。它的速度和效率直接影響著計算機系統的整體性能。 你有沒有想過&#xff0c;當你點擊電腦上的一個應用程序&#xff0c;它是…

V4L2攝像頭采集 + WiFi實時傳輸實戰全流程

&#x1f4d6; 推薦閱讀&#xff1a;《Yocto項目實戰教程:高效定制嵌入式Linux系統》 &#x1f3a5; 更多學習視頻請關注 B 站&#xff1a;嵌入式Jerry V4L2攝像頭采集 WiFi實時傳輸實戰全流程 1. 實戰場景概述 目標&#xff1a; 嵌入式設備&#xff08;如RK3588/正點原子開發…

Java 之 設計模式

1.單例模式1. ??餓漢式&#xff08;Eager Initialization&#xff09;????核心原理??&#xff1a;類加載時立即創建實例&#xff0c;通過靜態變量直接初始化。??代碼示例??&#xff1a;public class Singleton {private static final Singleton INSTANCE new Sing…

[激光原理與應用-185]:光學器件 - BBO、LBO、CLBO晶體的全面比較

一、相同點非線性光學晶體屬性BBO、LBO、CLBO均為非中心對稱晶體&#xff0c;具備非線性光學效應&#xff0c;廣泛應用于激光頻率轉換&#xff08;如倍頻、三倍頻、和頻、差頻&#xff09;、光學參量振蕩&#xff08;OPO&#xff09;及電光調制等領域。寬透光范圍三者均覆蓋紫外…

Android APN加載耗時優化可行性分析

背景 根據Android系統底層機制和行業實踐,本文討論 APN 加載耗時從4.2s降至0.8s的數據合理性和技術可行性,需結合具體優化手段和硬件環境綜合分析。 以下是關鍵判斷依據及行業參考: ?? 一、APN加載耗時基準參考 未優化場景的典型耗時 首次開機或重置后:APN需從apns-con…

mysql進階-sql調優

概述優化索引在MySQL初階的課程中已經介紹了索引&#xff0c;我們知道InnoDB存儲引擎使?B樹作為索引默認的數據結構來組織數據&#xff0c;為頻繁查詢的列建?索引可以有效的提升查詢效率&#xff0c;那么如何利?索引編寫出?效的SQL查詢語句&#xff1f;以及如何分析某個查詢…

海量數據處理問題詳解

1.從a&#xff0c;b兩個文件各存放50億個url&#xff08;每個url大小為64B&#xff09;&#xff0c;如何在內存為4G中查找a&#xff0c;b中相同的url 計算各文件存放大小&#xff1a;50億*64B 大約為320G&#xff0c;而內存只有4G&#xff0c;顯然存放不下&#xff0c;此時我們…

AI 記憶管理系統:工程實現設計方案

本文檔為《從“健忘”到“懂我”&#xff1a;構建新一代AI記憶系統》中所述理念的詳細工程實現方案。它將聚焦于技術選型、模塊設計、數據流轉和核心算法&#xff0c;為開發團隊提供清晰的落地指引。 1. 系統架構與技術選型 為實現分層記憶與讀寫分離的設計理念&#xff0c;我們…

Linux驅動學習day26天(RS485)

一、原理通過芯片將232信號轉換成485信號&#xff0c;485表示0和1的方法&#xff1a;Va - Vb 的電壓差在2~6V時表示1&#xff0c;Va - Vb 的電壓差在-2~-6V時表示0。這樣傳輸不容易受到干擾&#xff0c;并且傳輸距離長。我們需要做的事情就是發送&#xff1a;使能DE(driver ena…

從零構建TransformerP1-了解設計

歡迎來到啾啾的博客&#x1f431;。 記錄學習點滴。分享工作思考和實用技巧&#xff0c;偶爾也分享一些雜談&#x1f4ac;。 有很多很多不足的地方&#xff0c;歡迎評論交流&#xff0c;感謝您的閱讀和評論&#x1f604;。 目錄引言1 概念回顧1.1 序列任務1.1.1 將序列變成模型…

JVM 終止機制詳解:用戶線程與守護線程

用戶線程未執行完是否會阻止 JVM 終止&#xff1f;答案是&#xff1a;取決于線程類型。讓我詳細解釋&#xff1a; 核心規則 #mermaid-svg-bg5xpyMAeRWNGGk2 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-bg5xpyMAe…

Linux Vim 常用快捷鍵

Vim中最常用的快捷鍵&#xff0c;熟練掌握它們可以大大提高編輯效率。移動光標h- 左移j- 下移k- 上移l- 右移w- 移動到下一個單詞開頭b- 移動到上一個單詞開頭e- 移動到單詞末尾0- 移動到行首$- 移動到行尾gg- 移動到文件開頭G- 移動到文件末尾:n- 跳轉到第n行插入模式i- 在光標…