إتقان TOON CLI

سطر الأوامر
تون

إذا كنت تعمل مع نماذج اللغات الكبيرة (LLMs)، فأنت تعلم أن JSON هي اللغة المشتركة لتبادل البيانات. ومع ذلك، فأنت تعلم أيضًا أن JSON معروف بأنه "ثرثار". تلتهم كل هذه الأقواس وعلامات الاقتباس والمفاتيح المتكررة نافذة السياق الخاصة بك، وتزيد من زمن الوصول، وتزيد من تكاليف واجهة برمجة التطبيقات.

هذا هو المكان الذي يتألق فيه TOON (التدوين الشيئي). على الرغم من أن مكتبة TypeScript رائعة بالنسبة لتعليمات البرمجة التطبيقية، إلا أنك في بعض الأحيان تحتاج فقط إلى إنجاز الأمور بسرعة في الوحدة الطرفية. سواء كنت تقوم بتصحيح أخطاء موجه، أو إعداد مجموعة بيانات، أو مجرد فضول بشأن مقدار الأموال التي يمكنك توفيرها على الرموز المميزة، فإن واجهة سطر الأوامر @toon-format/toon هي أفضل صديق جديد لك.

في هذا الدليل، سننظر في كيفية الاستفادة من واجهة TOON Command Line Interface لدمج تحسين البيانات مباشرةً في سير عمل Shell.

الإعداد

أحد أفضل الأشياء المتعلقة بأدوات JavaScript الحديثة هو أنك لا تحتاج غالبًا إلى "تثبيت" أي شيء للبدء. إذا كنت ترغب فقط في تجربة TOON على ملف واحد، فيمكنك استخدام npx لتشغيل الملف الثنائي مباشرةً:

npx @toon-format/cli input.json -ooutput.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 
تون مضغوط.تون -o Restore.json 

ولكن حيث تثبت واجهة سطر الأوامر (CLI) قيمتها حقًا في "فلسفة Unix" - وهي أدوات صغيرة متصلة بشكل فضفاض. نظرًا لأن TOON CLI يقرأ من الإدخال القياسي (stdin) ويكتب إلى الإخراج القياسي (stdout)، فيمكنك توجيه البيانات مباشرة من خلاله.

# قم بتوجيه JSON مباشرة إلى TOON 
cat Large-dataset.json | تون> data.toon 

# قم بتكرار كائن سريع لترى كيف يبدو في TOON 
صدى '{"name": "Ada"، "role": "admin"}' | تون 

عندما تقوم بتوصيل البيانات عبر stdin، تكون واجهة سطر الأوامر (CLI) الافتراضية على وضع encode. إذا كنت بحاجة إلى فك تشفير دفق بيانات TOON القادمة من عملية أخرى، فما عليك سوى إضافة العلامة --decode (أو -d).

تحليل المدخرات الرمزية

غالبًا ما يتعلق تحسين تنسيقات البيانات بألعاب التخمين. "إذا قمت بإزالة المسافات البيضاء، فكم سأوفر؟" "ماذا لو قمت بالتبديل إلى YAML؟"

يزيل TOON CLI التخمين باستخدام علامة "--stats". عند التشفير، يقوم هذا الخيار بحساب عدد الرموز المميزة ويعرض لك المدخرات على الفور. يعد هذا أمرًا لا يقدر بثمن عندما تقوم بوضع ميزانية لمكالمات LLM ذات الحجم الكبير.

تون context.json --stats 

قد ترى مخرجات تشير إلى انخفاض في الحجم بنسبة 30% أو 40%. هذه ليست مجرد مساحة القرص؛ وهذا يعني زمن وصول أقل بنسبة 40% وتكلفة أقل بنسبة 40% على رموز الإدخال.

الضبط المتقدم: المحددات والتنسيق

بشكل افتراضي، يستخدم TOON الفواصل لفصل عناصر المصفوفة، على غرار JSON. ومع ذلك، فإن رموز LLM المختلفة تتصرف بشكل مختلف مع علامات الترقيم. في بعض الأحيان، يكون حرف الجدولة أو الأنبوب (|) أكثر كفاءة في استخدام الرمز المميز من الفاصلة.

