TOON 协议与 AIDotNet.Toon 实践指南

TOON 协议与 AIDotNet.Toon 实践指南

💡 原文中文,约7200字,阅读约需18分钟。
📝

内容提要

TOON 是一种高效的序列化格式,通常比 JSON 节省 30-60% 的 tokens。它通过简化语法、减少冗余和使用缩进结构来优化数据表示,适合均匀对象数组,但对于深度嵌套数据,JSON 可能更高效。TOON 在 .NET 中提供了易用的 API。

🎯

关键要点

  • TOON 是一种高效的序列化格式,通常比 JSON 节省 30-60% 的 tokens。
  • TOON 通过简化语法、减少冗余和使用缩进结构来优化数据表示。
  • TOON 适合均匀对象数组,但对于深度嵌套数据,JSON 可能更高效。
  • TOON 提供了易用的 API,特别是在 .NET 中。
  • TOON 的关键特性包括:Token-efficient、LLM-friendly guardrails、Minimal syntax、Indentation-based structure 和 Tabular arrays。
  • TOON 通过表格数组、行内原子数组、键名可不加引号和缩进代替大括号等策略减少冗余。
  • 对于深度嵌套或非均匀结构的数据,JSON 可能更高效。
  • TOON 的语法速查提供了多种示例,展示了如何使用 TOON 表示不同的数据结构。
  • AIDotNet.Toon 是 TOON 在 .NET 的实现,提供与 System.Text.Json 风格一致的 API。
  • 通过 NuGet 或源码引入 AIDotNet.Toon 库,可以快速开始使用 TOON。
  • TOON 的选项与行为统一入口为 C#.ToonSerializerOptions,提供多种配置选项。
  • TOON 统一抛出 C#.ToonFormatException 来定位解码错误,包含错误分类与位置信息。
  • TOON 适合均匀对象数组和字段重复较多的场景,而 JSON 更适合深度嵌套和非均匀数据。
  • TOON 让 LLM 输入里的结构化数据更加紧凑、可校验、可读。

延伸问答

TOON 协议的主要特点是什么?

TOON 协议的主要特点包括高效的 token 使用、简化的语法、基于缩进的结构和表格数组等。

TOON 与 JSON 的主要区别是什么?

TOON 通常比 JSON 节省 30-60% 的 tokens,适合均匀对象数组,而 JSON 更适合深度嵌套和非均匀数据。

如何在 .NET 中使用 AIDotNet.Toon 库?

可以通过 NuGet 或源码引入 AIDotNet.Toon 库,并使用 C#.ToonSerializer 提供的 API 进行序列化和反序列化。

TOON 协议适合哪些数据结构?

TOON 协议适合均匀对象数组和字段重复较多的场景,但对于深度嵌套或非均匀结构的数据,JSON 可能更高效。

TOON 的语法速查提供了哪些示例?

TOON 的语法速查提供了对象、嵌套对象、行内原子数组和表格数组等多种示例,展示如何表示不同的数据结构。

如何处理 TOON 的解码错误?

TOON 统一抛出 C#.ToonFormatException,包含错误分类与位置信息,帮助定位解码错误。

➡️

继续阅读