OpenAI
Tämä sivu on konekäännetty. Katso alkuperäinen englanninkielinen artikkeli.

Tokenien ymmärtäminen ja laskeminen

Lue, miten syöte-, tuloste-, välimuisti- ja päättelytokenit vaikuttavat API-käyttöön, mallien rajoituksiin ja kustannuksiin.

Päivitetty: 10 days ago

Yleiskatsaus

Tokenit ovat yksiköitä, joilla OpenAI-mallit käsittelevät tekstiä. Token voi vastata merkkiä, sanan osaa, kokonaista sanaa tai välimerkkiä. Myös välilyönnit vaikuttavat siihen, miten teksti jaetaan tokeneiksi.

Tokenien määrä ei ole sama asia kuin sanojen määrä. Sama teksti voi tuottaa eri määrän tokeneita mallin, sen koodauksen ja kielen mukaan.

Ymmärrä, miten tekstistä tulee tokeneita

Kun lähetät tekstiä mallille:

  1. Teksti jaetaan tokeneiksi.

  2. Malli käsittelee nämä tokenit.

  3. Malli tuottaa tulostetokeneita. Niihin voivat kuulua saamasi teksti sekä päättelymalleissa sisäiset päättelytokenit, jotka eivät näy vastaustekstissä.

Käytä englanninkieliselle tekstille suuntaa-antavia arvioita

Näiden arvioiden avulla voit hahmottaa englanninkielisen tekstin koon:

  • 1 token vastaa noin neljää merkkiä.

  • 1 token vastaa noin kolmea neljäsosaa sanasta.

  • 100 tokenia vastaa noin 75:tä sanaa.

Nämä ovat arvioita, eivät tarkkoja määriä. Lauseiden ja kappaleiden pituudet vaihtelevat, ja muissa kielissä merkkien, sanojen ja tokenien väliset suhteet voivat olla erilaisia.

Huomioi välilyönnit ja kirjainkoko

Sana voidaan jakaa eri tokeneiksi sen kirjoitusasun, kirjainkoon ja ympäröivän tekstin mukaan.

Esimerkiksi punainen, Punainen ja punainen eivät sisällä samaa tekstiä: viimeisen esimerkin alussa on välilyönti. Koodaus voi esittää ne eri tavoin.

Myös tokenien tunnukset riippuvat koodauksesta. Älä oleta, että esimerkin tokenitunnus pätee kaikkiin malleihin.

Erota syöte- ja tulostetokenit toisistaan

LuokkaMitä se kuvaa
SyötetokenitPyynnössä mallille toimitetut tokenit. Niitä kutsutaan myös kehotetokeneiksi.
TulostetokenitMallin tuottamat tokenit. Chat Completions kutsuu niitä täydennystokeneiksi.
Välimuistissa olevat syötetokenitKehotteiden välimuistiin tallentamisen avulla uudelleen käytetyt syötetokenit. Niiden hinnoittelu voi poiketa välimuistiin tallentamattomien syötetokenien hinnoittelusta.
PäättelytokenitTokenit, joita päättelymalli käyttää sisäisesti ennen näkyvän vastauksen tuottamista.

Päättelytokenit eivät näy vastaustekstissä, mutta ne lasketaan tulostekäyttöön ja laskutetaan tulostetokeneina.

Lyhyt näkyvä vastaus voi siksi käyttää enemmän tokeneita kuin näytetyn tekstin perusteella voisi päätellä.

Laske tokenit ennen pyynnön lähettämistä

Laske raakatekstin tokenit

Katso Tokenizerilla, miten teksti jaetaan tokeneiksi.

Käytä raakatekstin ohjelmalliseen tokenisointiin tiktokenia. Valitse kohdemallillesi sopiva koodaus esimerkiksi kutsulla tiktoken.encoding_for_model(model).

Raakatekstin tokenimäärä ei välttämättä sisällä kaikkia API-pyynnön tokeneita. Viestirakenne, työkalut, skeemat, kuvat ja tiedostot voivat vaikuttaa syötteen kokonaismäärään.

