在 Farside Compute 跑出成果的人,拿到一組成果代碼,回到 Slate 的畫布貼上,成果檔(圖、報告、表格、3D)就以檔案元件出現在這張畫布上、看得到來源、下載得到;模型權重只記位置、不搬進來。

#252 畫布:抓得到 Compute 的成果檔案(成果代碼匯入,ADR-0115)

狀態
還沒開始
誰在做
負責人+Claude
做到哪
還沒有程式,也還沒有介面草案。範圍、入口、顯示方式負責人 10/03 定了;代碼一次性 24 小時、做事順序 10/05 定了(#326)。檔案元件那張 PR #317 已經在檔案表預留「從 Compute 匯入」這種來源(遷移 phase97 負責人已套用),但 #317 本身還沒合進 main。
卡在
下一步(寫介面草案)不卡任何人。草案之後才會卡:Slate 的匯入要等 #296(Farside 那一側的檔案池+發代碼)做出來才能從頭到尾測;畫布上的顯示要等檔案元件 #317 合進 main。
下一步
畫布這邊(負責人+Claude)先寫介面草案:清單檔的欄位、給 Slate 的唯讀權杖能碰什麼、誰記「代碼已經用過」、池子的保存期與大小上限提案;貼在 #252 與 #296 給負責人和 Farside 那一側確認。確認後 #296 的實作由宜芳分派,#252 這側照草案開工。
提醒:① 本文〈還沒裁的〉七題大多過期了:第 1 題(入口)和第 5 題(顯示)10/03 定了;第 2、3 題移去 #296,其中「成果存在哪」Farside 那一側 10/04 查到了(已經在 R2,但那是 Farside 自己的工作區桶,不是要另開的檔案池,不能把它的權杖交給 Slate);第 4 題 10/05 定了一次性 24 小時;第 6 題機構空間已定、單檔上限還沒;第 7 題還沒實測。本文第 5、6 點的「待確認」也過期了,建議請負責人+Claude 更新本文。② 三張單互相等:#296 等這張的草案、這張的實作等 #296 的池子和代碼、#297 排在這張之後——所以這張的草案是三張的起點。③ Farside 現在自動產出的成果只有 3DGS 的 .ply,圖、報告、表格還沒有自動出口,第一輪從頭到尾的驗收大概只能用 3D 檔。④ 畫布上的顯示要等檔案元件 #317 合進 main。⑤ 本文第 1 題建議寫「檔案總覽照樣看得到匯入的檔」,但依 ADR-0118,畫布的檔不走一般檔案端點,總覽看不看得到要在草案裡講清楚。

這張要解決什麼

用 Slate 畫布的人(例如事務所裡的設計師),同時在 Farside Compute 跑 GPU 任務,例如把現場照片做成 3DGS 立體模型,Compute 跑完的成果今天只留在 Farside,Slate 這邊拿不到;要放上畫布只能自己下載再上傳,而且畫布不知道這個檔是從哪個任務來的——要能 在 Farside 拿到一組成果代碼,到 Slate 畫布上貼一下,成果就出現在這張畫布上,記得是哪個任務、什麼時候匯入的,之後可以下載、接著在畫布上用

一步一步 9 步

  1. Farside 系統(#296 做) 任務跑完,把成果檔寫進另開的「檔案池」(一個只有 Farside 能寫的 R2 桶),並寫一份清單檔:這次有哪些檔、各多大、檢查碼、類型、哪些是模型權重
    產生一組成果代碼(亂數、猜不到、不是檔案路徑),24 小時內有效、只能用一次
  2. 使用者(在 Farside) 在任務完成的地方看到成果代碼與有效期限,按複製
    代碼在剪貼簿裡,知道要在 24 小時內用掉
    Farside:任務完成頁(或通知;#296 決定放哪)
    任務完成
    • 這次的成果(例如 splat.ply,3D)
    複製代碼
    24 小時內有效、只能用一次;到 Slate 畫布左側的「從 Compute 匯入」貼上
  3. 使用者(在 Slate,這張畫布的 Editor 以上) 打開要放成果的畫布,按左側工具列的「從 Compute 匯入」
    跳出一個小框,只有一格讓人貼代碼
    畫布:左側工具列+「從 Compute 匯入」小框
    • 左側工具列:選取
    • 便條
    • 文字
    • 形狀
    • 檔案
    • 智慧元件
    • 手繪
    • 顏色,多一顆「從 Compute 匯入」
    從 Compute 匯入
    只收 Farside 給的成果代碼,不收網址或檔案路徑
    匯入
    取消
  4. Slate 系統(後端) 先看貼進來的東西像不像代碼:網址、路徑、亂打的字直接擋掉,不對外發任何請求。像代碼的話,用只能讀的權杖去檔案池找那份清單檔;找不到、過期、用過的都回同一種錯誤
    代碼有效時記下「這組已經用過」(誰記、怎麼記,草案要定),往下一步複製
  5. Slate 系統(後端) 照清單把圖、報告、表格、3D 複製進這個機構自己的檔案區(鑰匙以機構開頭),比對檢查碼;模型權重不複製、只記它在池子裡的位置。每個檔寫一筆檔案紀錄,記來源:Compute 任務、原檔名、大小、檢查碼、匯入時間
    檢查碼對不上的不留紀錄;匯入不扣點數
  6. 使用者(在 Slate) 回到畫布,看匯入進來的成果
    成果以「檔案元件」(#289 那一種,不是另一種節點)出現在畫布上,看得到來源,可以下載;3D 這一版不在畫布上預覽
    畫布:匯入完成的檔案元件
    splat.ply
    3D・檔案大小
    來源:Compute 任務・原檔名・匯入時間
    這種檔不能在畫布上預覽,可以下載
    下載
  7. 使用者(在 Slate) 如果成果裡有模型權重(checkpoint、LoRA),看它在畫布上的樣子
    權重也是一個檔案元件,但寫明「只記位置、沒有搬進來」,不佔機構的檔案空間;能不能從這裡打開或下載還沒定
    畫布:只記位置的權重元件
    step-xxxx.ckpt
    模型權重・檔案在 Compute
    只記位置,沒有複製進 Slate,不佔檔案空間
    來源:Compute 任務・原檔名・匯入時間
  8. 使用者(在 Slate) 貼了錯的、過期的、已經用過的代碼,或貼了一個網址
    小框裡出現固定格式的錯誤,畫布上不會多出任何東西;錯的和過期的看起來一樣,看不出代碼存不存在
    畫布:匯入失敗
    類型/錯誤碼/追查碼 三行(ADR-0121 的固定格式,不寫原因)
    匯入
  9. 只能看的人(Viewer) 打開同一張畫布
    看不到「從 Compute 匯入」;直接打匯入的端點也被擋。沒有這張畫布權限的同機構同事,連畫布都找不到
    畫布(Viewer 看到的左側工具列)
    • 左側工具列沒有「從 Compute 匯入」

已經定的 19 條

還沒定的 9 題

Slate 怎麼從一組代碼找到池子裡的檔?
  • A:Farside 在池子裡放一份以「代碼的雜湊」命名的清單檔,Slate 用唯讀權杖去讀
  • B:Slate 呼叫 Farside 的 API 問這組代碼對到哪些檔
建議:A(#252 本文第 3 題與 #296 都這樣建議,還沒定案):Slate 不用呼叫 Farside,守住「Compute 不需要知道 Slate 存在」
誰裁:畫布這邊寫進介面草案,負責人與 Farside 那一側確認
清單檔裡每個成果要寫哪些欄位?
  • 照 Farside 那一側 10/04 列的起點:版本、任務識別、產生與過期時間;每個檔的原檔名、大小、檢查碼與算法、類型與具體格式、池內位置、「複製」或「只記位置」
  • 再加別的(例如縮圖、說明文字)
建議:照 10/04 那份當草案起點;檢查碼建議 SHA-256;3DGS 的 .ply 要在類型標明是 Gaussian splat,不能只靠副檔名(建議,未定)
誰裁:畫布這邊寫進介面草案
「這組代碼已經用過」由誰記?只讀清單檔不會自己變成用過就失效,Slate 也不能去刪池子裡的東西(Slate 對池子只能讀)
  • Slate 自己的資料庫記一筆(代碼不重複),記下和複製是同一個動作
  • Farside 記,Slate 每次兌換要回頭通知 Farside
  • Slate 刪掉池子裡的清單檔(不行:違反 Slate 只讀)
建議:Slate 這邊記(建議,未定):不用寫池子、不用叫 Farside,A 機構用掉的代碼 B 機構拿來也會失敗
誰裁:畫布這邊寫進介面草案,負責人確認(#326 指定寫在這張的草案)
檔案池裡的檔要放多久、池子總共能放多大?
  • 代碼過期後幾天就清(例如跟 #297 交換桶一樣 7 天)
  • 保留更久,讓使用者可以重新拿一組代碼
  • 其他
建議:草案提一個數,參考 #297 交換桶的 7 天;另外記住 R2 的自動清除會晚最多約一天,不能拿來當「代碼過期」的判斷,匯入端要自己看清單上的過期時間(Farside 那一側 10/04 查的)
誰裁:負責人(#326:跟 #252 的匯入政策一起定)
匯入的單檔上限多大?複製進來的檔算不算機構的檔案空間?
  • 沿用畫布檔案元件的單檔 500 MB,算進機構空間
  • 匯入另訂較高的單檔上限(有些 3DGS 到 1 GB),算進機構空間
  • 不設單檔上限,只看機構總量
建議:建議(未定):複製進來的算進機構空間(機構空間已照方案定,#326);單檔先沿用 500 MB,遇到 3DGS 超過再調
誰裁:負責人
模型權重「只記位置」要記在哪裡?Farside 現在的自動流程不收權重,只記 GPU 機器上的暫存路徑不夠(Farside 那一側 10/04 查的)
  • Farside 先把權重放到一個會留著的位置,清單檔再記那個位置
  • 第一版先不處理權重,等 Farside 那一側補上再做
誰裁:Farside 那一側(宜芳分派)回答現況,負責人決定第一版做不做
畫布上的權重元件能按什麼?
  • 只顯示名稱、大小、來源,沒有按鈕
  • 加一顆「到 Compute 打開」,把人送去 Farside(ADR-0115 說「Open in Farside」這種連結照舊成立)
誰裁:負責人
一組代碼有好幾個檔時,畫布上怎麼放?
  • 一個檔一個檔案元件,排在畫面中間
  • 一個元件列出全部
建議:一個檔一個元件(建議,未定):檔案元件本來就是一個元件一個檔
誰裁:負責人
兩個桶之間能不能直接在 R2 裡複製,不經過我們的伺服器?
  • R2 伺服器端複製:官方相容表寫支援,但「從只讀的桶複製到我們的桶」還沒實測
  • 串流經過容器:大檔會受容器記憶體與時間限制
建議:寫草案時用小檔實測一次再定
誰裁:畫布這邊(工程)

怎麼驗收 11 項

這張不做

相關的單