การเรียนรู้ TOON CLI
หากคุณเคยทำงานกับ Large Language Models (LLM) คุณจะรู้ว่า JSON เป็นภาษากลางของการแลกเปลี่ยนข้อมูล อย่างไรก็ตาม คุณยังทราบด้วยว่า JSON เป็นที่รู้จักในเรื่อง "ช่างพูด" วงเล็บปีกกา เครื่องหมายคำพูด และคีย์ที่ซ้ำกันทั้งหมดกินหน้าต่างบริบทของคุณ เพิ่มเวลาแฝง และเพิ่มต้นทุน API
นี่คือจุดที่ TOON (สัญลักษณ์เชิงวัตถุ) โดดเด่น แม้ว่าไลบรารี TypeScript จะดีสำหรับโค้ดแอปพลิเคชัน แต่บางครั้งคุณเพียงแค่ต้องทำงานให้เสร็จอย่างรวดเร็วในเทอร์มินัล ไม่ว่าคุณจะแก้ไขจุดบกพร่องของพรอมต์ เตรียมชุดข้อมูล หรือเพียงอยากรู้ว่าคุณสามารถประหยัดเงินได้ด้วยโทเค็น CLI @toon-format/toon คือเพื่อนที่ดีที่สุดคนใหม่ของคุณ
ในคู่มือนี้ เราจะดูวิธีใช้ประโยชน์จากอินเทอร์เฟซบรรทัดคำสั่ง TOON เพื่อรวมการปรับข้อมูลให้เหมาะสมเข้ากับเวิร์กโฟลว์เชลล์ของคุณโดยตรง
กำลังตั้งค่า
หนึ่งในสิ่งที่ดีที่สุดเกี่ยวกับเครื่องมือ JavaScript สมัยใหม่ก็คือคุณไม่จำเป็นต้อง "ติดตั้ง" อะไรเลยเพื่อเริ่มต้น หากคุณต้องการลองใช้ TOON ในไฟล์เดียว คุณสามารถใช้ npx เพื่อเรียกใช้ไบนารี่ได้โดยตรง:
npx @toon-format/cli input.json -o เอาท์พุต.toon
-
อย่างไรก็ตาม หากคุณวางแผนที่จะใช้สิ่งนี้บ่อยๆ—และเมื่อคุณเห็นการประหยัดโทเค็นแล้ว คุณก็มีแนวโน้มว่าจะใช้—การติดตั้งทั่วโลกคือหนทางไป มันช่วยให้คุณเข้าถึงคำสั่ง toon สั้นๆ ได้ทุกที่ในระบบของคุณ
ติดตั้ง npm -g @toon-format/cli
#หรือ
pnpm เพิ่ม -g @toon-format/cli
-
เมื่อติดตั้งแล้ว คุณก็พร้อมที่จะเริ่มย่อขนาดข้อมูลของคุณแล้ว
ความมหัศจรรย์ของการตรวจจับอัตโนมัติ
TOON CLI ได้รับการออกแบบมาให้ชาญฉลาดเกี่ยวกับสิ่งที่คุณกำลังพยายามทำ คุณแทบไม่ต้องบอกให้เข้ารหัสหรือถอดรหัสอย่างชัดเจน มันจะดูที่นามสกุลไฟล์ของคุณเพื่อตัดสินใจ
หากคุณป้อนไฟล์ .json ให้กับมัน ระบบจะถือว่าคุณต้องการเข้ารหัสเป็น TOON หากคุณระบุไฟล์ .toon ไฟล์นั้นจะเปลี่ยนเป็นโหมดถอดรหัสเพื่อคืน JSON ให้กับคุณ
# เข้ารหัสเป็น TOON โดยอัตโนมัติ
toon data.json -o บีบอัด.toon
# ถอดรหัสเป็น JSON โดยอัตโนมัติ
toon บีบอัด toon -o Restored.json
-
แต่สิ่งที่ CLI พิสูจน์คุณค่าของมันจริงๆ นั้นอยู่ใน "ปรัชญาของ Unix" ซึ่งเป็นเครื่องมือเล็กๆ ที่เชื่อมต่อกันอย่างหลวมๆ เนื่องจาก TOON CLI อ่านจากอินพุตมาตรฐาน (stdin) และเขียนไปยังเอาต์พุตมาตรฐาน (stdout) คุณจึงสามารถไพพ์ข้อมูลผ่านอินพุตได้โดยตรง
# ไปป์ JSON ลงใน TOON โดยตรง
cat large-dataset.json | ตูน > data.toon
# ก้องวัตถุอย่างรวดเร็วเพื่อดูว่ามันมีลักษณะอย่างไรใน TOON
echo '{"name": "Ada", "role": "admin"}' | ตูน
-
เมื่อคุณทำการไพพ์ข้อมูลผ่าน stdin CLI จะมีค่าเริ่มต้นเป็นโหมด เข้ารหัส หากคุณต้องการถอดรหัสกระแสข้อมูล TOON ที่มาจากกระบวนการอื่น เพียงเพิ่มแฟล็ก --decode (หรือ -d)
การวิเคราะห์การออมโทเค็น
การปรับรูปแบบข้อมูลให้เหมาะสมมักเกี่ยวกับการคาดเดาเกม "ถ้าฉันลบช่องว่าง ฉันจะประหยัดเงินได้เท่าไหร่" "จะเป็นอย่างไรถ้าฉันเปลี่ยนมาใช้ YAML"
TOON CLI กำจัดการคาดเดาด้วยแฟล็ก --stats เมื่อเข้ารหัส ตัวเลือกนี้จะคำนวณจำนวนโทเค็นโดยประมาณและแสดงจำนวนเงินที่คุณประหยัดได้ทันที นี่เป็นสิ่งล้ำค่าเมื่อคุณตั้งงบประมาณสำหรับการโทร LLM ในปริมาณมาก
toon context.json --stats
-
คุณอาจเห็นผลลัพธ์ที่ระบุขนาดที่ลดลง 30% หรือ 40% นั่นไม่ใช่แค่พื้นที่ดิสก์เท่านั้น นั่นคือเวลาแฝงลดลง 40% และต้นทุนโทเค็นอินพุตลดลง 40%
การปรับแต่งขั้นสูง: ตัวคั่นและการจัดรูปแบบ
ตามค่าเริ่มต้น TOON จะใช้เครื่องหมายจุลภาคเพื่อแยกรายการอาร์เรย์ คล้ายกับ JSON อย่างไรก็ตาม โทเค็น LLM ที่แตกต่างกันมีพฤติกรรมแตกต่างออกไปเมื่อมีเครื่องหมายวรรคตอน บางครั้งอักขระแท็บหรือไปป์ (|) มีประสิทธิภาพด้านโทเค็นมากกว่าเครื่องหมายจุลภาค
CLI ช่วยให้คุณสามารถสลับตัวคั่นได้ทันที หากคุณกำลังจัดการกับข้อมูลแบบตาราง การสลับไปใช้ตัวคั่นแท็บจะทำให้เอาต์พุตดูสะอาดตาและประมวลผลได้อย่างมีประสิทธิภาพมากขึ้น
สำหรับรายการผลิตภัณฑ์ การดำเนินการนี้จะแปลงผลลัพธ์จากรายการที่คั่นด้วยเครื่องหมายจุลภาคให้เป็นโครงสร้างที่คั่นด้วยแท็บที่สะอาดตา ซึ่งดูเหมือนเกือบจะเป็นสเปรดชีต ซึ่งหลายรุ่นแยกวิเคราะห์ได้ดีเป็นพิเศษ
# ใช้แท็บสำหรับรายการอาร์เรย์
toon items.json --ตัวคั่น "\t" -o items.toon
-
:::ทิป
เคล็ดลับสำหรับมือโปร: ตัวคั่นแท็บมักจะลดความจำเป็นในการหลีกเลี่ยงเครื่องหมายคำพูด และอาจส่งผลให้มีการเข้ารหัสข้อมูลตัวเลขได้ดีขึ้น หากคุณกำลังประมวลผลชุดข้อมูลขนาดใหญ่ ให้ลองใช้ --delimiter "\t" เพื่อบีบประสิทธิภาพออกให้หมด
อัดโครงสร้างด้วยการพับกุญแจ
หนึ่งในคุณสมบัติใหม่ (เปิดตัวในข้อมูลจำเพาะ v1.5) ที่มีอยู่ใน CLI คือ การพับคีย์ ข้อมูล JSON มักจะซ้อนกันแบบลึก โดยมีคีย์ตัวแทรก เช่น data.response.items ที่เพิ่มความลึกของโครงสร้างโดยไม่เพิ่มความหมาย
CLI ช่วยให้คุณสามารถ "พับ" คีย์ที่ซ้อนกันเหล่านี้ลงในพาธที่มีจุดเดียว ซึ่งลดลำดับชั้นลงและบันทึกโทเค็นในการเยื้องและเครื่องหมายปีกกา
toon deep-structural.json --กุญแจพับปลอดภัย -o flat.toon
-
สิ่งนี้จะแปลงวัตถุที่ซ้อนกัน:
{ "ผู้ใช้": { "โปรไฟล์": { "id": 1 } } }
-
เป็นการเป็นตัวแทน TOON ที่กระชับ:
user.profile.id: 1
-
หากคุณต้องการแปลงกลับเป็น JSON แบบเต็มในภายหลัง คุณสามารถใช้แฟล็ก --expand-paths safe ในระหว่างการถอดรหัสเพื่อสร้างโครงสร้าง Deep Object ใหม่ได้อย่างสมบูรณ์
บูรณาการเข้ากับไปป์ไลน์
พลังที่แท้จริงของ TOON CLI จะเกิดขึ้นเมื่อคุณเชื่อมโยงเข้ากับเครื่องมืออื่นๆ เช่น curl และ jq คุณสามารถดึงข้อมูลจาก API กรองข้อมูลตามที่จำเป็น และแปลงเป็น TOON ได้ในบรรทัดเดียว พร้อมที่จะวางลงในพร้อมท์หรือส่งไปยังจุดสิ้นสุดการอนุมาน
ในเวิร์กโฟลว์นี้ คุณจะดึงข้อมูล แยกเฉพาะผู้ใช้ที่ใช้งานอยู่ แปลงเป็นรูปแบบ TOON ที่คั่นด้วยไปป์ และรับรายงานสถิติเกี่ยวกับจำนวนโทเค็นที่คุณเพิ่งบันทึก
curl -s https://api.example.com/users \
- jq '.data.active_users' \
- toon --stats --ตัวคั่น '|'
-
สรุป
@toon-format/cli เป็นมากกว่าตัวแปลงไฟล์ เป็นเข็มขัดอเนกประสงค์สำหรับยุค LLM ด้วยการย้ายการประมวลผลข้อมูลไปยังบรรทัดคำสั่ง คุณสามารถวนซ้ำได้เร็วขึ้น แสดงภาพการเพิ่มประสิทธิภาพทันที และผสานรวมรูปแบบที่มีประสิทธิภาพโทเค็นเข้ากับเวิร์กโฟลว์ทางวิศวกรรมที่มีอยู่ของคุณ
ไม่ว่าคุณกำลังเตรียมเอกสาร RAG (Retrieval-Augmented Generation) หรือเพียงแค่พยายามปรับ JSON Blob ขนาดใหญ่ลงในหน้าต่างบริบทขนาดเล็ก ให้ลองใช้ CLI ดู งบประมาณโทเค็นของคุณจะขอบคุณ