TOON格式规范详解:掌握3.0版本的所有语法规则

TOON格式规范详解:掌握3.0版本的所有语法规则

【免费下载链接】toon 🎒 Token-Oriented Object Notation (TOON) – Compact, human-readable, schema-aware JSON for LLM prompts. Spec, benchmarks, TypeScript SDK. 【免费下载链接】toon 项目地址: https://gitcode.com/gh_mirrors/toon/toon

TOON(Token-Oriented Object Notation)是一种专为LLM提示词设计的紧凑、人类可读的数据序列化格式。TOON 3.0版本作为最新的稳定规范,提供了完整的语法规则和实现指导。🎯

什么是TOON格式?

TOON格式是一种面向token的对象表示法,专门优化用于大型语言模型提示词中的数据序列化。相比传统JSON格式,TOON能够减少30-60%的token消耗,同时保持更高的检索准确率(TOON 73.9% vs JSON 69.7%)。TOON格式规范为开发者和实现者提供了标准化的语法规则和编码要求。

TOON格式工作流

核心语法要素

对象表示法

TOON使用简洁的键值对表示对象,无需花括号和逗号分隔符:

id: 1
name: Ada

数组语法

TOON提供了多种数组表示方式,包括:

  • 基本数组tags[3]: foo,bar,baz
  • 表格数组items[2]{id,qty}: 后跟表格行数据
  • 混合数组:使用连字符表示不同类型的元素

头部语法规范

数组头部采用结构化语法:

key[N<delim?>]{fields}:

其中N表示数组长度,<delim?>可选指定分隔符,{fields}定义表格列名。

严格模式与验证规则

TOON 3.0引入了严格的验证机制,包括:

  • 数组长度必须与实际元素数量匹配
  • 缩进必须一致(默认2个空格,无制表符)
  • 仅允许有效的转义序列:\\\"\n\r\t

编码与解码要求

编码器规范

编码器必须遵循以下规则:

  • 生成UTF-8编码,LF行结束符
  • 使用一致的缩进
  • 保留对象键的顺序
  • 将数字规范化为非指数十进制形式

解码器规范

解码器需要:

  • 根据§6解析数组头部
  • 仅使用活动分隔符拆分内联数组和表格行
  • strict=true时强制执行严格模式规则

实用语法速查

引用规则总结

字符串在以下情况下必须被引用:

  • 空字符串(""
  • 包含前导或尾随空白字符
  • 等于truefalsenull(区分大小写)
  • 看起来像数字(如"42""-3.14"
  • 包含特殊字符::"\[]{}、换行符、制表符、回车符

类型转换表

输入类型输出结果
有限数字规范十进制(无指数,无尾随零)
NaNInfinity-Infinitynull
BigInt(安全范围)数字
BigInt(超出范围)引用十进制字符串
DateISO字符串(引用)

实现指南与最佳实践

TOON 3.0规范为不同编程语言提供了详细的实现指导。参考实现位于packages/toon/src/目录,包含完整的编码器和解码器实现。

通过掌握TOON 3.0版本的完整语法规则,开发者可以更高效地在LLM应用中处理结构化数据,显著提升提示词的token效率。🚀

【免费下载链接】toon 🎒 Token-Oriented Object Notation (TOON) – Compact, human-readable, schema-aware JSON for LLM prompts. Spec, benchmarks, TypeScript SDK. 【免费下载链接】toon 项目地址: https://gitcode.com/gh_mirrors/toon/toon

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值