OpenAI
Această pagină a fost tradusă automat. Vezi articolul original în limba engleză.

Înțelegerea și numărarea tokenurilor

Aflați cum influențează tokenurile de intrare, de ieșire, din cache și de raţionament utilizarea API-ului, limitele modelelor și costurile.

Actualizat: 16 days ago

Prezentare generală

Tokenurile sunt unitățile folosite de modelele OpenAI pentru a procesa textul. Un token poate reprezenta un caracter, o parte dintr-un cuvânt, un cuvânt întreg sau un semn de punctuație. Și spațiile influențează modul în care textul este împărțit în tokenuri.

Numărul de tokenuri nu este același cu numărul de cuvinte. Același text poate avea un număr diferit de tokenuri, în funcție de model, codificarea acestuia și limbă.

Înțelegeți cum devine textul tokenuri

Când trimiteți text unui model:

  1. Textul este împărțit în tokenuri.

  2. Modelul procesează tokenurile respective.

  3. Modelul generează tokenuri de ieșire. Acestea pot include textul pe care îl primiți și, în cazul modelelor de raţionament, tokenuri interne de raţionament care nu sunt afișate ca text al răspunsului.

Folosiți estimări aproximative pentru textele în limba engleză

Aceste estimări vă pot ajuta să evaluați dimensiunea unui text în limba engleză:

  • 1 token reprezintă aproximativ 4 caractere.

  • 1 token reprezintă aproximativ trei sferturi dintr-un cuvânt.

  • 100 de tokenuri reprezintă aproximativ 75 de cuvinte.

Acestea sunt estimări, nu valori exacte. Lungimea propozițiilor și a paragrafelor variază, iar în alte limbi raporturile dintre caractere, cuvinte și tokenuri pot fi diferite.

Țineți cont de spații și majuscule

Un cuvânt poate fi împărțit în tokenuri diferite în funcție de ortografie, scrierea cu majuscule și textul din jur.

De exemplu, red, Red și red nu conțin text identic: ultimul exemplu include un spațiu înaintea cuvântului. O codificare le poate reprezenta diferit.

Și ID-urile tokenurilor depind de codificare. Nu presupuneți că un exemplu de ID de token este valabil pentru fiecare model.

Distingeți tokenurile de intrare de cele de ieșire

CategorieCe descrie
Tokenuri de intrareTokenuri furnizate modelului într-o solicitare. Acestea se mai numesc și tokenuri de solicitare.
Tokenuri de ieșireTokenuri generate de model. Chat Completions le numește tokenuri de completare.
Tokenuri de intrare din cacheTokenuri de intrare reutilizate prin memorarea în cache a prompturilor. Prețul lor poate fi diferit de cel al tokenurilor de intrare care nu provin din cache.
Tokenuri de raţionamentTokenuri folosite intern de un model de raţionament înainte de a produce răspunsul vizibil.

Tokenurile de raţionament nu sunt vizibile ca text al răspunsului, dar sunt incluse în utilizarea de ieșire și facturate ca tokenuri de ieșire.

Prin urmare, un răspuns vizibil scurt poate folosi mai multe tokenuri decât sugerează textul afișat.

Numărați tokenurile înainte de a trimite o solicitare

Numărați tokenurile din text simplu

Folosiți Tokenizer pentru a vedea cum este împărțit textul în tokenuri.

Pentru tokenizarea programatică a textului simplu, folosiți tiktoken. Selectați codificarea pentru modelul vizat, de exemplu cu tiktoken.encoding_for_model(model).

Numărul de tokenuri din textul simplu nu include neapărat toate tokenurile dintr-o solicitare API. Structura mesajelor, instrumentele, schemele, imaginile și fișierele pot influența numărul total de tokenuri de intrare.

Numărați tokenurile unei intrări Responses complete

Pentru o intrare completă a API-ului Responses, folosiți API-ul de numărare a tokenurilor de intrare.

Acesta acceptă formatele de intrare Responses, inclusiv mesaje, imagini, fișiere, instrumente și conversații. Numărul calculat include tokenurile de formatare folosite pentru structura solicitării, cum ar fi rolurile și delimitările mesajelor.

Numărul tokenurilor de intrare nu anticipează câte tokenuri de ieșire va genera modelul.

Verificați utilizarea efectivă a tokenurilor

După o solicitare, consultați informațiile despre utilizarea acesteia. Numele câmpurilor diferă în funcție de punctul final:

  • Chat Completions raportează prompt_tokens, completion_tokens și total_tokens.

  • Responses raportează input_tokens, output_tokens și total_tokens.

De asemenea, puteți consulta activitatea în timp în panoul Utilizare. Pentru instrucțiuni, inclusiv despre utilizarea prin streaming, consultați: Consultarea utilizării și a costurilor API-ului.

Respectați limitele modelului

Consultați documentația modelului pentru fereastra contextuală și limita maximă de ieșire. Aceste limite pot varia de la un model la altul.

Fereastra contextuală limitează numărul de tokenuri pe care le poate procesa un model într-o solicitare. Modelele au și o limită de ieșire. Pentru modelele de raţionament, rezervați spațiu atât pentru tokenurile de raţionament, cât și pentru răspunsul vizibil.

Dacă intrarea este prea mare, puteți:

  • Scurta sau reformula solicitarea.

  • Elimina contextul inutil sau repetat.

  • Împărți intrările mari în părți mai mici.

  • Rezuma sau preprocesa textul înainte de a-l trimite.

Folosiți setarea pentru tokenurile de ieșire acceptată de punctul final și de model. Chat Completions folosește max_completion_tokens, iar Responses folosește max_output_tokens.

Aceste limite privind dimensiunea solicitărilor sunt separate de limitele de frecvență ale API-ului și de limitele lunare de utilizare sau cheltuieli. Consultați documentația modelului pe care îl folosiți.

Înțelegeți tarifarea tokenurilor

Pentru tarifarea API-ului în funcție de tokenuri, tariful depinde de model și de categoria tokenului. Tokenurile de intrare, de intrare din cache și de ieșire pot avea prețuri diferite. Alte funcționalități API pot folosi unități de facturare diferite.

Consultați pagina de tarife API pentru tarifele actuale.

Când comparați modele, luați în calcul numărul total de tokenuri și costul necesar pentru finalizarea activității. Un preț mai mic per milion de tokenuri nu înseamnă neapărat un cost total mai mic: modelele pot tokeniza diferit același text și pot genera cantități diferite de text de ieșire sau de raţionament.

Testați activități reprezentative, în loc să comparați doar lungimea răspunsului vizibil.

Țineți cont de completările multiple

Când un punct final și un model permit generarea mai multor completări, și aceste completări suplimentare folosesc tokenuri.

Pentru Chat Completions, setarea parametrului n la o valoare mai mare decât 1 generează mai multe opțiuni. Sunteți taxat pentru tokenurile generate în toate aceste opțiuni.

Pentru vechiul API Completions, best_of poate genera candidați care nu sunt returnați în totalitate. De exemplu, best_of = 3 poate genera până la 3 × max_tokens tokenuri de completare pentru toți candidații.

Acești parametri sunt specifici fiecărui punct final. Nu presupuneți că n sau best_of este acceptat de alt API sau model.

A fost util acest articol?