关于 moai-formats-data
面向性能敏感型应用的数据格式技能,涵盖序列化、验证和格式转换。它提供用于降低 LLM 令牌消耗的 TOON 编码、优化的 JSON/YAML 处理、流式处理及 Schema 工具。
主要功能
- 01TOON 编码与解码
- 02优化 JSON 和 YAML
- 03Schema 与类型验证
- 04格式转换
- 05大型数据集流式处理
- 06缓存与 Schema 演进
适用场景
- 01缩减 LLM 输入数据
- 02验证结构化 API 数据
- 03合并配置文件
- 04流式处理大型 JSON 文件
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ modu-ai/ moai-adk --skill moai-formats-data安装后在 Claude Code 中输入/moai-formats-data确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
modules/INDEX.mdSKILL-MODULARIZATION-TEMPLATE.mdcaching-performance.mddata-validation.mdjson-optimization.mdtoon-encoding.mdreferences/examples.mdreference.md详细介绍
数据格式专家
快速参考
高级数据格式管理——涵盖 TOON 编码、JSON/YAML 优化、序列化模式和数据验证,满足性能关键型应用的数据处理需求。
核心能力:
- TOON 编码:与 JSON 相比,LLM 通信的令牌用量减少 40-60%
- JSON/YAML 优化:高效的序列化和解析模式
- 数据验证:模式验证、类型检查、错误处理
- 格式转换:在不同数据格式之间无缝转换
- 性能:优化数据结构和缓存策略
- 模式管理:动态生成和演进模式
适用场景:
- 在令牌预算内优化向 LLM 传输的数据
- 高性能序列化/反序列化
- 模式验证和数据完整性
- 格式转换和数据处理
- 大型数据集处理和优化
快速入门:
创建一个 TOONEncoder 实例,并调用 encode,传入包含 user 和 age 字段的字典来压缩数据。编码后的结果可减少 40-60% 的令牌用量。调用 decode 可还原原始数据结构。
创建一个 JSONOptimizer 实例,并调用 serialize_fast 处理大型数据集,实现超快速 JSON 处理。
创建一个 DataValidator 实例,并调用 create_schema,传入一个定义 name 为必填字符串类型的字典。调用 validate 并传入数据和模式,检查数据是否有效。
实现指南
核心概念
TOON(令牌优化对象表示法):
- 与二进制兼容的自定义格式,针对 LLM 令牌用量进行了优化
- 类型标记:# 表示数字,! 表示布尔值,@ 表示时间戳,~ 表示 null
- 与 JSON 相比,典型数据结构的大小减少 40-60%
- 无损往返编码/解码
性能优化:
- 使用 orjson 实现超快速 JSON 处理,速度比标准 json 快 2-5 倍
- 使用 ijson 对大型数据集进行流式处理
- 通过 LRU 淘汰和内存管理实现智能缓存
- 模式压缩和验证优化
数据验证:
- 通过自定义规则和模式进行类型安全验证
- 支持模式演进和迁移
- 跨字段验证和依赖关系检查
- 针对性能优化的批量验证
基本实现
面向 LLM 优化的 TOON 编码:
创建一个 TOONEncoder 实例。定义数据,其中包含带有 id、name、active 布尔值和 created datetime 的 user 对象,以及 permissions 数组。调用 encode 进行压缩,再调用 decode 进行还原。比较大小以验证压缩效果。
快速 JSON 处理:
创建一个 JSONOptimizer 实例。调用 serialize_fast 获取字节,再调用 deserialize_fast 进行解析。使用 compress_schema,并传入类型对象和属性定义,以优化重复验证。
数据验证:
创建一个 DataValidator 实例。定义 user_schema,其中 username 要求为字符串类型且最小长度为 3,email 要求为电子邮件类型,age 为可选整数且最小值为 13。调用 validate 并传入 user_data 和模式,然后检查结果中的 valid 状态、sanitized_data 或 errors 列表。
常见用例
API 响应优化:
创建一个函数,通过使用 TOONEncoder 编码数据来优化供 LLM 使用的 API 响应。创建对应的函数,将 TOON 数据解码回字典,以解析优化后的响应。
配置管理:
创建一个 YAMLOptimizer 实例,并调用 load_fast,传入配置文件路径。调用 merge_configs,并传入 base_config、env_config 和 user_config,以合并多个文件。
大型数据集处理:
创建一个 StreamProcessor,并将 chunk_size 设为 8192。定义一个用于处理每个条目的 process_item 函数。调用 process_json_stream,并传入文件路径和回调函数,无需将大型 JSON 文件加载到内存中即可进行处理。
高级功能概览
高级 TOON 功能
请参阅 modules/toon-encoding.md,了解自定义类型处理程序(UUID、Decimal)、TOON 流式处理、批量 TOON 编码,以及包含基准测试的性能特征。
高级验证模式
有关跨字段验证、架构演进与迁移、自定义验证规则和批量验证优化,请参阅 modules/data-validation.md。
性能优化
有关智能缓存策略、缓存预热与失效、内存管理和性能监控,请参阅 modules/caching-performance.md。
JSON/YAML 高级功能
有关流式 JSON 处理、内存高效解析、架构压缩和格式转换工具,请参阅 modules/json-optimization.md。
配合使用
- moai-domain-backend - 后端数据序列化和 API 响应
- moai-domain-database - 数据库数据格式优化
- moai-foundation-core - MCP 数据序列化和传输模式
- moai-workflow-docs - 文档数据格式化
- moai-foundation-context - 针对 Token 预算的上下文优化
模块参考
核心实现模块:
- modules/toon-encoding.md - TOON 编码实现
- modules/json-optimization.md - 高性能 JSON/YAML
- modules/data-validation.md - 高级验证和架构
- modules/caching-performance.md - 缓存策略
支持文件:
- modules/INDEX.md - 模块概览和集成模式
- reference.md - 扩展参考文档
- examples.md - 完整的可运行示例
技术栈
核心库:
- orjson:超快速 JSON 解析和序列化
- PyYAML:使用基于 C 的加载器处理 YAML
- ijson:用于大型文件的流式 JSON 解析器
- python-dateutil:高级日期时间解析
- regex:高级正则表达式支持
性能工具:
- lru_cache:内置记忆化
- pickle:对象序列化
- hashlib:用于缓存的哈希生成
- functools:函数装饰器和实用工具
验证库:
- jsonschema:JSON Schema 验证
- cerberus:轻量级数据验证
- marshmallow:对象序列化/反序列化
- pydantic:使用 Python 类型提示进行数据验证
资源
可运行代码示例请参阅 examples.md。
状态:可用于生产环境 最后更新:2026-01-11 维护者:MoAI-ADK Data Team