Pregled
Žetoni so enote, s katerimi modeli OpenAI obdelujejo besedilo. Žeton lahko predstavlja znak, del besede, celo besedo ali ločilo. Na delitev besedila na žetone vplivajo tudi presledki.
Število žetonov ni enako številu besed. Isto besedilo lahko ustvari različno število žetonov, odvisno od modela, njegovega kodiranja in jezika.
Razumevanje pretvorbe besedila v žetone
Ko modelu pošljete besedilo:
Besedilo se razdeli na žetone.
Model obdela te žetone.
Model ustvari izhodne žetone. Ti lahko vključujejo prejeto besedilo, pri modelih sklepanja pa tudi notranje žetone sklepanja, ki niso prikazani kot besedilo odgovora.
Uporabite grobe ocene za angleško besedilo
Pri ocenjevanju dolžine angleškega besedila si lahko pomagate s temi približki:
1 žeton je približno 4 znake.
1 žeton je približno tri četrtine besede.
100 žetonov je približno 75 besed.
To so ocene, ne natančna števila. Dolžine povedi in odstavkov se razlikujejo, v drugih jezikih pa so lahko drugačna tudi razmerja med znaki, besedami in žetoni.
Upoštevajte presledke in velike začetnice
Beseda se lahko glede na zapis, uporabo velikih začetnic in okoliško besedilo razdeli na različne žetone.
Besedila red, Red in red na primer niso enaka: zadnji primer vključuje začetni presledek. Kodiranje jih lahko predstavi različno.
Od kodiranja so odvisni tudi ID-ji žetonov. Ne domnevajte, da primer ID-ja žetona velja za vsak model.
Razlikovanje med vhodnimi in izhodnimi žetoni
| Kategorija | Kaj opisuje |
| Vhodni žetoni | Žetoni, posredovani modelu v zahtevi. Imenujejo se tudi žetoni poziva. |
| Izhodni žetoni | Žetoni, ki jih ustvari model. Chat Completions jih imenuje žetoni dokončanja. |
| Predpomnjeni vhodni žetoni | Vhodni žetoni, znova uporabljeni s predpomnjenjem pozivov. Njihova cena se lahko razlikuje od cene nepredpomnjenih vhodnih žetonov. |
| Žetoni sklepanja | Žetoni, ki jih model sklepanja interno uporabi, preden ustvari vidni odgovor. |
Žetoni sklepanja niso vidni kot besedilo odgovora, vendar štejejo v izhodno porabo in se zaračunajo kot izhodni žetoni.
Kratek vidni odgovor lahko zato porabi več žetonov, kot nakazuje prikazano besedilo.
Preštejte žetone pred pošiljanjem zahteve
Preštejte žetone v navadnem besedilu
Z orodjem Tokenizer si oglejte, kako se besedilo razdeli na žetone.
Za programsko tokenizacijo navadnega besedila uporabite tiktoken. Izberite kodiranje za ciljni model, na primer s tiktoken.encoding_for_model(model).
Število žetonov v navadnem besedilu ne vključuje nujno vseh žetonov v zahtevi API-ja. Na skupno število vhodnih žetonov lahko vplivajo struktura sporočil, orodja, sheme, slike in datoteke.
Preštejte žetone celotnega vnosa Responses
Za celoten vnos API-ja Responses uporabite API za štetje vhodnih žetonov.
Sprejema vhodne oblike zapisa Responses, vključno s sporočili, slikami, datotekami, orodji in pogovori. Število vključuje žetone za oblikovanje strukture zahteve, kot so vloge in meje sporočil.
Število vhodnih žetonov ne napoveduje, koliko izhodnih žetonov bo ustvaril model.
Preverite dejansko porabo žetonov
Po zahtevi preverite podatke o njeni porabi. Imena polj se razlikujejo glede na končno točko:
Chat Completions poroča o prompt_tokens, completion_tokens in total_tokens.
Responses poroča o input_tokens, output_tokens in total_tokens.
Dejavnost skozi čas si lahko ogledate tudi na nadzorni plošči Usage. Navodila, tudi za pretočno porabo, najdete v članku Pregled porabe in stroškov API-ja.
Upoštevajte omejitve modela
V dokumentaciji modela preverite njegovo kontekstno okno in največji izhod. Te omejitve se lahko med modeli razlikujejo.
Kontekstno okno omejuje število žetonov, ki jih lahko model obdela v zahtevi. Modeli imajo tudi omejitev izhoda. Pri modelih sklepanja poleg vidnega odgovora predvidite prostor tudi za žetone sklepanja.
Če je vaš vnos prevelik, lahko:
Skrajšate ali preoblikujete poziv.
Odstranite nepotreben ali ponovljen kontekst.
Velike vnose razdelite na manjše dele.
Besedilo pred pošiljanjem povzamete ali predhodno obdelate.
Uporabite nastavitev izhodnih žetonov, ki jo podpirata vaša končna točka in model. Chat Completions uporablja max_completion_tokens, Responses pa max_output_tokens.
Te omejitve velikosti zahtev so ločene od omejitev pogostosti API-ja ter mesečnih omejitev porabe ali stroškov. Oglejte si dokumentacijo modela, ki ga uporabljate.
Razumevanje cen žetonov
Pri cenah API-ja na podlagi žetonov je tarifa odvisna od modela in kategorije žetonov. Vhodni, predpomnjeni vhodni in izhodni žetoni imajo lahko različne cene. Druge zmogljivosti API-ja lahko uporabljajo drugačne obračunske enote.
Trenutne tarife preverite na strani s cenami API-ja.
Pri primerjavi modelov upoštevajte skupno število žetonov in stroške, potrebne za dokončanje naloge. Nižja cena na milijon žetonov ne pomeni nujno nižjih skupnih stroškov: modeli lahko isto besedilo tokenizirajo različno ter ustvarijo različne količine izhoda ali sklepanja.
Preizkusite reprezentativne naloge in ne primerjajte le dolžine vidnega odgovora.
Upoštevajte več dokončanj
Če končna točka in model podpirata ustvarjanje več dokončanj, tudi ta dodatna dokončanja porabljajo žetone.
Če za n v Chat Completions nastavite vrednost, večjo od 1, se ustvari več možnosti. Zaračunajo se vam žetoni, ustvarjeni za vse te možnosti.
Pri opuščenem API-ju Completions lahko best_of ustvari kandidate, ki niso vsi vrnjeni. best_of = 3 lahko na primer med kandidati ustvari do 3 × max_tokens žetonov dokončanja.
Ti parametri so specifični za posamezno končno točko. Ne domnevajte, da drug API ali model podpira n oziroma best_of.
