跳至主要內容

建立範本

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

基本資料

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

映像檔

欄位可接受的內容備註
映像檔必填,最多 500 個字元不含標籤的儲存庫參照,例如 superheat/basepytorch/pytorch。第一段若含有點或冒號,會被視為登錄庫主機。
標籤最多 200 個字元,預設為 [Automatic][Automatic] 會在啟動時解析成所選機器的 CUDA 支援的最新 Superheat 基礎映像檔標籤。其他任何值都會原封不動使用。
儲存庫最多 500 個字元選填。單純的 owner/name 會連到 Docker Hub;完整網址則原樣使用。
連結最多 1,000 個字元選填的網址 —— 模型卡或儲存庫 —— 會顯示在卡片上。

[Automatic] 只對 Superheat 基礎映像檔以及衍生自它的映像檔有意義,因為它會解析成 cuda-<minor> 標籤。其他情況請釘選實際存在的標籤。請參閱基礎映像檔

啟動

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

選擇 SSH 或 Jupyter 時會出現提示,說明這兩種模式都需要衍生自 Superheat 基礎映像檔的映像檔。單純的上游映像檔既沒有 sshd 也沒有 Jupyter,所以它該用 args 模式。

環境變數

每一列由一個鍵、一個值與一個 機密 開關組成。

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

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

連接埠

每一列由容器連接埠、通訊協定、標籤與一個 公開 開關組成。

欄位可接受的內容備註
容器連接埠1 到 65535容器內部的連接埠,不是主機連接埠。主機連接埠會在啟動時指派。
通訊協定tcpudphttphttpshttphttps 都走 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_APISUPERHEAT_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/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 範本是唯讀的。要修改的話,請先複製一份。