在AI应用开发中,JSON格式的数据传输消耗了大量token。开发者Mahesh Vaikri提出了一种名为ISON(Interchange Simple Object Notation)的新格式,能在保持数据完整性的同时显著减少token使用。
传统JSON格式充斥着大量括号、引号和冒号。以一个典型的用户数据为例:
{
"users": [
{"id": 1, "name": "Alice", "email": "alice@example.com", "active": true},
{"id": 2, "name": "Bob", "email": "bob@example.com", "active": false},
{"id": 3, "name": "Charlie", "email": "charlie@example.com", "active": true}
]
}这个结构需要87个token,其中大部分被语法符号占用。
同样的数据用ISON表示:
table.users
id:int name:string email active:bool
1 Alice alice@example.com true
2 Bob bob@example.com false
3 Charlie charlie@example.com true仅需34个token,减少了61%。ISON采用表格状结构,基于LLM训练时已熟悉的TSV模式。
数据块类型:
table.name - 多行数据表object.name - 单行键值配置引用系统:
:1 - 引用id=1的行:user:42 - 命名空间引用:RELATIONSHIP:id - 关系引用类型注解:
:int、:string、:bool、:floatfield:computed - 计算字段~或null表示项目进行了300道题目的大规模基准测试,覆盖20个数据集,使用GPT-4o标准分词器:
| 格式 | Token数 | 相比JSON | 准确率 | 每千Token准确率 |
|---|---|---|---|---|
| ISON | 3,550 | -72.0% | 88.3% | 24.88 |
| TOON | 4,847 | -61.7% | 88.7% | 18.29 |
| JSON压缩 | 7,339 | -42.1% | 89.0% | 12.13 |
| JSON | 12,668 | 基准线 | 84.7% | 6.68 |
ISON在所有20项token效率测试中获胜,比JSON高出272%的token效率。
ISON已构建跨5种编程语言的11个包,通过303+项测试:
安装使用:
# JavaScript/TypeScript
npm install ison-parser ison-ts isonantic-ts
# Python
pip install ison-py isonantic
# Rust
cargo add ison-rs isonantic-rs
# Go
go get github.com/maheshvaikri-code/ison/ison-go代码示例(Python):
from ison_py import parse, to_json
doc = parse("""
table.users
id:int name:string active:bool
1 Alice true
2 Bob false
""")
# 访问数据
for row in doc['users']['rows']:
print(f"{row['id']}: {row['name']}")
# 转换为JSON
print(to_json(doc))对于大数据集,ISON提供基于行的ISONL格式:
table.users|id name email|1 Alice alice@example.com
table.users|id name email|2 Bob bob@example.com每行自包含,适合流式处理和大数据场景。
ISONantic提供类似Pydantic的验证功能:
import { table, string, int, boolean } from 'isonantic-ts';
const userSchema = table('users')
.field('id', int().required())
.field('name', string().min(1).max(100))
.field('email', string().email())
.field('active', boolean().default(true));
const users = userSchema.validate(doc);对于需要频繁与LLM交换数据的应用,ISON提供了一个更高效的替代方案。特别是在RAG、智能体等场景下,每个token都值得精打细算。
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |