訓練器概覽
FSRS 內建預設模型權重,但你可以用自己產品的複習記錄重新訓練它們,讓間隔更貼合所服務的使用者。訓練器(Optimizer)運行於 @open-spaced-repetition/binding 之上:把複習記錄 CSV 轉成訓練項、估算參數,並回報結果對留出複習的預測品質。訓練出的權重透過 weights 直接餵回 DefaultScheduler 或自訂 defineScheduler。權重的含義見模型,權重的使用位置見排程器。
Optimizer 目前仍處於 beta 階段,API 方法可能隨時調整。
複製這段提示詞,讓 AI Agent 遵守訓練器契約:複習記錄 CSV 進、訓練權重出,經由共享的 binding。
一個套件,兩種執行環境
binding 用同一個匯入暴露同一套 API,載入時會依執行環境自動解析建置:搜尋可用的原生套件,在瀏覽器或 Worker 中回退到 WebAssembly。依需求安裝對應套件:
原生模組(Node、伺服器與 CLI):
WASI Preview 1(wasip1)WebAssembly:
wasm32-wasi WebAssembly:
你的執行環境會解析到相符的建置:伺服器或 CLI 用原生模組,瀏覽器或 Web Worker 用 wasm 建置。
WebAssembly 可執行 threadless 或多執行緒。threadless wasm 無需 Cross-Origin-Opener-Policy 或 Cross-Origin-Embedder-Policy 標頭即可運作,進度經 Worker 訊息回傳而非共享記憶體。多執行緒建置要求頁面處於 crossOriginIsolated,即以帶 COOP 與 COEP 標頭的方式提供。
複習記錄流程
訓練由幾個 binding 呼叫組成一條短流程:
convertCsvToFsrsItems把複習記錄 CSV 轉成一組FSRSItem。computeParameters根據這些項訓練權重並回傳權重陣列。evaluateWithTimeSeriesSplits衡量這些參數對留出複習的預測品質。
你還可以用 computeOptimalSteps 讓 binding 推薦學習與再學習步驟。逐個呼叫見訓練與評估;想跑一次真實訓練,用Playground頁的訓練器。