Laske Responses-syötteen kaikki tokenit

Laske Responses API -syötteen kaikki tokenit syötetokenien laskenta-APIlla.

Se hyväksyy Responses-syötemuodot, kuten viestit, kuvat, tiedostot, työkalut ja keskustelut. Määrä sisältää myös pyyntörakenteen muotoilutokenit, kuten viestien roolit ja rajat.

Syötetokenien määrä ei ennusta, montako tulostetokenia malli tuottaa.

Tarkista tokenien todellinen käyttö

Tarkista pyynnön jälkeen sen käyttötiedot. Kenttien nimet vaihtelevat endpointeittain:

  • Chat Completions ilmoittaa arvot prompt_tokens, completion_tokens ja total_tokens.

  • Responses ilmoittaa arvot input_tokens, output_tokens ja total_tokens.

Voit tarkastella käyttöä myös pidemmältä ajalta Usage Dashboardissa. Ohjeet, myös suoratoiston käytön seurantaan, ovat artikkelissa API-käytön ja kustannusten tarkastelu.

Pysy mallin rajoissa

Tarkista mallin dokumentaatiosta sen konteksti-ikkuna ja tulosteen enimmäispituus. Rajoitukset voivat vaihdella malleittain.

Konteksti-ikkuna rajoittaa tokenien määrää, jonka malli voi käsitellä yhdessä pyynnössä. Malleilla on myös tulosterajoitus. Varaa päättelymalleissa tilaa sekä päättelytokeneille että näkyvälle vastaukselle.

Jos syöte on liian suuri, voit:

  • Lyhennä kehote tai muotoile se uudelleen.

  • Poista tarpeeton tai toistuva konteksti.

  • Jaa suuret syötteet pienempiin osiin.

  • Tee tekstistä yhteenveto tai esikäsittele se ennen lähettämistä.

Käytä endpointin ja mallin tukemaa tulostetokenien asetusta. Chat Completions käyttää asetusta max_completion_tokens ja Responses asetusta max_output_tokens.

Nämä pyyntökoon rajoitukset ovat erillisiä API-kutsutiheyden sekä kuukausittaisen käytön tai kulutuksen rajoista. Tutustu käyttämäsi mallin mallidokumentaatioon.

Ymmärrä tokenien hinnoittelu

Tokenipohjaisen API-hinnoittelun hinta riippuu mallista ja tokenien luokasta. Syöte-, välimuistisyöte- ja tulostetokeneilla voi olla eri hinnat. Muissa API-ominaisuuksissa voidaan käyttää eri laskutusyksiköitä.

Tarkista ajantasaiset hinnat API-hinnoittelusivulta.

Kun vertailet malleja, huomioi tehtävän suorittamiseen tarvittavien tokenien kokonaismäärä ja kustannukset. Miljoonan tokenin alempi hinta ei välttämättä pienennä kokonaiskustannuksia: mallit voivat tokenisoida saman tekstin eri tavoin ja tuottaa eri määrän tulostetta tai päättelyä.

Testaa edustavia tehtäviä sen sijaan, että vertaisit vain näkyvien vastausten pituutta.

Huomioi useat täydennykset

Kun endpoint ja malli tukevat useiden täydennysten tuottamista, myös nämä lisätäydennykset käyttävät tokeneita.

Chat Completions tuottaa useita vaihtoehtoja, kun n-arvoksi asetetaan yli 1. Sinua veloitetaan kaikkien näissä vaihtoehdoissa tuotettujen tokenien perusteella.

Vanhassa Completions APIssa best_of voi tuottaa ehdokkaita, joita ei kaikkia palauteta. Esimerkiksi best_of = 3 voi tuottaa ehdokkaissa yhteensä enintään 3 × max_tokens täydennystokenia.

Nämä parametrit ovat endpoint-kohtaisia. Älä oleta, että toinen API tai malli tukee parametria n tai best_of.

Oliko tästä artikkelista apua?