預設模組
預設模組會將可重用的子圖封裝為一個節點。CodefyUI 內建 lstm_sequence、simple_cnn_classifier 與 training_pipeline 預設模組。你也可以將畫布匯出為預設模組,並在其他圖中使用。
使用預設模組
預設模組會出現在側邊欄的預設組合分頁,也會出現在雙擊畫布所開啟的快速搜尋。此分頁包含搜尋框、與節點分頁相同的分類,以及拖曳預設組合到畫布上提示。放置後,預設模組的行為與其他節點相同。它會暴露子圖內所有未連接的連接埠,以及每個內部節點的所有非 secret 參數。
若要設定已放置的預設模組,請雙擊該節點,或在節點設定面板或節點詳情中選擇設定預設模組。設定視窗會列出內部節點,並依節點分組顯示暴露的參數。套用會將選擇的值寫入內部節點。
執行前,圖引擎會將每個預設模組展開為其內部節點。預設模組會封裝節點,但不會增加獨立的執行階段。
建立自己的預設模組
匯出預設模組時會包含整張畫布。你不能只選取部分節點,也不能逐項選擇要暴露的內容。請使用只包含該預設模組所需節點的畫布;通常新分頁最簡單。
- 建立子圖。每個未連接的連接埠都會成為預設模組連接埠,因此所需的輸入與輸出都應保持未連接。圖中至少要有一個未連接的連接埠,否則伺服器會拒絕匯出。匯出前請展開所有收合區塊。預設模組不能包含區塊定義,所以伺服器會拒絕含有收合區塊的畫布。
- 開啟工具列的匯出選單,選擇匯出為子圖,然後輸入名稱。若其他預設模組已使用該名稱,伺服器會拒絕並回傳
409。 - 伺服器會將每個暴露的連接埠命名為
<node>_<port>,並暴露依節點型別分組的所有非 secret 參數。接著,伺服器會寫入預設模組並重新載入面板。此預設模組隨後會出現在預設組合分頁與快速搜尋中。
預設模組以 JSON 儲存,包含 preset_name、category(匯出的預設模組為 Custom)、description、tags、nodes、edges、exposed_inputs、exposed_outputs 與 exposed_params。匯出與內建的預設模組都儲存在 backend/app/presets/。匯出的預設模組使用 <name>.json;其檔名為小寫,空格與斜線會換成 _。系統沒有重新命名或刪除預設模組的 route 或按鈕。若要移除預設模組,請刪除其檔案並重新載入節點。外掛包也能從自己的 presets/ 目錄提供預設模組。
REST API
| 端點 | 方法 | 說明 |
|---|---|---|
/api/presets | GET | 列出預設模組定義。 |
/api/presets/{name} | GET | 取得單一預設模組定義(未知時回傳 404)。 |
/api/presets/create | POST | 從圖建立預設模組。body 為 {name, nodes, edges, description?, category?, tags?},且 request 需要 session token。圖為空、含有收合區塊,或沒有未連接的連接埠時回傳 400。名稱已被使用時回傳 409。 |
請參閱完整的 API 參考。
:::tip 預設模組 vs 自訂節點 當你想封裝一張由既有節點組成的圖時,使用預設模組。當你需要用 Python 實作新行為時,撰寫一個**自訂節點**。 :::