Ülevaade
Tokenid on ühikud, mida OpenAI mudelid kasutavad teksti töötlemiseks. Token võib tähistada tähemärki, sõnaosa, tervet sõna või kirjavahemärki. Ka tühikud mõjutavad teksti tokeniteks jagamist.
Tokenite arv ei ole sama mis sõnade arv. Sama teksti tokenite arv võib olenevalt mudelist, selle kodeeringust ja keelest erineda.
Kuidas tekstist saavad tokenid
Kui saadate mudelile teksti, toimub järgmine:
Tekst jagatakse tokeniteks.
Mudel töötleb neid tokeneid.
Mudel genereerib väljundtokenid. Need võivad hõlmata teile kuvatavat teksti ja arutlusmudelite puhul sisemisi arutlustokeneid, mida vastuse tekstina ei kuvata.
Kasutage ingliskeelse teksti puhul ligikaudseid hinnanguid
Need hinnangud aitavad määrata ingliskeelse teksti suurust:
1 token on ligikaudu 4 tähemärki.
1 token on ligikaudu kolmveerand sõna.
100 tokenit on ligikaudu 75 sõna.
Need on hinnangud, mitte täpsed arvud. Lausete ja lõikude pikkus varieerub ning teistes keeltes võivad tähemärkide, sõnade ja tokenite omavahelised suhted erineda.
Arvestage tühikute ja suurtähtedega
Sõna võidakse sõltuvalt kirjapildist, suur- ja väiketähtedest ning ümbritsevast tekstist jagada erinevateks tokeniteks.
Näiteks red, Red ja red ei sisalda identset teksti: viimase näite alguses on tühik. Kodeering võib neid erinevalt esitada.
Ka tokenite ID-d olenevad kodeeringust. Ärge eeldage, et näites toodud tokeni ID kehtib iga mudeli puhul.
Sisend- ja väljundtokenite eristamine
| Kategooria | Mida see kirjeldab |
| Sisendtokenid | Päringus mudelile edastatud tokenid. Neid nimetatakse ka viibatokeniteks. |
| Väljundtokenid | Mudeli genereeritud tokenid. Chat Completions nimetab neid lõpetustokeniteks. |
| Vahemällu salvestatud sisendtokenid | Viipade vahemällu salvestamise kaudu korduskasutatavad sisendtokenid. Nende hinnastamine võib erineda vahemällu salvestamata sisendtokenite hinnastamisest. |
| Arutlustokenid | Tokenid, mida arutlusmudel kasutab sisemiselt enne nähtava vastuse koostamist. |
Arutlustokenid ei ole vastuse tekstina nähtavad, kuid need lähevad väljundikasutuses arvesse ja nende eest võetakse tasu väljundtokenitena.
Seetõttu võib lühike nähtav vastus kasutada rohkem tokeneid, kui kuvatud teksti põhjal võiks arvata.
Tokenite loendamine enne päringu saatmist
Lihtteksti loendamine
Vaadake Tokenizeriga, kuidas tekst tokeniteks jagatakse.
Lihtteksti programmiliseks tokeniseerimiseks kasutage teeki tiktoken. Valige sihtmudelile sobiv kodeering, näiteks funktsiooniga tiktoken.encoding_for_model(model).
Lihtteksti tokenite arv ei pruugi hõlmata kõiki API päringu tokeneid. Sõnumite struktuur, tööriistad, skeemid, pildid ja failid võivad mõjutada sisendtokenite koguarvu.
Responsesi täieliku sisendi loendamine
Responses API täieliku sisendi jaoks kasutage sisendtokenite loendamise API-t.
See aktsepteerib Responsesi sisendvorminguid, sealhulgas sõnumeid, pilte, faile, tööriistu ja vestlusi. Loendus hõlmab päringu struktuuri vormindustokeneid, näiteks sõnumirolle ja -piire.
Sisendtokenite arv ei ennusta, mitu väljundtokenit mudel genereerib.
Kontrollige tegelikku tokenikasutust
Pärast päringu esitamist vaadake selle kasutusteavet. Väljanimed olenevad lõpp-punktist:
Chat Completions esitab väljad prompt_tokens, completion_tokens ja total_tokens.
Responses esitab väljad input_tokens, output_tokens ja total_tokens.
Kasutuse juhtpaneelil saate vaadata ka tegevust aja jooksul. Juhiseid, sealhulgas voogedastuse kasutuse kohta, leiate siit: API kasutuse ja kulude ülevaatamine.
Püsige mudeli piirides
Vaadake mudeli dokumentatsioonist selle kontekstivaadet ja maksimaalset väljundit. Need piirangud võivad mudeliti erineda.
Kontekstivaade piirab tokenite arvu, millega mudel saab ühes päringus töötada. Mudelitel on ka väljundipiirang. Arutlusmudelite puhul jätke ruumi nii arutlustokenitele kui ka nähtavale vastusele.
Kui sisend on liiga suur, saate teha järgmist:
Lühendage või sõnastage viip ümber.
Eemaldage tarbetu või korduv kontekst.
Jagage suured sisendid väiksemateks osadeks.
Tehke tekstist enne saatmist kokkuvõte või eeltöödelge seda.
Kasutage väljundtokenite sätet, mida teie lõpp-punkt ja mudel toetavad. Chat Completions kasutab sätet max_completion_tokens, Responses aga sätet max_output_tokens.
Need päringu suuruse piirangud ei ole seotud API kiiruspiirangute ega igakuiste kasutus- või kululimiitidega. Vaadake kasutatava mudeli dokumentatsiooni.
Tokenite hinnastamise mõistmine
Tokenipõhise API hinnastamise korral sõltub tariif mudelist ja tokenikategooriast. Sisendtokenitel, vahemällu salvestatud sisendtokenitel ja väljundtokenitel võivad olla erinevad hinnad. Muud API funktsioonid võivad kasutada teistsuguseid arveldusühikuid.
Kehtivad tariifid leiate API hinnastamise lehelt.
Mudeleid võrreldes arvestage ülesande täitmiseks vajalike tokenite koguarvu ja maksumust. Miljoni tokeni madalam hind ei tähenda tingimata väiksemat kogukulu: mudelid võivad sama teksti erinevalt tokeniseerida ning genereerida erineva hulga väljundit või arutlust.
Ärge võrrelge üksnes nähtava vastuse pikkust, vaid katsetage tüüpiliste ülesannetega.
Arvestage mitme lõpetusega
Kui lõpp-punkt ja mudel toetavad mitme lõpetuse genereerimist, kasutavad ka need lisalõpetused tokeneid.
Kui määrate Chat Completionsis parameetri n väärtuseks üle 1, genereeritakse mitu valikut. Teilt võetakse tasu kõigis neis valikutes genereeritud tokenite eest.
Pärand-API Completions puhul võib best_of genereerida kandidaate, mida kõiki ei tagastata. Näiteks best_of = 3 võib kandidaatide peale kokku genereerida kuni 3 × max_tokens lõpetustokenit.
Need parameetrid on lõpp-punktipõhised. Ärge eeldage, et mõni teine API või mudel toetab parameetrit n või best_of.
