跳至主要內容

建立範本

開啟 範本 → 新增範本。表單分為八個區段;只有 名稱 與 映像檔 為必填,其餘每個欄位都有可用的預設值 —— 模式 預設為 Args。本頁依序說明這些區段。

基本資料​

欄位可接受的內容備註
名稱必填,最多 80 個字元在你的組織內必須唯一,比對時不分大小寫。重複會回傳 TEMPLATE_NAME_TAKEN。兩個不同的組織可以使用相同的名稱。
描述最多 4,000 個字元顯示在卡片上的一行說明。
可見性Private 或 PublicPrivate 只有你的組織看得到。Public 會讓配方全世界都能讀取,但仍然只有你能編輯。一個組織最多只能有 50 個公開範本;再發布一個會回傳 PUBLIC_TEMPLATE_LIMIT_REACHED。

映像檔​

欄位可接受的內容備註
映像檔必填,最多 500 個字元不含標籤的儲存庫參照,例如 superheat-cn-registry.cn-shanghai.cr.aliyuncs.com/superheat/base。第一段若含有點或冒號,會被視為登錄庫主機。你填寫的參照會原樣拉取,所以要寫中國大陸的主機拉得到的登錄庫。
標籤最多 200 個字元,預設為 [Automatic][Automatic] 會在啟動時解析成所選機器的 CUDA 支援的最新 Superheat 基礎映像檔標籤。其他任何值都會原封不動使用。
儲存庫最多 500 個字元選填,只決定卡片上的連結,與映像檔從哪裡拉取無關。單純的 owner/name 會連到 Docker Hub,而 Docker Hub 從中國大陸的主機無法連線,所以建議填寫完整網址;完整網址會原樣使用。
連結最多 1,000 個字元選填的網址 —— 模型卡或儲存庫 —— 會顯示在卡片上。

[Automatic] 只對 superheat/ 命名空間裡的映像檔有意義,因為它會解析成這些映像檔發布的 cuda-<minor> 標籤;對其他任何映像檔,它都會拉取 latest。其他情況請釘選實際存在的標籤。請參閱基礎映像檔。

ACR 上有哪些映像檔、哪些登錄庫從中國大陸的主機拉不到,請見Superheat CN 上的映像檔。

啟動​

欄位可接受的內容備註
模式Args、SSH、Jupyter 或 VM決定容器內啟動什麼,以及發布哪些連接埠。請參閱啟動模式。
引數最多 8,000 個字元,僅限 args 模式依 shell 分詞規則切分後成為容器的執行命令。
Jupyter 工作目錄最多 1,000 個字元,僅限 jupyter 模式預設為 /workspace。
JupyterLab開關,僅限 jupyter 模式開啟時提供 JupyterLab,關閉時提供傳統 notebook。
啟動時指令碼最多 65,536 個字元Bash,在首次啟動時執行一次。請參閱啟動時指令碼。

選擇 SSH 或 Jupyter 時會出現提示:「SSH 與 Jupyter 模式需要以 Superheat 基礎映像檔衍生的映像檔(預先安裝 sshd + JupyterLab)。一般的上游映像檔請使用 Args。」

在 Superheat CN 上,這表示 映像檔 要寫 ACR 上 superheat/ 命名空間裡的參照,例如 superheat-cn-registry.cn-shanghai.cr.aliyuncs.com/superheat/base。不含 ACR 主機的 superheat/base 會部署失敗;其他儲存庫裡的映像檔,即使以基礎映像檔為底建置,也會執行它自己的進入點,應該使用 args 模式。請參閱Superheat CN 上的映像檔。

環境變數​

每一列由一個鍵、一個值與一個 機密 開關組成。一個範本最多 100 列。

欄位可接受的內容備註
鍵最多 256 個字元鍵為空白的列在儲存時會被捨棄。
值最多 4,096 個字元,或留白留白的值會存成未設定,啟動時不會注入;這讓它很適合當作租用者必須自行提供的值的佔位項目。
機密開關對擁有組織以外的所有人遮蔽這個值。

