TOON CLI മാസ്റ്ററിംഗ്
നിങ്ങൾ ലാർജ് ലാംഗ്വേജ് മോഡലുകളിൽ (LLMs) പ്രവർത്തിക്കുന്നുണ്ടെങ്കിൽ, JSON എന്നത് ഡാറ്റാ എക്സ്ചേഞ്ചിൻ്റെ ഭാഷയാണെന്ന് നിങ്ങൾക്കറിയാം. എന്നിരുന്നാലും, JSON കുപ്രസിദ്ധമായ "ചാറ്റി" ആണെന്നും നിങ്ങൾക്കറിയാം. ആ ബ്രേസുകളും ഉദ്ധരണികളും ആവർത്തിച്ചുള്ള കീകളും നിങ്ങളുടെ സന്ദർഭ ജാലകത്തെ നശിപ്പിക്കുകയും ലേറ്റൻസി വർദ്ധിപ്പിക്കുകയും API ചെലവ് വർദ്ധിപ്പിക്കുകയും ചെയ്യുന്നു.
ഇവിടെയാണ് TOON (The Object-oriented Notation) തിളങ്ങുന്നത്. ആപ്ലിക്കേഷൻ കോഡിന് ടൈപ്പ്സ്ക്രിപ്റ്റ് ലൈബ്രറി മികച്ചതാണെങ്കിലും, ചിലപ്പോൾ നിങ്ങൾ ടെർമിനലിൽ കാര്യങ്ങൾ വേഗത്തിൽ ചെയ്യേണ്ടതുണ്ട്. നിങ്ങൾ ഒരു പ്രോംപ്റ്റ് ഡീബഗ്ഗ് ചെയ്യുകയോ ഒരു ഡാറ്റാസെറ്റ് തയ്യാറാക്കുകയോ അല്ലെങ്കിൽ ടോക്കണുകളിൽ നിങ്ങൾക്ക് എത്ര പണം ലാഭിക്കാമെന്ന് ജിജ്ഞാസയുള്ളവരോ ആകട്ടെ, @toon-format/toon CLI നിങ്ങളുടെ പുതിയ ഉറ്റ ചങ്ങാതിയാണ്.
ഈ ഗൈഡിൽ, നിങ്ങളുടെ ഷെൽ വർക്ക്ഫ്ലോകളിലേക്ക് നേരിട്ട് ഡാറ്റ ഒപ്റ്റിമൈസേഷൻ സമന്വയിപ്പിക്കുന്നതിന് TOON കമാൻഡ് ലൈൻ ഇൻ്റർഫേസ് എങ്ങനെ പ്രയോജനപ്പെടുത്താമെന്ന് ഞങ്ങൾ നോക്കും.
സജ്ജീകരിക്കുന്നു
ആധുനിക ജാവാസ്ക്രിപ്റ്റ് ടൂളിംഗിനെ കുറിച്ചുള്ള ഏറ്റവും മികച്ച കാര്യം, ആരംഭിക്കുന്നതിന് നിങ്ങൾ പലപ്പോഴും "ഇൻസ്റ്റാൾ" ചെയ്യേണ്ടതില്ല എന്നതാണ്. നിങ്ങൾക്ക് ഒരൊറ്റ ഫയലിൽ TOON പരീക്ഷിക്കാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ, ബൈനറി നേരിട്ട് പ്രവർത്തിപ്പിക്കാൻ നിങ്ങൾക്ക് npx ഉപയോഗിക്കാം:
npx @toon-format/cli input.json -o output.toon
എന്നിരുന്നാലും, നിങ്ങൾ ഇത് ഇടയ്ക്കിടെ ഉപയോഗിക്കാൻ പദ്ധതിയിടുകയാണെങ്കിൽ-ഒരിക്കൽ നിങ്ങൾ ടോക്കൺ സേവിംഗ്സ് കാണുകയാണെങ്കിൽ, നിങ്ങൾ അങ്ങനെ ചെയ്യും-ഒരു ആഗോള ഇൻസ്റ്റാളേഷനാണ് പോകാനുള്ള വഴി. ഇത് നിങ്ങളുടെ സിസ്റ്റത്തിൽ എവിടെയും സംക്ഷിപ്ത ടൂൺ കമാൻഡിലേക്ക് ആക്സസ് നൽകുന്നു.
npm install -g @toon-format/cli
# അല്ലെങ്കിൽ
pnpm add -g @toon-format/cli
ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, നിങ്ങളുടെ ഡാറ്റ ചുരുക്കി തുടങ്ങാൻ നിങ്ങൾ തയ്യാറാണ്.
ഓട്ടോ-ഡിറ്റക്ഷൻ്റെ മാന്ത്രികത
TOON CLI രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് നിങ്ങൾ ചെയ്യാൻ ശ്രമിക്കുന്ന കാര്യങ്ങളിൽ സ്മാർട്ടായി പ്രവർത്തിക്കാനാണ്. എൻകോഡ് ചെയ്യാനോ ഡീകോഡ് ചെയ്യാനോ നിങ്ങൾ വളരെ അപൂർവമായി മാത്രമേ പറയൂ; അത് തീരുമാനിക്കാൻ നിങ്ങളുടെ ഫയൽ എക്സ്റ്റൻഷനുകൾ നോക്കുന്നു.
നിങ്ങൾ അതിന് ഒരു .json ഫയലാണ് നൽകുന്നതെങ്കിൽ, അത് TOON-ലേക്ക് എൻകോഡ് ചെയ്യണമെന്ന് നിങ്ങൾ കരുതുന്നു. നിങ്ങൾ ഒരു .toon ഫയൽ നൽകുകയാണെങ്കിൽ, നിങ്ങൾക്ക് JSON തിരികെ നൽകുന്നതിന് അത് ഡീകോഡിംഗ് മോഡിലേക്ക് മാറുന്നു.
# TOON-ലേക്ക് സ്വയമേവ എൻകോഡ് ചെയ്യുന്നു
toon data.json -o compressed.toon
# JSON-ലേക്ക് സ്വയമേവ ഡീകോഡ് ചെയ്യുന്നു
ടൂൺ compressed.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 ഡാറ്റയുടെ ഒരു സ്ട്രീം നിങ്ങൾക്ക് ഡീകോഡ് ചെയ്യണമെങ്കിൽ, --ഡീകോഡ് (അല്ലെങ്കിൽ -d) ഫ്ലാഗ് ചേർക്കുക.
ടോക്കൺ സേവിംഗ്സ് വിശകലനം ചെയ്യുന്നു
ഡാറ്റ ഫോർമാറ്റുകൾ ഒപ്റ്റിമൈസ് ചെയ്യുന്നത് പലപ്പോഴും ഗെയിമുകൾ ഊഹിക്കുന്നതാണ്. "ഞാൻ വൈറ്റ്സ്പെയ്സ് നീക്കം ചെയ്താൽ, ഞാൻ എത്രത്തോളം ലാഭിക്കും?" "ഞാൻ YAML-ലേക്ക് മാറിയാലോ?"
TOON CLI, --stats ഫ്ലാഗ് ഉപയോഗിച്ച് ഊഹത്തെ ഇല്ലാതാക്കുന്നു. എൻകോഡ് ചെയ്യുമ്പോൾ, ഈ ഓപ്ഷൻ കണക്കാക്കിയ ടോക്കൺ എണ്ണം കണക്കാക്കുകയും ഉടൻ തന്നെ സേവിംഗ്സ് കാണിക്കുകയും ചെയ്യുന്നു. ഉയർന്ന അളവിലുള്ള LLM കോളുകൾക്കായി നിങ്ങൾ ബജറ്റ് വിനിയോഗിക്കുമ്പോൾ ഇത് വിലമതിക്കാനാവാത്തതാണ്.
ടൂൺ സന്ദർഭം.json --സ്ഥിതിവിവരക്കണക്കുകൾ
വലിപ്പത്തിൽ 30% അല്ലെങ്കിൽ 40% കുറവ് സൂചിപ്പിക്കുന്ന ഔട്ട്പുട്ട് നിങ്ങൾ കണ്ടേക്കാം. അത് ഡിസ്ക് സ്പേസ് മാത്രമല്ല; അതായത് ഇൻപുട്ട് ടോക്കണുകളിൽ 40% കുറവ് ലേറ്റൻസിയും 40% കുറഞ്ഞ ചിലവും.
വിപുലമായ ട്യൂണിംഗ്: ഡിലിമിറ്ററുകളും ഫോർമാറ്റിംഗും
സ്ഥിരസ്ഥിതിയായി, JSON-ന് സമാനമായ അറേ ഇനങ്ങൾ വേർതിരിക്കാൻ TOON കോമ ഉപയോഗിക്കുന്നു. എന്നിരുന്നാലും, വ്യത്യസ്ത LLM ടോക്കണൈസറുകൾ വിരാമചിഹ്നത്തിൽ വ്യത്യസ്തമായി പെരുമാറുന്നു. ചിലപ്പോൾ, ഒരു ടാബ് പ്രതീകം അല്ലെങ്കിൽ ഒരു പൈപ്പ് (|) കോമയെക്കാൾ കൂടുതൽ ടോക്കൺ കാര്യക്ഷമമാണ്.
ഈച്ചയിൽ ഡിലിമിറ്ററുകൾ സ്വാപ്പ് ചെയ്യാൻ CLI നിങ്ങളെ അനുവദിക്കുന്നു. നിങ്ങൾ ടാബ്ലർ ഡാറ്റയാണ് കൈകാര്യം ചെയ്യുന്നതെങ്കിൽ, ഒരു ടാബ് ഡിലിമിറ്ററിലേക്ക് മാറുന്നത് ഔട്ട്പുട്ടിനെ കൂടുതൽ വൃത്തിയുള്ളതാക്കുകയും കൂടുതൽ കാര്യക്ഷമമായി പ്രോസസ്സ് ചെയ്യുകയും ചെയ്യും.
ഉൽപ്പന്നങ്ങളുടെ ഒരു ലിസ്റ്റിനായി, ഇത് ഔട്ട്പുട്ടിനെ കോമയാൽ വേർതിരിച്ച ലിസ്റ്റിൽ നിന്ന് വൃത്തിയുള്ളതും ടാബ്-വേർതിരിക്കപ്പെട്ടതുമായ ഘടനയിലേക്ക് പരിവർത്തനം ചെയ്യുന്നു, അത് മിക്കവാറും ഒരു സ്പ്രെഡ്ഷീറ്റ് പോലെ കാണപ്പെടുന്നു, ഇത് പല മോഡലുകളും മികച്ച രീതിയിൽ പാഴ്സ് ചെയ്യുന്നു.
# അറേ ഇനങ്ങൾക്കായി ടാബുകൾ ഉപയോഗിക്കുക
toon items.json --delimiter "\t" -o items.toon
::: നുറുങ്ങ്
പ്രോ നുറുങ്ങ്: ടാബ് ഡിലിമിറ്ററുകൾ പലപ്പോഴും ഉദ്ധരണികളിൽ നിന്ന് രക്ഷപ്പെടേണ്ടതിൻ്റെ ആവശ്യകത കുറയ്ക്കുകയും സംഖ്യാ ഡാറ്റയ്ക്ക് മികച്ച ടോക്കണൈസേഷനിൽ കലാശിക്കുകയും ചെയ്യും. നിങ്ങൾ വലിയ ഡാറ്റാസെറ്റുകളാണ് പ്രോസസ്സ് ചെയ്യുന്നതെങ്കിൽ, ഓരോ ബിറ്റ് കാര്യക്ഷമതയും ചൂഷണം ചെയ്യാൻ --ഡീലിമിറ്റർ "\t" പരീക്ഷിക്കുക.
:::
കീ ഫോൾഡിംഗ് ഉപയോഗിച്ച് ഘടന കംപ്രസ് ചെയ്യുന്നു
CLI-യിൽ ലഭ്യമായ ഏറ്റവും പുതിയ ഫീച്ചറുകളിൽ ഒന്ന് (സ്പെക്ക് v1.5-ൽ അവതരിപ്പിച്ചു) കീ ഫോൾഡിംഗ് ആണ്. അർത്ഥം ചേർക്കാതെ തന്നെ ഘടനാപരമായ ആഴം ചേർക്കുന്ന data.response.items പോലുള്ള റാപ്പർ കീകൾ ഉപയോഗിച്ച് JSON ഡാറ്റ പലപ്പോഴും ആഴത്തിൽ നെസ്റ്റഡ് ചെയ്യപ്പെടുന്നു.
ഈ നെസ്റ്റഡ് കീകളെ ഒരൊറ്റ ഡോട്ട് രേഖപ്പെടുത്തിയ പാതയിലേക്ക് "ഫോൾഡ്" ചെയ്യാൻ CLI നിങ്ങളെ അനുവദിക്കുന്നു, ശ്രേണി പരന്നതും ഇൻഡൻ്റേഷനിലും ബ്രേസുകളിലും ടോക്കണുകൾ സംരക്ഷിക്കുന്നു.
toon deep-structure.json --key-folding safe -o flat.toon
ഇത് നെസ്റ്റഡ് വസ്തുക്കളെ രൂപാന്തരപ്പെടുത്തുന്നു:
{ "user": { "profile": { "id": 1 } } }
ഒരു സംക്ഷിപ്ത TOON പ്രാതിനിധ്യത്തിലേക്ക്:
user.profile.id: 1
നിങ്ങൾക്ക് ഇത് പിന്നീട് പൂർണ്ണമായ JSON-ലേക്ക് പരിവർത്തനം ചെയ്യണമെങ്കിൽ, ആഴത്തിലുള്ള ഒബ്ജക്റ്റ് ഘടനയെ പൂർണമായി പുനർനിർമ്മിക്കുന്നതിന് ഡീകോഡിംഗ് സമയത്ത് നിങ്ങൾക്ക് `--എക്പാൻഡ്-പാത്ത്സ് സേഫ്' ഫ്ലാഗ് ഉപയോഗിക്കാം.
പൈപ്പ് ലൈനുകളിലേക്ക് സംയോജിപ്പിക്കുന്നു
TOON CLI-യുടെ യഥാർത്ഥ പവർ വരുന്നത് നിങ്ങൾ curl, jq എന്നിവ പോലെയുള്ള മറ്റ് ടൂളുകൾ ഉപയോഗിച്ച് ചെയിൻ ചെയ്യുമ്പോഴാണ്. നിങ്ങൾക്ക് ഒരു API-ൽ നിന്ന് ഡാറ്റ നേടാനും അവശ്യമായവയിലേക്ക് ഫിൽട്ടർ ചെയ്യാനും ഒറ്റ വരിയിൽ TOON-ലേക്ക് പരിവർത്തനം ചെയ്യാനും കഴിയും—ഒരു പ്രോംപ്റ്റിലേക്ക് ഒട്ടിക്കാൻ അല്ലെങ്കിൽ ഒരു അനുമാന എൻഡ്പോയിൻ്റിലേക്ക് അയയ്ക്കാൻ തയ്യാറാണ്.
ഈ വർക്ക്ഫ്ലോയിൽ, നിങ്ങൾ ഡാറ്റ നേടുകയും സജീവ ഉപയോക്താക്കളെ മാത്രം എക്സ്ട്രാക്റ്റ് ചെയ്യുകയും പൈപ്പ്-ഡീലിമിറ്റഡ് ടൂൺ ഫോർമാറ്റിലേക്ക് പരിവർത്തനം ചെയ്യുകയും നിങ്ങൾ ഇപ്പോൾ എത്ര ടോക്കണുകൾ സംരക്ഷിച്ചു എന്നതിൻ്റെ സ്ഥിതിവിവരക്കണക്ക് റിപ്പോർട്ട് നേടുകയും ചെയ്യുക.
curl -s https://api.example.com/users \
| jq '.data.active_users' \
| toon --stats --delimiter "|"
സംഗ്രഹം
@toon-format/cli എന്നത് ഒരു ഫയൽ കൺവെർട്ടർ മാത്രമല്ല; ഇത് LLM കാലഘട്ടത്തിലെ ഒരു യൂട്ടിലിറ്റി ബെൽറ്റാണ്. കമാൻഡ് ലൈനിലേക്ക് ഡാറ്റ പ്രോസസ്സിംഗ് നീക്കുന്നതിലൂടെ, നിങ്ങൾക്ക് വേഗത്തിൽ ആവർത്തിക്കാനും ഒപ്റ്റിമൈസേഷനുകൾ ഉടനടി ദൃശ്യവൽക്കരിക്കാനും നിങ്ങളുടെ നിലവിലുള്ള എഞ്ചിനീയറിംഗ് വർക്ക്ഫ്ലോകളിലേക്ക് ടോക്കൺ കാര്യക്ഷമമായ ഫോർമാറ്റുകൾ സംയോജിപ്പിക്കാനും കഴിയും.
നിങ്ങൾ RAG (Retrieval-Augmented Generation) ഡോക്യുമെൻ്റുകൾ തയ്യാറാക്കുകയാണെങ്കിലോ അല്ലെങ്കിൽ ഒരു വലിയ JSON ബ്ലോബ് ഒരു ചെറിയ സന്ദർഭ വിൻഡോയിൽ ഘടിപ്പിക്കാൻ ശ്രമിക്കുകയാണെങ്കിലോ, CLI-ക്ക് ഒരു സ്പിൻ നൽകുക. നിങ്ങളുടെ ടോക്കൺ ബജറ്റ് നിങ്ങൾക്ക് നന്ദി പറയും.