วิธีแปลง JSON เป็น TOON
- วาง JSON หรือเปิดไฟล์ ผลลัพธ์ TOON และจำนวนโทเคนที่ประหยัดได้โดยประมาณจะแสดงทันที
- เลือกตัวคั่น: คอมมา (ค่าเริ่มต้น) แท็บ หรือไปป์ แท็บมักใช้โทเคนน้อยลงไปอีก
- คัดลอก TOON ไปใส่ในพรอมต์ของคุณ หากต้องการอ่านคำตอบแบบ TOON จากโมเดล ให้สลับทิศทางเป็น TOON → JSON
TOON vs JSON: ตัวอย่างเปรียบเทียบ
ผู้ใช้สองคนเดียวกันในรูปแบบ JSON:
{"users":[{"id":1,"name":"Ada","role":"admin"},{"id":2,"name":"Bob","role":"user"}]}
และในรูปแบบ TOON:
users[2]{id,name,role}:1,Ada,admin2,Bob,user
ชื่อฟิลด์ถูกเขียนเพียงครั้งเดียวในส่วนหัวแทนที่จะเขียนซ้ำในทุกอ็อบเจ็กต์ และเครื่องหมายคำพูด วงเล็บปีกกา รวมถึงเครื่องหมายวรรคตอนส่วนใหญ่จะหายไป สำหรับอาร์เรย์ของอ็อบเจ็กต์ที่มีโครงสร้างเหมือนกัน – แถวจากฐานข้อมูล ล็อก ผลการค้นหา รายการสินค้า – จะประหยัดได้มาก: ในการทดสอบของเรากับข้อมูลลูกค้า 100 รายการ TOON ใช้โทเคนน้อยกว่า JSON ที่จัดรูปแบบประมาณ 65% และน้อยกว่า JSON แบบย่อ 47% ตัวระบุความยาว [2] ยังช่วยให้ทั้งโมเดลและตัวถอดรหัสตรวจสอบได้ว่าไม่มีแถวใดหายไป
รูปแบบ TOON โดยสรุป
| ข้อมูล | TOON |
|---|---|
| ฟิลด์ของอ็อบเจ็กต์ | name: Ada |
| อ็อบเจ็กต์ซ้อน | address: ตามด้วยฟิลด์ที่เยื้องเข้าไป |
| อาร์เรย์ของค่าธรรมดา | tags[3]: red,green,blue |
| อาร์เรย์ของอ็อบเจ็กต์ที่มีคีย์เหมือนกัน | users[2]{id,name}: ตามด้วยหนึ่งแถวต่อหนึ่งอ็อบเจ็กต์ |
| อาร์เรย์แบบผสมหรือซ้อนกัน | items[2]: ตามด้วยรายการแบบ - |
| สตริง | ไม่มีเครื่องหมายคำพูด เว้นแต่จะมีตัวคั่น โคลอน เครื่องหมายคำพูด หรือวงเล็บ มีช่องว่างที่หัวหรือท้าย หรือดูเหมือนตัวเลข true, false หรือ null |
เมื่อไหร่ที่ JSON ยังเป็นตัวเลือกที่ดีกว่า
- ข้อมูลที่ซ้อนกันลึกหรือไม่สม่ำเสมอ – เมื่ออ็อบเจ็กต์มีคีย์ต่างกันหรือมีอ็อบเจ็กต์ซ้อนอยู่ภายใน TOON จะเปลี่ยนไปใช้ลิสต์แบบเยื้องแทน และการประหยัดจะลดลงหรือหายไป จากข้อมูล 20 รายการที่แต่ละรายการมีที่อยู่แบบซ้อนและลิสต์แท็ก TOON ยังเล็กกว่า JSON ที่จัดรูปแบบ 34% แต่ใหญ่กว่า JSON แบบย่อ 12% ตัวแปลงจะแสดงการเปรียบเทียบทั้งสองแบบสำหรับข้อมูลของคุณ
- อินเทอร์เฟซระหว่างเครื่อง – API, function calling และ structured output ต้องการ JSON
- ความคุ้นเคยของโมเดล – โมเดลภาษาเคยเห็น JSON มามากกว่า TOON อย่างมาก ควรตรวจสอบคุณภาพคำตอบกับพรอมต์ของคุณเองก่อนเปลี่ยน
- ข้อมูลขนาดเล็กมาก – สำหรับค่าเพียงไม่กี่ค่า ความแตกต่างแทบไม่มีนัยสำคัญ
จำนวนโทเคนประมาณจากจำนวนอักขระ ÷ 4 ตัวเลขที่แน่นอนขึ้นอยู่กับ tokenizer ของโมเดลที่คุณใช้ แต่ความแตกต่างโดยเปรียบเทียบก็ใช้เป็นแนวทางได้ดี
คำถามที่พบบ่อย
TOON คืออะไร?
TOON (Token-Oriented Object Notation) คือการเข้ารหัสโมเดลข้อมูลของ JSON แบบกะทัดรัดที่มนุษย์อ่านได้ ออกแบบมาสำหรับพรอมต์ LLM โดยผสานการเยื้องแบบ YAML สำหรับอ็อบเจ็กต์เข้ากับแถวแบบ CSV สำหรับอาร์เรย์ที่มีโครงสร้างเหมือนกัน
TOON ดีกว่า JSON หรือไม่?
สำหรับการส่งข้อมูลแบบตารางหรือข้อมูลที่มีโครงสร้างสม่ำเสมอให้โมเดลภาษา โดยทั่วไปใช่: ใช้โทเคนน้อยกว่าและระบุความยาวอาร์เรย์ชัดเจน แต่สำหรับ API การจัดเก็บข้อมูล และข้อมูลที่ซ้อนกันลึก JSON ยังคงเป็นตัวเลือกที่ดีกว่า
ประมาณจำนวนโทเคนอย่างไร?
เครื่องมือนี้หารจำนวนอักขระด้วยสี่ ซึ่งเป็นหลักการคร่าวๆ ที่นิยมใช้กับข้อความภาษาอังกฤษและโค้ด ข้อความภาษาไทยมักใช้โทเคนต่ออักขระมากกว่านี้ จำนวนที่แน่นอนขึ้นอยู่กับ tokenizer ของโมเดลที่คุณใช้
แปลง TOON กลับเป็น JSON ได้ไหม?
ได้ สลับทิศทางเป็น TOON → JSON ตัวถอดรหัสจะตรวจสอบความยาวอาร์เรย์ที่ประกาศไว้ และรายงานบรรทัดที่มีปัญหา