tonl-dev/tonl

TONL (Token-Optimized Notation Language)

解決的問題

TONL(Token-Optimized Notation Language)是一種專為減少結構化資料大小而設計的資料序列化格式與平台,旨在降低將資料輸入大型語言模型(LLMs)時的令牌成本。它提供了一種人類可讀的JSON替代方案,其在位元組與令牌數量上都顯著更緊湊,同時保持與JSON的完全雙向相容性。

工作原理

TONL使用一種緊湊的表示法,以類似模式的標頭(例如 users[3]{id:u32,name:str,role:str}:)取代重複的JSON鍵與結構開銷,後接原始資料值。它提供一個全面的TypeScript API,支援使用類似JSONPath的語法進行編碼、解碼與查詢資料。為進一步縮小體積,它採用高階最佳化策略,如字典編碼、差分編碼與位元打包。

適用對象

  • LLM開發者:希望透過壓縮提示中的結構化資料來降低API成本並提升上下文視窗效率的人。
  • 資料工程師:需要一種快速、輕量且人類可讀的序列化格式,用於設定檔或API回應的使用者。
  • 前端開發者:需要在瀏覽器中進行資料操作的小型、零相依性函式庫的開發者。

主要亮點

  • 令牌效率:將JSON大小與LLM令牌使用量減少32-45%。
  • 強大查詢功能:支援JSONPath查詢、過濾表示式與樹狀遍歷。
  • 高階壓縮:包含自適應最佳化、數值量化與行程長度編碼。
  • 生產就緒:零執行時相依性,100% TypeScript,擁有超過2,300個測試的廣泛測試覆蓋。
  • 開發者工具:提供帶主題的互動式CLI儀表板、模式驗證語言(TSL)與VS Code擴充功能。

相關

  • 專案
  • 專案
  • 專案
  • 專案