تسلط بر TOON CLI
اگر با مدلهای زبان بزرگ (LLM) کار میکنید، میدانید که JSON زبان تبادل داده است. با این حال، شما همچنین میدانید که JSON بهطور بدنامی «گفتگو» است. تمام آن بریسها، نقل قولها و کلیدهای مکرر پنجره زمینه شما را میخورند، تأخیر را افزایش میدهند و هزینههای API را بالا میبرند.
اینجاست که TOON (نمادگذاری شی گرا) می درخشد. در حالی که کتابخانه TypeScript برای کد برنامه عالی است، گاهی اوقات شما فقط باید کارها را به سرعت در ترمینال انجام دهید. چه در حال اشکالزدایی یک درخواست هستید، یا یک مجموعه داده آماده میکنید، یا صرفاً کنجکاو هستید که چقدر پول میتوانید در توکنها پس انداز کنید، «@toon-format/toon» CLI بهترین دوست جدید شماست.
در این راهنما، ما به نحوه استفاده از رابط خط فرمان TOON برای ادغام بهینه سازی داده ها به طور مستقیم در گردش کار پوسته خود نگاه خواهیم کرد.
در حال راه اندازی
یکی از بهترین چیزها در مورد ابزار مدرن جاوا اسکریپت این است که اغلب برای شروع نیازی به "نصب" چیزی ندارید. اگر فقط میخواهید TOON را روی یک فایل امتحان کنید، میتوانید از «npx» برای اجرای مستقیم باینری استفاده کنید:
``باش npx @toon-format/cli input.json -o output.toon
با این حال، اگر قصد دارید به طور مکرر از آن استفاده کنید - و به محض اینکه پس انداز رمز را مشاهده کردید، احتمالاً این کار را خواهید کرد - نصب جهانی راه حلی است. این به شما امکان دسترسی به دستور مختصر "toon" را در هر نقطه از سیستم شما می دهد.
``باش npm نصب -g @toon-format/cli
یا
pnpm -g @toon-format/cli را اضافه کنید
پس از نصب، شما آماده شروع به کوچک کردن داده های خود هستید.
جادوی تشخیص خودکار
TOON CLI طوری طراحی شده است که در مورد کاری که می خواهید انجام دهید هوشمند باشد. شما به ندرت نیاز دارید که صریحاً به آن بگویید که رمزگذاری یا رمزگشایی شود. برای تصمیم گیری به پسوند فایل شما نگاه می کند.
اگر آن را با فایل «.json» تغذیه کنید، فرض میکند که میخواهید آن را به TOON رمزگذاری کنید. اگر فایل «.toon» ارائه کنید، به حالت رمزگشایی تغییر می کند تا JSON را به شما بازگرداند.
``باش
به طور خودکار به TOON کد می کند
toon data.json -o compressed.toon
به طور خودکار به JSON رمزگشایی می شود
toon فشرده شده.toon -o restored.json
اما جایی که CLI واقعاً ارزش خود را ثابت میکند، در «فلسفه یونیکس» است - ابزارهای کوچکی که به راحتی به هم متصل شدهاند. از آنجایی که TOON CLI از ورودی استاندارد (stdin) می خواند و به خروجی استاندارد (stdout) می نویسد، می توانید داده ها را مستقیماً از طریق آن لوله کنید.
``باش
JSON را مستقیماً در TOON لوله کنید
cat large-dataset.json | toon > data.toon
یک شی سریع را اکو کنید تا ببینید در TOON چگونه به نظر می رسد
echo '{"name": "Ada"، "role": "admin"}' | تون
وقتی دادهها را از طریق stdin لولهکشی میکنید، CLI به طور پیشفرض روی حالت encode قرار میگیرد. اگر نیاز به رمزگشایی جریانی از دادههای TOON دارید که از فرآیند دیگری میآیند، به سادگی پرچم «--decode» (یا «-d») را اضافه کنید.
تجزیه و تحلیل پس انداز توکن
بهینه سازی فرمت های داده اغلب در مورد حدس زدن بازی ها است. "اگر فضای خالی را حذف کنم، چقدر ذخیره می کنم؟" "اگر به YAML سوئیچ کنم چه؟"
TOON CLI حدس و گمان را با پرچم "--stats" حذف می کند. هنگام رمزگذاری، این گزینه تعداد توکن های تخمینی را محاسبه می کند و بلافاصله پس انداز را به شما نشان می دهد. وقتی برای تماس های LLM با حجم بالا بودجه بندی می کنید، این بسیار ارزشمند است.
``باش toon context.json --stats
ممکن است خروجی را ببینید که نشان دهنده کاهش 30٪ یا 40٪ در اندازه است. این فقط فضای دیسک نیست. یعنی 40% تاخیر کمتر و 40% هزینه کمتر در توکن های ورودی.
تنظیم پیشرفته: جداکننده ها و قالب بندی
به طور پیش فرض، TOON از کاما برای جدا کردن آیتم های آرایه، مشابه JSON استفاده می کند. با این حال، توکن سازهای مختلف LLM با علائم نگارشی متفاوت رفتار می کنند. گاهی اوقات، یک کاراکتر تب یا یک لوله (|) نسبت به کاما کارآمدتر است.
CLI به شما این امکان را می دهد که جداکننده ها را در لحظه تعویض کنید. اگر با داده های جدولی سروکار دارید، تغییر به جداکننده برگه می تواند خروجی را تمیزتر و پردازش را کارآمدتر کند.
برای لیستی از محصولات، این خروجی را از یک لیست جدا شده با کاما به یک ساختار تمیز و جداشده با زبانه تبدیل می کند که تقریباً شبیه یک صفحه گسترده است که بسیاری از مدل ها آن را به خوبی تجزیه می کنند.
``باش
برای آیتم های آرایه از برگه ها استفاده کنید
toon items.json --delimiter "\t" -o items.toon
::: نکته نکته حرفه ای: جداکننده برگه ها اغلب نیاز به فرار از نقل قول ها را کاهش می دهد و می تواند منجر به توکن سازی بهتر برای داده های عددی شود. اگر مجموعههای داده عظیمی را پردازش میکنید، «--delimiter «\t»» را امتحان کنید تا هر بیت از کارایی را کم کنید. :::
ساختار فشرده سازی با کلید تاشو
یکی از ویژگی های جدیدتر (معرفی شده در spec v1.5) موجود در CLI ** تاشو کلید ** است. دادههای JSON اغلب عمیقاً تودرتو هستند، با کلیدهای پوششی مانند «data.response.items» که عمق ساختاری را بدون افزودن معنی اضافه میکنند.
CLI به شما این امکان را می دهد که این کلیدهای تودرتو را در یک مسیر تک نقطه ای "تا کنید"، سلسله مراتب را صاف کرده و توکن ها را در تورفتگی و بریس ها ذخیره کنید.
``باش toon deep-structure.json --key-folding safe -o flat.toon
این اشیاء تودرتو را تبدیل می کند:
``json { "user": { "profile": { "id": 1 } } }
به یک نمایش مختصر TOON:
`` یامل user.profile.id: 1
اگر بعداً نیاز دارید که این را به JSON کامل تبدیل کنید، میتوانید از پرچم «--expand-paths safe» در طول رمزگشایی برای بازسازی ساختار عمیق شی استفاده کنید.
ادغام در خطوط لوله
قدرت واقعی TOON CLI زمانی حاصل میشود که آن را با ابزارهای دیگری مانند «curl» و «jq» زنجیرهای کنید. میتوانید دادهها را از یک API واکشی کنید، آنها را به موارد ضروری فیلتر کنید، و آنها را در یک خط به TOON تبدیل کنید—آماده برای چسباندن به یک درخواست یا ارسال به نقطه پایانی استنتاج.
در این گردش کار، دادهها را واکشی میکنید، فقط کاربران فعال را استخراج میکنید، آنها را به فرمت TOON جدا شده با لوله تبدیل میکنید، و یک گزارش آماری از تعداد توکنهایی که اخیراً ذخیره کردهاید دریافت میکنید.
``باش curl -s https://api.example.com/users \ | jq '.data.active_users' \ | toon --stats --delimiter "|"
خلاصه
«@toon-format/cli» چیزی بیش از یک مبدل فایل است. این یک کمربند کاربردی برای دوران LLM است. با انتقال پردازش دادهها به خط فرمان، میتوانید سریعتر تکرار کنید، بهینهسازیها را فوراً تجسم کنید و قالبهای کارآمد توکن را در جریانهای کاری مهندسی موجود خود ادغام کنید.
چه در حال آمادهسازی اسناد RAG (نسل تقویتشده بازیابی) هستید یا به سادگی سعی میکنید یک حباب بزرگ JSON را در یک پنجره زمینه کوچک قرار دهید، به CLI یک چرخش بدهید. بودجه رمزی شما از شما تشکر خواهد کرد.