ટોકન શું છે?
ટોકન એ ટેક્સ્ટના મૂળભૂત ઘટકો છે, જેને OpenAIનાં મોડલ પ્રોસેસ કરે છે. ભાષા અને સંદર્ભના આધારે, તે એક અક્ષર જેટલા ટૂંકા અથવા આખા શબ્દ જેટલા લાંબા હોઈ શકે છે. જગ્યાઓ, વિરામચિહ્નો અને શબ્દોના અંશો પણ ટોકનની ગણતરીમાં સામેલ થાય છે. પ્રતિસાદ જનરેટ કરતાં પહેલાં API તમારા ટેક્સ્ટને આંતરિક રીતે આ રીતે વિભાજિત કરે છે.
અંગ્રેજી માટે ઉપયોગી અંદાજના નિયમો:
1 ટોકન ≈ 4 અક્ષરો
1 ટોકન ≈ શબ્દનો ¾ ભાગ
100 ટોકન ≈ 75 શબ્દો
1–2 વાક્યો ≈ 30 ટોકન
1 ફકરો ≈ 100 ટોકન
~1,500 શબ્દો ≈ 2,048 ટોકન
મોડલ અને એન્કોડિંગ પ્રમાણે ટોકનાઇઝેશન બદલાય છે. તમારા લક્ષિત મોડલ માટે ચોક્કસ ગણતરી મેળવવા ટોકનાઇઝર સાધન અથવા tiktoken.encoding_for_model(model)નો ઉપયોગ કરો.
ઉદાહરણો
અહીં વાસ્તવિક ટેક્સ્ટનાં કેટલાંક નમૂના અને તેમની ટોકનની અંદાજિત ગણતરી આપેલી છે:
વેઇન ગ્રેટ્સ્કીનું કથન “You miss 100% of the shots you don’t take” = 11 ટોકન
OpenAI ચાર્ટર = 476 ટોકન
અમેરિકાનું સ્વતંત્રતાનું ઘોષણાપત્ર = 1,695 ટોકન
ટોકનની ગણતરી કેવી રીતે થાય છે
જ્યારે તમે APIને ટેક્સ્ટ મોકલો છો:
ટેક્સ્ટને ટોકનમાં વિભાજિત કરવામાં આવે છે.
મોડલ આ ટોકનને પ્રોસેસ કરે છે.
પ્રતિસાદ ટોકનની શ્રેણી તરીકે જનરેટ થાય છે અને પછી ફરી ટેક્સ્ટમાં રૂપાંતરિત થાય છે.
ટોકનનો વપરાશ અનેક શ્રેણીઓમાં નોંધવામાં આવે છે:
ઇનપુટ ટોકન – તમારી વિનંતીમાં રહેલા ટોકન.
આઉટપુટ ટોકન – પ્રતિસાદમાં જનરેટ થયેલા ટોકન.
કૅશ કરેલા ટોકન – વાતચીતના ઇતિહાસમાંથી ફરી વપરાયેલા ટોકન (જેના માટે ઘણી વાર ઓછા દરે શુલ્ક લેવાય છે).
রিজনিং ટોકન – કેટલાંક અદ્યતન મોડલમાં અંતિમ આઉટપુટ આપતાં પહેલાં વધારાનાં “વિચારવાનાં પગલાં” આંતરિક રીતે સામેલ હોય છે.
આ ગણતરી તમારા API પ્રતિસાદના મેટાડેટામાં દેખાય છે અને તેનો ઉપયોગ બિલિંગ તથા વપરાશની નોંધ રાખવા માટે થાય છે.
ટોકનાઇઝેશન વિશે વધુ જાણવા માટે તમે અમારું ઇન્ટરેક્ટિવ ટોકનાઇઝર સાધન વાપરી શકો છો, જેનાથી ટોકનની સંખ્યા ગણી શકાય છે અને ટેક્સ્ટને ટોકનમાં કેવી રીતે વિભાજિત કરવામાં આવે છે તે જોઈ શકાય છે.
વૈકલ્પિક રીતે, જો તમે પ્રોગ્રામ દ્વારા ટેક્સ્ટને ટોકનાઇઝ કરવા માગતા હો, તો OpenAIનાં મોડલ માટે ખાસ વપરાતા ઝડપી BPE ટોકનાઇઝર તરીકે Tiktokenનો ઉપયોગ કરો.
ટોકનની મર્યાદાઓ
દરેક મોડલ માટે ઇનપુટ અને આઉટપુટની સંયુક્ત મહત્તમ ટોકન મર્યાદા હોય છે. હાલનાં ઉચ્ચ ક્ષમતાવાળાં મોડલ સંદર્ભમાં લાખો ટોકન સુધી સપોર્ટ કરે છે, જોકે મોડલના વર્ઝન અને તમારા વપરાશ સ્તર પ્રમાણે વ્યવહારુ મર્યાદાઓ બદલાઈ શકે છે.
જો તમે મર્યાદા વટાવો, તો તમે આ કરી શકો છો:
પ્રોમ્પ્ટ ટૂંકા કરો અથવા તેમને જુદી રીતે લખો.
મોટા ટેક્સ્ટને નાના ભાગોમાં વહેંચો.
ઇનપુટ મોકલતાં પહેલાં તેનો સારાંશ બનાવો અથવા તેની પૂર્વપ્રક્રિયા કરો.
ટોકનના ભાવ
APIના વપરાશનો ભાવ પ્રતિ ટોકન નક્કી થાય છે અને તે મોડલ તેમજ ટોકન ઇનપુટ, આઉટપુટ કે કૅશ કરેલા છે તેના આધારે બદલાય છે. હાલના દર માટે OpenAIનું ભાવપત્રક પેજ જુઓ. કેટલાંક рিজনিং મોડલ આંતરિક રીતે વધુ ટોકન વાપરી શકે છે, પરંતુ પૂર્ણ થયેલા દરેક કાર્ય માટે જરૂરી ટોકનની સંખ્યા ઘટાડીને કાર્યક્ષમતા સુધારવાનું લક્ષ્ય રાખે છે.
ટોકનને સમજવું
API કોર્પસ ડેટામાં રહેલા સંદર્ભ પ્રમાણે શબ્દોને પ્રોસેસ કરે છે. મોડલ પ્રોમ્પ્ટ લઈને ઇનપુટને ટોકનની સૂચિમાં રૂપાંતરિત કરે છે, પ્રોમ્પ્ટને પ્રોસેસ કરે છે અને અનુમાનિત ટોકનને ફરી એવા શબ્દોમાં ફેરવે છે જે આપણને પ્રતિસાદમાં દેખાય છે.
આપણને એકસરખા દેખાતા બે શબ્દો ટેક્સ્ટમાં કેવી રીતે ગોઠવાયેલા છે તેના આધારે અલગ ટોકન તરીકે જનરેટ થઈ શકે છે. ટેક્સ્ટમાં રહેલા સંદર્ભના આધારે API ‘red’ શબ્દ માટે ટોકન મૂલ્યો કેવી રીતે જનરેટ કરે છે તે જુઓ:
ઉપરના પ્રથમ ઉદાહરણમાં ‘ red’ માટેના ટોકન “2266”માં પાછળ એક જગ્યા સામેલ છે (નોંધ: આ માત્ર સમજાવવા માટેનાં ઉદાહરણરૂપ ટોકન ID છે).
‘ Red’ માટેનું ટોકન “2296” (આગળ જગ્યા અને શરૂઆતમાં મોટો અક્ષર) નાના અક્ષરવાળા ‘ red’ માટેના ટોકન “2266”થી અલગ છે.
વાક્યની શરૂઆતમાં ‘Red’ વપરાય ત્યારે જનરેટ થયેલા ટોકનમાં આગળ જગ્યા હોતી નથી. ટોકન “7738” શબ્દનાં અગાઉનાં બે ઉદાહરણોથી અલગ છે.
અવલોકનો:
ટોકન જેટલું વધુ સંભવિત અથવા વારંવાર વપરાતું હોય, તેને ફાળવેલી ટોકન સંખ્યા એટલી ઓછી હોય છે:
ત્રણેય વાક્યમાં પૂર્ણવિરામ માટે જનરેટ થયેલું ટોકન એક જ (“13”) છે. કારણ એ છે કે સંદર્ભની દૃષ્ટિએ સમગ્ર કોર્પસ ડેટામાં પૂર્ણવિરામનો ઉપયોગ લગભગ એકસરખી રીતે થાય છે.
વાક્યમાં ‘red’ના સ્થાન પ્રમાણે તેના માટે જનરેટ થતું ટોકન બદલાય છે:
વાક્યની વચ્ચે નાનો અક્ષર: ‘ red’ - (ટોકન: “2266”)
વાક્યની વચ્ચે મોટો અક્ષર: ‘ Red’ - (ટોકન: “2297”)
વાક્યની શરૂઆતમાં મોટો અક્ષર: ‘Red’ - (ટોકન: “7738”)
