ટૂન શું છે?
અમે બધા ત્યાં રહ્યા છીએ. તમે લાર્જ લેંગ્વેજ મોડલ (LLM) માટે પ્રોમ્પ્ટ એન્જિનિયરિંગ કરી રહ્યાં છો, અને તમારે સ્ટ્રક્ચર્ડ ડેટા પાસ કરવાની જરૂર છે. તમે JSON માટે પહોંચો છો. છેવટે, તે ઉદ્યોગનું ધોરણ છે. પરંતુ જેમ જેમ તમે તમારી કોન્ટેસ્ટ વિન્ડોને અનંત સર્પાકાર કૌંસ, પુનરાવર્તિત ચાવીઓ અને સરળ પૂર્ણાંકોની આસપાસના અવતરણ ચિહ્નોથી ભરેલી જુઓ છો, ત્યારે તમને આશ્ચર્ય થવા લાગે છે: શું આનાથી વધુ સારી રીત છે?
YAML વાંચનક્ષમતા આપે છે પરંતુ અસ્પષ્ટતાથી પીડાય છે. CSV ગાઢ છે પરંતુ વંશવેલો નથી.
TOON દાખલ કરો.
TOON એ ડેટા સીરીયલાઇઝેશન ફોર્મેટ છે જે વિકાસકર્તાઓ માટે તાજી હવાના શ્વાસ અને AI મોડલ્સ માટે મૂળ ભાષા જેવું લાગે છે. તે માનવ વાંચનક્ષમતા અને મશીનની કાર્યક્ષમતા વચ્ચેના અંતરને દૂર કરે છે. આજે, ચાલો TOON ના વાક્યરચના અને મિકેનિક્સમાં ઊંડા ઉતરીએ તે સમજવા માટે કે તે શા માટે ઉચ્ચ-કાર્યક્ષમતા ડેટા ઇન્ટરચેન્જ માટે ઝડપથી પ્રિય બની રહ્યું છે.
ધ ફિલોસોફી: JSON સિમેન્ટિક્સ, YAML એસ્થેટિક્સ
તેના મૂળમાં, TOON JSON જેવું જ ડેટા મોડલ શેર કરે છે. જો તમે તેને JSON-પ્રિમિટિવ્સ (સ્ટ્રિંગ્સ, નંબર્સ, બૂલિયન, નલ), ઑબ્જેક્ટ્સ અને એરેમાં રજૂ કરી શકો છો- તો તમે તેને ટૂનમાં રજૂ કરી શકો છો. જો કે, રજૂઆત ધરમૂળથી અલગ છે.
ટૂન કૌંસને ખાડા કરે છે. તે YAML ની જેમ વંશવેલો રજૂ કરવા માટે ઇન્ડેન્ટેશનનો ઉપયોગ કરે છે. એક સાદી વસ્તુ સ્વચ્છ અને પહોંચી શકાય તેવી લાગે છે:
YAML થી વિપરીત, જોકે, TOON પ્રકારો વિશે કડક છે. જો ના નો અર્થ ખોટો અથવા શબ્દમાળા "ના" હોય તો કોઇ અનુમાન નથી. TOON માં, શબ્દમાળાઓને માત્ર ત્યારે જ અવતરણની જરૂર હોય છે જ્યારે એકદમ જરૂરી હોય - જેમ કે જ્યારે તેમાં વિશિષ્ટ અક્ષરો હોય, સંખ્યાઓ મળતી હોય અથવા ખાલી હોય. જો તમે 'સંદેશ: હેલો વર્લ્ડ' લખો છો, તો તમને એક સ્ટ્રિંગ મળશે. જો તમે count: 42 લખો છો, તો તમને એક નંબર મળશે.
``યામલ આઈડી: 123 નામ: અદા સક્રિય: સાચું
એરેની શક્તિ: લંબાઈ અને કોષ્ટકો
જ્યાં TOON ખરેખર પોતાને પેકથી અલગ કરે છે તે એરેનું તેનું સંચાલન છે. ટોકન ઓપ્ટિમાઇઝેશન માટે આ "કિલર ફીચર" છે.
TOON માં દરેક એરે તેની લંબાઈ કૌંસમાં સ્પષ્ટપણે જાહેર કરે છે, જેમ કે આઇટમ્સ[3]. આ માનવીને નિરર્થક લાગે છે, પરંતુ એલએલએમ માટે, તે એક મહાસત્તા છે. તે મૉડલને તરત જ માળખું માન્ય કરવા અને કપાયેલું શોધવાની મંજૂરી આપે છે. જો સ્ટ્રીમ બે આઇટમ્સ પછી બંધ થઈ જાય પરંતુ હેડરે ત્રણનું વચન આપ્યું હોય, તો વિશ્લેષક જાણે છે કે કંઈક ખોટું થયું છે.
TOON અસરકારક રીતે એરેને હેન્ડલ કરવાની ત્રણ રીતો પ્રદાન કરે છે, આપોઆપ સૌથી કાર્યક્ષમ એક પસંદ કરીને:
- ઇનલાઇન પ્રિમિટિવ્સ: નંબરો અથવા સ્ટ્રીંગ્સની સરળ સૂચિ માટે, ટૂન તેને કોમ્પેક્ટ રાખે છે.
ટેગ્સ[3]: એડમિન,ઓપ્સ,દેવ
- સ્ટાન્ડર્ડ લિસ્ટ્સ: મિશ્ર પ્રકારો માટે, તે YAML ની જેમ જ હાઇફેનેટેડ લિસ્ટ સિન્ટેક્સનો ઉપયોગ કરે છે.
- ટેબ્યુલર ઑબ્જેક્ટ્સ: આ ગેમ-ચેન્જર છે.
જો તમારી પાસે સમાન કીને શેર કરતી ઑબ્જેક્ટની શ્રેણી હોય તો-ડેટાબેઝ રેકોર્ડ્સમાં ખૂબ જ સામાન્ય પેટર્ન-ટૂન પિવોટ્સને ટૅબ્યુલર ફોર્મેટમાં. દરેક એક પંક્તિ માટે કીને પુનરાવર્તિત કરવાને બદલે, તે હેડરમાં એકવાર કીઓ જાહેર કરે છે.
ઉપરના ઉદાહરણમાં, users[2]{id,name,role}: અમને કહે છે કે અમારી પાસે 2 પંક્તિઓ છે અને સ્કીમા વ્યાખ્યાયિત કરે છે. ડેટા CSV જેવી રચનામાં અનુસરે છે. આ દરેક વપરાશકર્તા માટે "id":, "નામ":, અને "ભૂમિકા": પુનરાવર્તિત કરવાના મોટા ટોકન ઓવરહેડને દૂર કરે છે.
``યામલ વપરાશકર્તાઓ[2]{id,name,role}: 1, એલિસ એડમિન, એડમિન 2,બોબ સ્મિથ,વપરાશકર્તા
સીમાંકન અને ટોકન કાર્યક્ષમતા
તમે ઉપરના ઉદાહરણોમાં અલ્પવિરામનો ઉપયોગ જોશો. TOON વાસ્તવમાં ત્રણ સીમાંકકોને સપોર્ટ કરે છે: અલ્પવિરામ (ડિફોલ્ટ), ટેબ્સ અને પાઇપ્સ (|).
શા માટે આ વાંધો છે? ટોકનાઇઝેશન.
ઘણા LLM ટોકનાઇઝર્સમાં, અવતરણ દ્વારા અનુસરવામાં આવેલ અલ્પવિરામ બહુવિધ ટોકન્સમાં વિભાજિત થઈ શકે છે. ટેબ કેરેક્ટર, જો કે, ઘણી વખત ખૂબ જ સ્વચ્છતાથી ટોકનાઇઝ કરે છે. TOON તમને એરે હેડર સ્તર પર સીમાંકકોને સ્વિચ કરવાની મંજૂરી આપે છે. જો તમે ટૅબ ડિલિમિટરનો ઉપયોગ કરો છો, તો તમારે ઘણીવાર સ્પેસ ધરાવતી સ્ટ્રિંગ્સને ક્વોટ કરવાની પણ જરૂર નથી, તમારા ડેટાને વધુ સંકુચિત કરીને.
ફોર્મેટ "અથડામણ" ને નિયંત્રિત કરવા માટે પર્યાપ્ત સ્માર્ટ છે. જો તમારા ડેટામાં સક્રિય ડિલિમિટર હોય, તો TOON ફક્ત તે ચોક્કસ મૂલ્યને ટાંકે છે.
``યામલ વસ્તુઓ[2]{sku,name,qty}: A1,વિજેટ નામ,2 B2, ગેજેટનું નામ, 1
કી ફોલ્ડિંગ: વળાંકને સપાટ કરવો
કાર્યક્ષમતા પર TOONના ફોકસને હાઇલાઇટ કરતી અન્ય વિશેષતા કી ફોલ્ડિંગ છે. ડીપલી નેસ્ટેડ ઓબ્જેક્ટો સામાન્ય રીતે ઇન્ડેન્ટેશનની "સીડી" માં પરિણમે છે જે આડી જગ્યા અને ટોકન્સ ખાય છે.
જો તમારી પાસે ઊંડો વંશવેલો છે જ્યાં મધ્યવર્તી વસ્તુઓમાં ભાઈ-બહેન નથી, તો TOON તેમને ડોટ-નોટેશન પાથમાં સંકુચિત કરી શકે છે.
લખવાને બદલે:
તમે લખી શકો છો:
``યામલ ડેટા: મેટાડેટા: વસ્તુઓ[2]: a,b
આ સુવિધા, સ્પેક v1.5 થી ઉપલબ્ધ છે, નોંધપાત્ર રીતે લાઇન કાઉન્ટ અને ઇન્ડેન્ટેશન ટોકન્સ ઘટાડે છે. અગત્યની રીતે, આ સંપૂર્ણપણે ઉલટાવી શકાય તેવું છે. જ્યારે તમે પાથ વિસ્તરણ સક્ષમ સાથે ડેટાને ડીકોડ કરો છો, ત્યારે તે ડીપ ઑબ્જેક્ટ હાયરાર્કીને સંપૂર્ણ રીતે પુનઃનિર્માણ કરે છે.
``યામલ data.metadata.items[2]: a,b
કડકતા અને સલામતી
તેના સંક્ષિપ્ત દેખાવ હોવા છતાં, TOON ડેટા સાથે છૂટક નથી. તે અવતરણ અને છટકી જવા માટેના નિયમોના કડક સેટનું પાલન કરે છે.
શબ્દમાળાઓ સામાન્ય રીતે અવતરિત રહે છે, જે વાંચી શકાય તે માટે ઉત્તમ છે. જો કે, ડેટા અખંડિતતાને સુનિશ્ચિત કરવા માટે TOON એજ કેસ માટે ક્વોટિંગ લાગુ કરે છે. જો કોઈ શબ્દમાળા સંખ્યા જેવી લાગે છે (દા.ત., "05" અથવા "1e-6"), તો તેને સંખ્યા તરીકે વિશ્લેષિત થવાથી રોકવા માટે તેને અવતરણ કરવામાં આવે છે. જો શબ્દમાળા એ અનામત શબ્દ છે જેમ કે true અથવા null, તો તે અવતરણ પામે છે.
વધુમાં, TOON સંખ્યાઓને સામાન્ય બનાવે છે. તે પ્રામાણિક દશાંશ સ્વરૂપો બહાર કાઢે છે - કોઈ વૈજ્ઞાનિક સંકેત નથી અથવા આઉટપુટમાં પાછળના શૂન્ય નથી - સુસંગતતાની ખાતરી કરે છે. તે BigInt ને પણ સુરક્ષિત રીતે હેન્ડલ કરે છે; જો સંખ્યા સુરક્ષિત પૂર્ણાંક શ્રેણીને ઓળંગે છે, તો પરિવહન દરમિયાન ચોકસાઇના નુકશાનને રોકવા માટે તેને સ્ટ્રિંગ તરીકે ક્રમાંકિત કરવામાં આવે છે.
રૂટ ફોર્મ્સ
જ્યારે આપણામાંના મોટાભાગના રુટ ઑબ્જેક્ટ્સ સાથે કામ કરે છે, TOON લવચીક છે. દસ્તાવેજની શરૂઆત કી-વેલ્યુ જોડીથી થવી જરૂરી નથી. તે રુટ એરેને સપોર્ટ કરે છે ([N]: સાથે તરત જ શરૂ થાય છે) અથવા એક રુટ પ્રિમિટિવ પણ. JSON સાથેની આ સમાનતાનો અર્થ છે કે તમે TOON ને લગભગ કોઈપણ પાઇપલાઇનમાં સ્વેપ કરી શકો છો જ્યાં JSON હાલમાં ઉપયોગમાં લેવાય છે, જો તમારી પાસે બીજા છેડે પાર્સર હોય.
અંતિમ વિચારો
TOON એ માત્ર "બીજું ફોર્મેટ" નથી. તે એવા યુગ માટે એક વિશિષ્ટ સાધન છે જ્યાં ડેટાનો ઉપયોગ સંભવિત મોડલ દ્વારા કરવામાં આવે છે તેટલી વાર તે નિર્ધારિત કોડ દ્વારા થાય છે. CSV ની ઘનતા અને YAML ની વાંચનક્ષમતા સાથે JSON ના કઠોર ડેટા મોડેલને સંયોજિત કરીને, તે પ્રકારની સલામતીને બલિદાન આપ્યા વિના સંદર્ભ-વિન્ડો ઑપ્ટિમાઇઝેશનની વિશિષ્ટ સમસ્યાને હલ કરે છે.
જો તમે એજન્ટો, ફાઈન-ટ્યુનિંગ મોડલ્સ બનાવી રહ્યા છો અથવા અનંત બંધ કૌંસમાંથી સ્ક્રોલ કરીને કંટાળી ગયા છો, તો TOON ને એક નજર આપવાનો સમય છે.