Laya 本機 System One 模型:安裝、用法與 Jev 比較
如果 Jev 的「固定答案空間、回傳機率、不生成文字」很適合你的流程,但資料不能送到外部 API,Laya 提供了一條本機路徑。它是 Convai Innovations 在 2026 年 9 月 18 日公開的開源 System One 決策模型,程式碼與模型權重採 Apache 2.0 授權。
不過 Laya 才剛發布,現階段比較適合測試、研究與特定領域微調。它有可下載的權重、PyPI 套件與重現 Notebook,不代表 README 裡的所有數字都已經過廣泛的外部驗證。
Laya 提供哪三個模型
Laya 目前列出三個 checkpoint:
| checkpoint | Backbone | 參數量 | 預設 context | 適用情境 |
|---|---|---|---|---|
laya | ModernBERT-large | 421M | 512 | 英文分類與判斷 |
laya-multilingual | mmBERT-base | 322M | 1,024 | 多語內容與非拉丁文字 |
laya-typed-decisions | ModernBERT-large | 421M | 1,024 | 專門微調過的 typed-decision workflow |
權重大小約 647 到 843 MB,實際執行還要加上 PyTorch、模型結構、中間張量與批次資料的記憶體。它不是一個幾十 MB 的分類器;若正式服務需要高併發,仍要估算 GPU、常駐記憶體與冷啟動。
Laya 的輸出介面模仿 System One 常見的三種 primitive:choice、score 與 noul。它也是非自回歸模型,一次 forward pass 可以處理同一 state 上的多個問題。
安裝與第一個本機判斷
先建立獨立 Python 環境,再安裝 PyPI 套件:
python3 -m venv .venvsource .venv/bin/activatepip install layaREADME 建議從 Router 開始。它會依文字語言與 script 選擇英文或多語 checkpoint:
from laya import Router
router = Router(preload=True)
state = { "subject": "帳單重複扣款", "body": "信用卡被扣了兩次,請協助退款。",}
questions = { "department": { "type": "choice", "instructions": "哪個部門應處理這則訊息?", "criteria": { "billing": "帳單、付款與退款", "technical": "系統錯誤與串接問題", "sales": "價格與新合約", "other": "其他", }, }, "refund_requested": { "type": "noul", "instructions": "使用者是否明確要求退款?", },}
result = router.predict(state, questions)
print(result["routing"])print(result["answers"]["department"])print(result["answers"]["refund_requested"])preload=True 會預先載入 checkpoint,以換取之後較低的呼叫延遲,但也會增加啟動時間與記憶體使用量。第一次執行還需要從 Hugging Face 下載權重;正式部署應先完成下載並固定模型 revision,避免啟動時受到外部網路或權重更新影響。
如果已確定只處理單一語言,也能直接載入指定模型:
import laya
agent = laya.load( "convaiinnovations/laya", subfolder="multilingual", device="cuda",)
result = agent.predict(state, questions)以上介面依 Laya 0.3.4 repository 與模型卡整理。本機檢查確認 PyPI metadata、套件原始碼與模型檔案存在;本文沒有下載完整權重跑 GPU 推論,因此延遲與範例輸出仍以專案公布資料為準。
33 ms 很快,但條件要寫完整
Laya 公布的 Tesla T4 測量中,多語模型單一問題約 32.8 ms;一次處理 10 個問題為 72.3 ms,平均每題 7.2 ms。這是 GPU forward pass 的測量,不包含首次下載、模型載入、應用程式排隊、網路 API 包裝或 CPU 環境差異。
更重要的是準確率。專案自己的 benchmark 明確揭露:
- 基礎
laya與laya-multilingual在 typed-decisions zero-shot 測試只得到 0.362 與 0.342,接近 0.318 的隨機基準,也低於 0.461 的多數類別基準。 - 專門微調的
laya-typed-decisions在相同 2,000 個 decision 上得到 0.766。 - 高分能力主要來自針對該 workflow 的微調,不能當成任意領域的 zero-shot 表現。
- 模型原始輸出過度自信,專案建議以自己的資料重新做 temperature fitting。
score是目前較弱的 primitive,大量選項也會受到 Token 分配影響。
這些限制反而說明比較合理的定位:Laya 是可自行微調的快速判斷底座,不是下載後就能理解所有公司分類規則的萬用模型。
Laya 和 Jev 怎麼選
| 決策條件 | Jev | Laya |
|---|---|---|
| 希望快速開始 | 申請金鑰後呼叫 API | 要準備 Python 與推論環境 |
| 資料必須留在內部 | 需評估 TypeSafe 資料政策;企業方案有 ZDR | 可在自有環境執行 |
| 長上下文 | 官方上限 64K | 預設 512/1,024,需自行調整與驗證 |
| 中文 | 官方稱可處理但英文最佳 | 有 multilingual checkpoint,仍需實測 |
| 客製化 | 透過 state、instructions、criteria | 可自行微調權重與校正 |
| 成本 | 每百萬輸入 Token 0.042 美元 | 支付 GPU、記憶體與維運成本 |
| 成熟度 | 有正式託管 API、SDK 與限制文件 | 2026-09-18 才公開,仍屬早期 |
少量或不固定的請求,Jev API 通常比較容易估算;資料敏感、請求量大、能維護模型服務,或需要針對內部標籤微調時,Laya 才比較有評估價值。
不要只拿單次推論價格比較。自架模型還有 GPU 閒置、容器映像、權重更新、監控、校正與事故處理成本;雲端 API 則要考慮資料傳輸、供應商限制與服務可用性。
上線前要做的四個檢查
第一,先建立自己的 holdout dataset,不要使用微調資料衡量正式準確率。第二,分語言看準確率與 ECE,尤其繁體中文不要和英文平均。第三,測試選項順序、other 案例及對抗性文字。第四,將高影響操作放在程式規則與人工審核後面。
「沒有文字生成」不等於「沒有 hallucination」。Laya 不會寫出 schema 外的答案,但仍會自信地分錯類;它的 README 也直接記錄英文 checkpoint 對非拉丁文字可能高信心答錯。格式安全與語意正確必須分開驗證。
想先理解這類模型的共同介面,可讀 Jev 是什麼?;若決定採用託管 API,可接著看 Jev TypeScript API 教學。如果需求來自 Codex 額度問題,則先確認 Skill、MCP 與 Router 的差異,不要把安裝套件當成成本優化完成。
常見問題
Q: Laya 可以完全離線使用嗎?
A: 模型權重與 Python 相依套件下載完成後,可以在本機執行推論。正式離線環境還需要預先保存權重、固定 revision、準備套件來源並禁止啟動時自動連到 Hugging Face;不能只看 pip install 就假設所有執行階段都離線。
Q: Laya 需要 GPU 嗎?
A: 專案提供 CPU 與 GPU 路徑,但 README 的 32.8~39.5 ms 數字是在 Tesla T4 上測得。CPU 或 Apple Silicon 的延遲、記憶體與相容性需在自己的硬體量測,不能直接套用 T4 數字。
Q: Laya 比 Jev 準確嗎?
A: 目前不能做通用結論。Laya 的 typed-decisions checkpoint 在專案公布的同名測試上高於 Jev 公開數字,但兩者不是由同一個獨立測試者以相同 API、樣本與條件實測;Laya 基礎 checkpoint 的 zero-shot 表現也明顯較弱。
參考資料: