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扩展。

相关

  • 项目
  • 项目
  • 项目
  • 项目