在加入任何名為 JUPYTER_TOKEN、GPU_COUNT 或 SUPERHEAT_ACCESS_TOKEN 的項目之前,請先閱讀環境變數 —— 平台覆蓋層永遠勝過範本與租用者提供的值。

連接埠​

每一列由容器連接埠、通訊協定、標籤、一個 公開 開關與一個存取控制選單組成。一個範本最多 32 個連接埠。

欄位可接受的內容備註
容器連接埠1 到 65535容器內部的連接埠,不是主機連接埠。主機連接埠會在啟動時指派。
通訊協定tcp、udp、http 或 httpshttp 與 https 都走 TCP;這個選擇是用來記錄該連接埠提供什麼服務。
標籤最多 64 個字元顯示在範本詳細資料上。標籤為 open 會讓這個連接埠成為主控台 開啟 按鈕的目標。
公開開關,預設為開啟記錄在連接埠項目上。
存取控制開放、存取代理、應用程式驗證權杖這個連接埠是否要求執行個體存取權杖,以及由誰驗證。清單下方的警告會指出在這個映像檔或範本上行不通的選擇。

詳細內容與保留標籤請見連接埠。保持開放的連接埠,任何找到機器位址的人都能連上——請參閱要求存取權杖。

機器限制條件​

限制條件會篩選範本可以啟動在哪些報價上。欄位留白表示沒有要求。部署頁面會在你送出前檢查這些條件,並說明任何不符之處。

欄位可接受的內容意義
最低 CUDA版本字串,例如 12.4機器的 CUDA 至少要達到這個版本。
最低 VRAM (MB)整數,0 或以上會與報價中每個 GPU 的 VRAM 比較。
架構字串,例如 amd64Superheat 主機都是 x86_64;填其他值目前會讓範本無法啟動。
建議硬碟容量 (GB)整數,0 或以上僅為建議 —— 不會阻擋部署。
需要支援 VM 的主機開關把範本限制在主機能執行完整 KVM 虛擬機器的報價上。

私有登錄庫​

只有當你的映像檔存放在私有登錄庫時才需要填寫這些欄位。使用者名稱最多 256 個字元,密碼或權杖最多 1,000 個字元。密碼會加密儲存,API 永遠不會回傳它。請參閱私有登錄庫。

Readme​

自由格式的說明,最多 100,000 個字元,顯示在範本詳細資料中配方的下方。使用說明應該放在這裡 —— 而不是描述欄位,那只是卡片上的一行字。

儲存​

建立範本 會送出表單,並回傳新範本連同它的 id 與剛產生的 hash_id。它會出現在 我的範本 的最上方。

透過 API 執行同一個呼叫,並依照 API 總覽設定好 SUPERHEAT_API 與 SUPERHEAT_KEY:

curl -X POST "$SUPERHEAT_API/v1/templates" \
-H "Authorization: Bearer $SUPERHEAT_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "PyTorch 2.4 notebook",
"description": "JupyterLab on the CUDA 12.4 base",
"image": "superheat-cn-registry.cn-shanghai.cr.aliyuncs.com/superheat/base",
"tag": "[Automatic]",
"launch_mode": "jupyter",
"jupyter_dir": "/workspace",
"use_jupyter_lab": true,
"onstart": "pip install torch torchvision",
"env": [{"key": "HF_TOKEN", "value": "hf_...", "secret": true}],
"ports": [{"container_port": 7860, "protocol": "http", "label": "open", "public": true}],
"constraints": {"cuda_min": "12.4", "min_vram_mb": 16384},
"visibility": "private"
}'

編輯與刪除​

對你擁有的範本按 編輯 會開啟同一份表單;對應的 API 是 PATCH /v1/templates/{id},它接受部分內容的請求主體。編輯任何啟動欄位都會重新產生 hash_id,所以你以釘選雜湊分享出去的連結會失效 —— 請參閱分享與複製。

刪除 會把範本從範本庫移除。已經用它部署出來的執行個體不受影響,會繼續執行。

System 範本是唯讀的。要修改的話,請先複製一份。