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