TOON কি?
আমরা সব সেখানে হয়েছে. আপনি একটি লার্জ ল্যাঙ্গুয়েজ মডেল (LLM) এর জন্য একটি প্রম্পট ইঞ্জিনিয়ারিং করছেন এবং আপনাকে স্ট্রাকচার্ড ডেটা পাস করতে হবে। আপনি JSON-এর জন্য পৌঁছান। এটি শিল্পের মান, সর্বোপরি। কিন্তু আপনি যখন দেখেন আপনার প্রসঙ্গ উইন্ডোটি অন্তহীন কোঁকড়া ধনুর্বন্ধনী, বারবার কী এবং সাধারণ পূর্ণসংখ্যার চারপাশে উদ্ধৃতি চিহ্ন দিয়ে ভরাট হচ্ছে, আপনি ভাবতে শুরু করবেন: আরও ভাল উপায় আছে কি?
YAML পঠনযোগ্যতা অফার করে কিন্তু অস্পষ্টতায় ভোগে। CSV ঘন কিন্তু অনুক্রমের অভাব রয়েছে।
TOON লিখুন।
TOON হল একটি ডেটা সিরিয়ালাইজেশন ফরম্যাট যা ডেভেলপারদের জন্য তাজা বাতাসের শ্বাস এবং AI মডেলগুলির জন্য একটি স্থানীয় ভাষা বলে মনে হয়। এটি মানুষের পঠনযোগ্যতা এবং মেশিনের দক্ষতার মধ্যে ব্যবধানকে সেতু করে। আজ, আসুন TOON-এর সিনট্যাক্স এবং মেকানিক্সের গভীরে প্রবেশ করি কেন এটি দ্রুত উচ্চ-দক্ষ ডেটা আদান-প্রদানের জন্য প্রিয় হয়ে উঠছে।
দর্শন: JSON শব্দার্থবিদ্যা, YAML নন্দনতত্ত্ব
এর মূল অংশে, TOON JSON এর মতো একই ডেটা মডেল শেয়ার করে। আপনি যদি এটিকে JSON-এ উপস্থাপন করতে পারেন—প্রিমিটিভস (স্ট্রিং, সংখ্যা, বুলিয়ান, নাল), অবজেক্ট এবং অ্যারে—আপনি এটি TOON-এ উপস্থাপন করতে পারেন। যাইহোক, উপস্থাপনা আমূল ভিন্ন।
TOON ধনুর্বন্ধনী খাদ. এটি হায়ারার্কি প্রতিনিধিত্ব করতে ইন্ডেন্টেশন ব্যবহার করে, অনেকটা YAML এর মতো। একটি সাধারণ বস্তু পরিষ্কার এবং অ্যাক্সেসযোগ্য দেখায়:
YAML এর বিপরীতে, তবে, TOON প্রকারের ব্যাপারে কঠোর। কোন অনুমান নেই যদি no মানে false বা স্ট্রিং "no"। TOON-এ, স্ট্রিংগুলির জন্য শুধুমাত্র উদ্ধৃতি প্রয়োজন যখন একেবারে প্রয়োজন হয় - যেমন যখন তারা বিশেষ অক্ষর ধারণ করে, সংখ্যার অনুরূপ বা খালি থাকে। আপনি যদি 'মেসেজ: হ্যালো ওয়ার্ল্ড' টাইপ করেন, আপনি একটি স্ট্রিং পাবেন। আপনি যদি 'গণনা: 42' টাইপ করেন, আপনি একটি নম্বর পাবেন।
``ইয়ামল আইডি: 123 নাম: অ্যাডা সক্রিয়: সত্য
অ্যারের শক্তি: দৈর্ঘ্য এবং টেবিল
যেখানে TOON সত্যিই নিজেকে প্যাক থেকে আলাদা করে তা হল অ্যারেগুলির পরিচালনা। এটি টোকেন অপ্টিমাইজেশনের জন্য "হত্যাকারী বৈশিষ্ট্য"।
TOON-এর প্রতিটি অ্যারে স্পষ্টভাবে বন্ধনীতে তার দৈর্ঘ্য ঘোষণা করে, যেমন আইটেম[3]। এটি একজন মানুষের কাছে অপ্রয়োজনীয় মনে হতে পারে, কিন্তু একজন এলএলএম-এর জন্য এটি একটি সুপার পাওয়ার। এটি মডেলটিকে অবিলম্বে গঠন যাচাই করতে এবং ছেদন সনাক্ত করার অনুমতি দেয়। যদি দুটি আইটেমের পরে স্ট্রিমটি বন্ধ হয়ে যায় তবে শিরোনামটি তিনটি প্রতিশ্রুতি দিয়েছে, পার্সার জানে কিছু ভুল হয়েছে৷
TOON কার্যকরভাবে অ্যারেগুলি পরিচালনা করার তিনটি উপায় অফার করে, স্বয়ংক্রিয়ভাবে সবচেয়ে কার্যকরীটি বেছে নেয়:
- ইনলাইন আদিম: সংখ্যা বা স্ট্রিংগুলির সহজ তালিকার জন্য, TOON এটিকে কমপ্যাক্ট রাখে।
ট্যাগ[3]: অ্যাডমিন, অপ্স, ডেভ
- স্ট্যান্ডার্ড তালিকা: মিশ্র ধরনের জন্য, এটি YAML এর অনুরূপ একটি হাইফেনেটেড তালিকা সিনট্যাক্স ব্যবহার করে।
- টেবুলার অবজেক্ট: এটি গেম-চেঞ্জার।
যদি আপনার কাছে একই কীগুলি ভাগ করে এমন বস্তুর অ্যারে থাকে—ডাটাবেস রেকর্ডে একটি খুব সাধারণ প্যাটার্ন—টুন পিভট একটি টেবুলার ফর্ম্যাটে। প্রতিটি একক সারির জন্য কী পুনরাবৃত্তি করার পরিবর্তে, এটি শিরোনামে একবার কীগুলি ঘোষণা করে।
উপরের উদাহরণে, users[2]{id,name,role}: আমাদের বলে আমাদের 2টি সারি আছে এবং স্কিমা সংজ্ঞায়িত করে। ডেটা CSV-এর মতো কাঠামোতে অনুসরণ করে। এটি প্রত্যেক ব্যবহারকারীর জন্য "id":, "name":, এবং "role": পুনরাবৃত্তি করার বিশাল টোকেন ওভারহেডকে সরিয়ে দেয়।
``ইয়ামল ব্যবহারকারীরা[2]{id,name,role}: 1, এলিস অ্যাডমিন, অ্যাডমিন 2, বব স্মিথ, ব্যবহারকারী
ডিলিমিটার এবং টোকেন দক্ষতা
আপনি উপরের উদাহরণগুলিতে কমা ব্যবহার লক্ষ্য করতে পারেন। TOON আসলে তিনটি ডিলিমিটারকে সমর্থন করে: কমা (ডিফল্ট), ট্যাব এবং পাইপ (|)।
কেন এই ব্যাপার? টোকেনাইজেশন।
অনেক LLM টোকেনাইজারে, একটি উদ্ধৃতির পরে একটি কমা একাধিক টোকেনে বিভক্ত হতে পারে। একটি ট্যাব অক্ষর, যাইহোক, প্রায়ই খুব পরিষ্কারভাবে টোকেনাইজ করে। TOON আপনাকে অ্যারে হেডার লেভেলে ডিলিমিটার পরিবর্তন করতে দেয়। আপনি যদি একটি ট্যাব ডিলিমিটার ব্যবহার করেন, তাহলে আপনাকে প্রায়শই স্পেস ধারণ করে এমন স্ট্রিংগুলিও উদ্ধৃত করতে হবে না, যা আপনার ডেটা আরও সংকুচিত করে।
বিন্যাসটি "সংঘর্ষ" পরিচালনা করার জন্য যথেষ্ট স্মার্ট। যদি আপনার ডেটাতে সক্রিয় ডিলিমিটার থাকে, TOON কেবল সেই নির্দিষ্ট মানটিকে উদ্ধৃত করে।
``ইয়ামল আইটেম[2]{sku,name,quty}: A1, উইজেটের নাম, 2 B2, গ্যাজেটের নাম, 1
কী ভাঁজ: বক্ররেখা সমতল করা
আরেকটি বৈশিষ্ট্য যা দক্ষতার উপর TOON-এর ফোকাসকে হাইলাইট করে তা হল কী ফোল্ডিং। গভীরভাবে নেস্ট করা বস্তুগুলি সাধারণত ইন্ডেন্টেশনের একটি "সিঁড়ি" তৈরি করে যা অনুভূমিক স্থান এবং টোকেনগুলিকে খায়।
যদি আপনার একটি গভীর শ্রেণিবিন্যাস থাকে যেখানে মধ্যবর্তী বস্তুর ভাইবোন না থাকে, TOON তাদের একটি ডট-নোটেশন পাথে ভেঙে দিতে পারে।
লেখার পরিবর্তে:
আপনি লিখতে পারেন:
``ইয়ামল তথ্য: মেটাডেটা: আইটেম [২]: ক, খ
এই বৈশিষ্ট্যটি, বিশেষ v1.5 থেকে উপলব্ধ, উল্লেখযোগ্যভাবে লাইন গণনা এবং ইন্ডেন্টেশন টোকেন হ্রাস করে। গুরুত্বপূর্ণভাবে, এটি সম্পূর্ণরূপে বিপরীতমুখী। যখন আপনি পাথ সম্প্রসারণ সক্ষম করে ডেটা ডিকোড করেন, তখন এটি গভীর বস্তুর শ্রেণিবিন্যাসকে পুরোপুরি পুনর্গঠন করে।
``ইয়ামল data.metadata.items[2]: a,b
কঠোরতা এবং নিরাপত্তা
এর সংক্ষিপ্ত চেহারা সত্ত্বেও, TOON ডেটার সাথে আলগা নয়। এটি উদ্ধৃতি এবং পালানোর জন্য একটি কঠোর নিয়ম মেনে চলে।
স্ট্রিংগুলি সাধারণত উদ্ধৃতিহীন থাকে, যা পাঠযোগ্যতার জন্য দুর্দান্ত। যাইহোক, TOON ডেটা অখণ্ডতা নিশ্চিত করতে প্রান্তের ক্ষেত্রে উদ্ধৃতি প্রয়োগ করে। যদি একটি স্ট্রিং একটি সংখ্যার মত দেখায় (যেমন, "05" বা "1e-6"), এটি একটি সংখ্যা হিসাবে পার্স করা থেকে প্রতিরোধ করার জন্য উদ্ধৃত করা হয়। যদি একটি স্ট্রিং একটি সংরক্ষিত শব্দ হয় যেমন সত্য বা নাল, এটি উদ্ধৃত হয়।
অধিকন্তু, TOON সংখ্যাগুলিকে স্বাভাবিক করে তোলে। এটি ক্যানোনিকাল দশমিক ফর্মগুলি নির্গত করে-কোন বৈজ্ঞানিক নোটেশন বা আউটপুটে অনুগামী শূন্য নেই-সামঞ্জস্যতা নিশ্চিত করে। এমনকি এটি নিরাপদে BigInt পরিচালনা করে; যদি একটি সংখ্যা নিরাপদ পূর্ণসংখ্যার পরিসীমা অতিক্রম করে, তবে এটি পরিবহনের সময় নির্ভুলতা ক্ষতি রোধ করার জন্য একটি স্ট্রিং হিসাবে ক্রমিক করা হয়।
রুট ফর্ম
যদিও আমাদের অধিকাংশই রুট অবজেক্টের সাথে কাজ করে, TOON নমনীয়। একটি নথি একটি মূল-মান জোড়া দিয়ে শুরু করতে হবে না। এটি রুট অ্যারে সমর্থন করে ('[N]:` দিয়ে অবিলম্বে শুরু হয়) বা এমনকি একটি একক রুট আদিম। JSON-এর সাথে এই সমতা মানে আপনি প্রায় যেকোনো পাইপলাইনে TOON অদলবদল করতে পারেন যেখানে JSON বর্তমানে ব্যবহৃত হয়, যদি আপনার অন্য প্রান্তে পার্সার থাকে।
চূড়ান্ত চিন্তা
TOON শুধু "অন্য ফর্ম্যাট" নয়। এটি এমন একটি যুগের জন্য একটি বিশেষ সরঞ্জাম যেখানে ডেটা সম্ভাব্য মডেল দ্বারা যতবারই নির্ধারক কোড দ্বারা ব্যবহৃত হয়। CSV-এর ঘনত্ব এবং YAML-এর পঠনযোগ্যতার সাথে JSON-এর অনমনীয় ডেটা মডেলকে একত্রিত করে, এটি টাইপ নিরাপত্তাকে ত্যাগ না করেই প্রসঙ্গ-উইন্ডো অপ্টিমাইজেশানের নির্দিষ্ট সমস্যার সমাধান করে।
আপনি যদি বিল্ডিং এজেন্ট, ফাইন-টিউনিং মডেল বা অন্তহীন বন্ধনী বন্ধনীর মধ্য দিয়ে স্ক্রল করতে করতে ক্লান্ত হয়ে পড়েন, তাহলে TOON কে দেখার সময় এসেছে।