تسمح لك واجهة سطر الأوامر (CLI) بتبديل المحددات بسرعة. إذا كنت تتعامل مع بيانات جدولية، فإن التبديل إلى محدد علامات التبويب يمكن أن يجعل المخرجات تبدو أكثر وضوحًا وتعالج بشكل أكثر كفاءة.

بالنسبة لقائمة المنتجات، يؤدي هذا إلى تحويل الإخراج من قائمة مفصولة بفواصل إلى بنية نظيفة مفصولة بعلامات جدولة تبدو تقريبًا مثل جدول بيانات، والذي تقوم العديد من النماذج بتحليله بشكل جيد للغاية.

# استخدم علامات التبويب لعناصر المصفوفة 
toon items.json --delimiter "\t" -o items.toon 

::: نصيحة نصيحة احترافية: غالبًا ما تقلل محددات علامات التبويب الحاجة إلى الهروب من علامات الاقتباس ويمكن أن تؤدي إلى ترميز أفضل للبيانات الرقمية. إذا كنت تقوم بمعالجة مجموعات بيانات ضخمة، فحاول --delimiter "\t" للاستفادة من كل جزء من الكفاءة. :::

هيكل ضاغط مع مفتاح قابل للطي

إحدى الميزات الأحدث (المقدمة في المواصفات v1.5) المتوفرة في واجهة سطر الأوامر هي Key Folding. غالبًا ما تكون بيانات JSON متداخلة بعمق، مع مفاتيح مجمعة مثل "data.response.items" التي تضيف عمقًا هيكليًا دون إضافة معنى.

تسمح لك واجهة سطر الأوامر "بطي" هذه المفاتيح المتداخلة في مسار واحد موسوم بالنقاط، مما يؤدي إلى تسوية التسلسل الهرمي وحفظ الرموز المميزة على المسافة البادئة والأقواس.

toon Deep-structure.json - خزنة قابلة للطي بمفتاح -o flat.toon 

يؤدي هذا إلى تحويل الكائنات المتداخلة:

{ "المستخدم": { "الملف الشخصي": { "المعرف": 1 } } } 

في تمثيل TOON موجز:

``يامل معرف الملف الشخصي: 1

إذا كنت بحاجة إلى تحويل هذا مرة أخرى إلى JSON الكامل لاحقًا، فيمكنك استخدام العلامة --expand-paths Safe أثناء فك التشفير لإعادة بناء بنية الكائن العميق بشكل مثالي.

التكامل في خطوط الأنابيب

القوة الحقيقية لـ TOON CLI تأتي عندما تربطها بأدوات أخرى مثل curl وjq. يمكنك جلب البيانات من واجهة برمجة التطبيقات (API)، وتصفيتها وصولاً إلى الأساسيات، وتحويلها إلى TOON في سطر واحد، وتكون جاهزة للصقها في موجه أو إرسالها إلى نقطة نهاية الاستدلال.

في سير العمل هذا، يمكنك جلب البيانات، واستخراج المستخدمين النشطين فقط، وتحويلها إلى تنسيق TOON محدد بشفرة، والحصول على تقرير إحصائيات حول عدد الرموز المميزة التي قمت بحفظها للتو.

حليقة -s https://api.example.com/users \ 
| جي كيو ".data.active_users" \ 
| تون --الإحصائيات --المحدد "|" 

ملخص

يعد @toon-format/cli أكثر من مجرد محول ملفات؛ إنه حزام المرافق لعصر LLM. من خلال نقل معالجة البيانات إلى سطر الأوامر، يمكنك التكرار بشكل أسرع وتصور التحسينات على الفور ودمج التنسيقات ذات الكفاءة المميزة في سير العمل الهندسي الحالي لديك.

سواء كنت تقوم بإعداد مستندات RAG (إنشاء الاسترجاع المعزز) أو تحاول ببساطة احتواء كائن JSON ضخم في نافذة سياق صغيرة، قم بتدوير واجهة سطر الأوامر (CLI). ميزانيتك الرمزية سوف تشكرك.