TOON CLI માં નિપુણતા મેળવવી
જો તમે Large Language Models (LLMs) સાથે કામ કરી રહ્યાં હોવ, તો તમે જાણો છો કે JSON એ ડેટા એક્સચેન્જની ભાષા છે. જો કે, તમે એ પણ જાણો છો કે JSON કુખ્યાત રીતે "ચેટી" છે. તે તમામ કૌંસ, અવતરણ અને પુનરાવર્તિત કી તમારી સંદર્ભ વિન્ડોને ખાઈ જાય છે, લેટન્સીમાં વધારો કરે છે અને API ખર્ચમાં વધારો કરે છે.
આ તે છે જ્યાં ટૂન (ધ ઑબ્જેક્ટ-ઓરિએન્ટેડ નોટેશન) ચમકે છે. જ્યારે TypeScript લાઇબ્રેરી એપ્લીકેશન કોડ માટે ઉત્તમ છે, કેટલીકવાર તમારે ટર્મિનલમાં ઝડપથી વસ્તુઓ પૂર્ણ કરવાની જરૂર છે. ભલે તમે પ્રોમ્પ્ટને ડીબગ કરી રહ્યાં હોવ, ડેટાસેટ તૈયાર કરી રહ્યાં હોવ, અથવા ટોકન્સ પર તમે કેટલા પૈસા બચાવી શકો તે અંગે માત્ર આતુરતા ધરાવતા હો, @toon-format/toon CLI એ તમારો નવો શ્રેષ્ઠ મિત્ર છે.
આ માર્ગદર્શિકામાં, અમે તમારા શેલ વર્કફ્લોમાં સીધા ડેટા ઑપ્ટિમાઇઝેશનને એકીકૃત કરવા માટે TOON કમાન્ડ લાઇન ઇન્ટરફેસનો લાભ કેવી રીતે મેળવવો તે જોઈશું.
સેટઅપ થઈ રહ્યું છે
આધુનિક JavaScript ટૂલિંગ વિશેની શ્રેષ્ઠ બાબતોમાંની એક એ છે કે તમારે ઘણીવાર પ્રારંભ કરવા માટે કંઈપણ "ઇન્સ્ટોલ" કરવાની જરૂર નથી. જો તમે ફક્ત એક જ ફાઇલ પર ટૂન અજમાવવા માંગતા હો, તો તમે સીધા બાઈનરી ચલાવવા માટે npx નો ઉપયોગ કરી શકો છો:
``બાશ npx @toon-format/cli input.json -o output.toon
જો કે, જો તમે આનો વારંવાર ઉપયોગ કરવાનું આયોજન કરી રહ્યાં હોવ-અને એકવાર તમે ટોકન બચત જોશો, તો તમે સંભવતઃ- વૈશ્વિક ઇન્સ્ટોલેશન એ જવાનો માર્ગ છે. તે તમને તમારી સિસ્ટમમાં ગમે ત્યાં સંક્ષિપ્ત ટૂન આદેશની ઍક્સેસ આપે છે.
``બાશ npm install -g @toon-format/cli
અથવા
pnpm ઉમેરો -g @toon-format/cli
એકવાર ઇન્સ્ટોલ થઈ ગયા પછી, તમે તમારા ડેટાને સંકોચવાનું શરૂ કરવા માટે તૈયાર છો.
સ્વતઃ-શોધનો જાદુ
TOON CLI તમે જે કરવાનો પ્રયાસ કરી રહ્યાં છો તેના વિશે સ્માર્ટ બનવા માટે રચાયેલ છે. તમારે ભાગ્યે જ તેને એન્કોડ અથવા ડીકોડ કરવા માટે સ્પષ્ટપણે કહેવાની જરૂર છે; તે નક્કી કરવા માટે તમારા ફાઇલ એક્સ્ટેંશનને જુએ છે.
જો તમે તેને .json ફાઇલ ફીડ કરો છો, તો તે ધારે છે કે તમે તેને TOON માં એન્કોડ કરવા માંગો છો. જો તમે .toon ફાઇલ પ્રદાન કરો છો, તો તે તમને JSON પાછી આપવા માટે ડીકોડિંગ મોડ પર સ્વિચ કરે છે.
``બાશ
TOON પર આપમેળે એન્કોડ થાય છે
toon data.json -o compressed.toon
JSON ને આપમેળે ડીકોડ કરે છે
toon compressed.toon -o restored.json
પરંતુ જ્યાં CLI ખરેખર તેની યોગ્યતા "યુનિક્સ ફિલોસોફી" માં સાબિત કરે છે - નાના સાધનો ઢીલી રીતે જોડાયા. કારણ કે TOON CLI પ્રમાણભૂત ઇનપુટ (stdin) થી વાંચે છે અને પ્રમાણભૂત આઉટપુટ (stdout) પર લખે છે, તમે તેના દ્વારા સીધો ડેટા પાઇપ કરી શકો છો.
``બાશ
JSON ને સીધું TOON માં પાઈપ કરો
cat large-dataset.json | ટૂન > data.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 --delimiter "\t" -o items.toon
::: ટીપ
પ્રો ટીપ: ટૅબ ડિલિમિટર ઘણીવાર અવતરણમાંથી બહાર નીકળવાની જરૂરિયાત ઘટાડે છે અને આંકડાકીય ડેટા માટે વધુ સારા ટોકનાઇઝેશનમાં પરિણમી શકે છે. જો તમે મોટા પ્રમાણમાં ડેટાસેટ્સ પર પ્રક્રિયા કરી રહ્યાં છો, તો દરેક કાર્યક્ષમતાને સ્ક્વિઝ કરવા માટે --ડિલિમિટર "\t"નો પ્રયાસ કરો.
:::
કી ફોલ્ડિંગ સાથે સંકુચિત માળખું
CLI માં ઉપલબ્ધ નવી વિશેષતાઓમાંની એક (સ્પેક v1.5 માં રજૂ કરાયેલ) કી ફોલ્ડિંગ છે. JSON ડેટા ઘણીવાર ઊંડે નેસ્ટેડ હોય છે, જેમાં data.response.items જેવી રેપર કી હોય છે જે અર્થ ઉમેર્યા વિના માળખાકીય ઊંડાઈ ઉમેરે છે.
CLI તમને આ નેસ્ટેડ કીઝને સિંગલ ડોટ-નોટેડ પાથમાં "ફોલ્ડ" કરવાની પરવાનગી આપે છે, વંશવેલોને સપાટ કરીને અને ઇન્ડેન્ટેશન અને કૌંસ પર ટોકન્સ સાચવે છે.
``બાશ toon deep-structure.json --key-folding safe -o flat.toon
આ નેસ્ટેડ ઑબ્જેક્ટ્સને રૂપાંતરિત કરે છે:
``જેસન { "વપરાશકર્તા": { "પ્રોફાઇલ": { "આઇડી": 1 } } }
સંક્ષિપ્ત ટૂન રજૂઆતમાં:
``યામલ user.profile.id: 1
જો તમારે આને પછીથી પૂર્ણ JSON માં કન્વર્ટ કરવાની જરૂર હોય, તો તમે ડીકોડિંગ દરમિયાન ડીપ ઑબ્જેક્ટ સ્ટ્રક્ચરને સંપૂર્ણ રીતે પુનઃનિર્માણ કરવા માટે --expand-paths safe ફ્લેગનો ઉપયોગ કરી શકો છો.
પાઇપલાઇન્સમાં સંકલન
TOON CLI ની વાસ્તવિક શક્તિ ત્યારે આવે છે જ્યારે તમે તેને curl અને jq જેવા અન્ય સાધનો સાથે સાંકળશો. તમે API માંથી ડેટા મેળવી શકો છો, તેને આવશ્યકતામાં ફિલ્ટર કરી શકો છો અને તેને એક જ લાઇનમાં TOON માં કન્વર્ટ કરી શકો છો - પ્રોમ્પ્ટમાં પેસ્ટ કરવા માટે અથવા અનુમાન અંતિમ બિંદુ પર મોકલવા માટે તૈયાર છે.
આ વર્કફ્લોમાં, તમે ડેટા મેળવો છો, ફક્ત સક્રિય વપરાશકર્તાઓને બહાર કાઢો છો, તેને પાઇપ-સીમાંકિત ટૂન ફોર્મેટમાં રૂપાંતરિત કરો છો, અને તમે હમણાં જ કેટલા ટોકન્સ સાચવ્યા તેના આંકડા અહેવાલ મેળવો છો.
``બાશ curl -s https://api.example.com/users \ | jq '.data.active_users' \ | ટૂન --stats --delimiter "|"
સારાંશ
@toon-format/cli માત્ર ફાઇલ કન્વર્ટર કરતાં વધુ છે; એલએલએમ યુગ માટે તે યુટિલિટી બેલ્ટ છે. ડેટા પ્રોસેસિંગને આદેશ વાક્ય પર ખસેડીને, તમે ઝડપથી પુનરાવર્તન કરી શકો છો, તરત જ ઑપ્ટિમાઇઝેશનની કલ્પના કરી શકો છો અને તમારા હાલના એન્જિનિયરિંગ વર્કફ્લોમાં ટોકન-કાર્યક્ષમ ફોર્મેટને એકીકૃત કરી શકો છો.
ભલે તમે RAG (પુનઃપ્રાપ્તિ-સંવર્ધિત જનરેશન) દસ્તાવેજો તૈયાર કરી રહ્યાં હોવ અથવા ફક્ત એક નાનકડી સંદર્ભ વિંડોમાં મોટા JSON બ્લૉબને ફિટ કરવાનો પ્રયાસ કરી રહ્યાં હોવ, CLI ને સ્પિન આપો. તમારું ટોકન બજેટ તમારો આભાર માનશે.