Fara í efni
Tókatalning

Tókatalning

Teldu tóka texta eða heillar beiðni áður en þú sendir hana.

POST https://api.shannon-ai.com/v1/tokenize

POST https://api.shannon-ai.com/v1/messages/count_tokens

Báðir endapunktarnir telja með tokenizer líkansins sem þú nefnir, og ekkert líkan keyrir. Þeir ná yfir hýstu líkönin með opnum þyngdum. /v1/tokenize tekur venjulegan texta eða Chat Completions samtal. /v1/messages/count_tokens tekur beiðni á Anthropic Messages sniði, sem er kallið sem Anthropic SDK og Claude Code gera.

Talning er ókeypis. Kall þarf API lykilinn þinn, tekur ekkert af stöðunni þinni og birtist ekki í notkunarskránni þinni.

Telja texta

Sendu model og text. Textinn er talinn eins og hann er, án spjallsniðs utan um hann.

import requests

response = requests.post(
    "https://api.shannon-ai.com/v1/tokenize",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "model": "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
        "text": "Hello, world",
    },
)
print(response.json()["tokens"])
200 Svar
{
  "model": "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
  "tokens": 3
}

Tölurnar í svörunum á þessari síðu eru dæmi. Sami texti gefur aðra talningu á öðru líkani.

Telja spjallbeiðni

Sendu model og messages, með tools þegar beiðnin hefur þau, nákvæmlega eins og þú myndir senda þau á /v1/chat/completions. Svarið er stærð alls inntaksins.

import requests

request = {
    "model": "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
    "messages": [
        {"role": "system", "content": "You are a concise assistant."},
        {"role": "user", "content": "What is the weather in Paris?"},
    ],
    "tools": [
        {
            "type": "function",
            "function": {
                "name": "get_weather",
                "description": "Current weather for a city",
                "parameters": {
                    "type": "object",
                    "properties": {"city": {"type": "string"}},
                    "required": ["city"],
                },
            },
        }
    ],
}

response = requests.post(
    "https://api.shannon-ai.com/v1/tokenize",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json=request,
)
print(response.json()["tokens"])
200 Svar
{
  "model": "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
  "tokens": 164
}

Reitir /v1/tokenize

Reitur Gerð Lýsing
model string Nauðsynlegt. Auðkenni hýsts líkans með opnum þyngdum. Há- og lágstafir eru meðhöndlaðir eins.
text string Texti sem á að telja eins og hann er, án spjallsniðs. Allt að 4,000,000 bæti. Sendu text eða messages; þegar bæði eru til staðar er text talið.
messages array Spjallskilaboð á Chat Completions sniði. Þau eru talin sem fullt inntak beiðni: hver skilaboð með því sniði sem spjallsniðmát líkansins setur utan um þau.
tools array Tólaskilgreiningar til að hafa með í talningunni. Notað ásamt messages.

Svarið er JSON-hlutur með þessum reitum:

Reitur Gerð Lýsing
model string Líkanaauðkennið sem talningin var gerð fyrir, í útgefinni stafsetningu þess.
tokens integer Með text: tókar textans. Með messages: tókar alls inntaksins, myndir meðtaldar.

Telja Messages beiðni

Sendu meginmálið sem þú myndir senda á /v1/messages: model, messages, og system og tools þegar þú notar þau. Opinberu Anthropic SDK kalla á þennan endapunkt í gegnum messages.count_tokens.

import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com",
)

count = client.messages.count_tokens(
    model="DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
    system="You are a concise assistant.",
    messages=[
        {"role": "user", "content": "Summarise the attached report."}
    ],
)
print(count.input_tokens)
200 Svar
{
  "input_tokens": 21
}

Reitir /v1/messages/count_tokens

Reitur Gerð Lýsing
model string Nauðsynlegt. Auðkenni hýsts líkans með opnum þyngdum.
messages array Nauðsynlegt. Skilaboð á Anthropic Messages sniði. text, image, tool_use og tool_result blokkir eru taldar.
system string | array Kerfis-prompt: strengur eða fylki af textablokkum.
tools array Tólaskilgreiningar með name, description og input_schema.

Samþykkt vegna samhæfni, án áhrifa á talninguna: tool_choice, max_tokens, temperature, top_p, stop_sequences, stream, thinking. Þú getur sent meginmál raunverulegrar beiðni óbreytt.

Svarið er JSON-hlutur með þessum reitum:

Reitur Gerð Lýsing
input_tokens integer Tókar alls inntaksins: kerfis-prompt, skilaboð, tól og myndir.

Studd líkön

Báðir endapunktarnir telja fyrir hýstu líkönin með opnum þyngdum. GET /v1/models telur /v1/tokenize og /v1/messages/count_tokens upp í endpoints hvers líkans sem styður þá. Öllum öðrum model gildum, Shannon auðkennum meðtöldum, er svarað með 400.

  • DeepSeek-V4-Pro-0813-3BIT-REAP
  • GLM-5.2-3BIT-REAP
  • Kimi-K3-3BIT-REAP
  • Nemotron3Ultra-3BIT-REAP
  • MiniMax-M3-3BIT-REAP
  • DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP
  • Kimi-K2.6-W4A16-AUTOROUND-REAP
  • Laguna-S-2.1-W4A16-AUTOROUND-REAP
  • inkling-W4A16-AUTOROUND-REAP
  • MiMo-V2.5-Pro-W8A16
  • MiMo-V2.5-W8A16
  • Hy3-W8A16

Fyrir Shannon líkan skaltu lesa tókafjöldann úr usage hlutnum í svari.

Hvernig talningin er gerð

Hvert líkan er talið með sínum eigin tokenizer og sinni eigin spjallsniðmáti. Engin ágiskun út frá stöfum eða orðum er notuð.

Hvað er talið Regla
Texti Tókar strengsins eins og hann er sendur. Tómur strengur telst 0.
Skilaboð Skilaboðin og tólin eru sett upp með spjallsniðmáti líkansins sjálfs, fram að þeim stað þar sem svarið hefst, og allt það prompt er talið.
Hlutverk system, user, assistant og tool skilaboð eru talin. developer er talið sem system. Skilaboð án efnis og án tólakalls bæta engu við.
Tólaköll og niðurstöður Tólaköll fyrri umferða assistant og niðurstöður þeirra eru hluti af talningunni, á báðum endapunktum.
Myndir Mynd send inni í meginmálinu (base64 eða data: URL) bætir við einum tóka fyrir hvern 28 × 28 pixla reit: ceil(width / 28) × ceil(height / 28). Mynd gefin sem http(s) URL er ekki sótt af þessum endapunktum og telst 1,024.

Dæmi: mynd upp á 1,024 × 768 pixla telst ceil(1024 / 28) × ceil(768 / 28) = 37 × 28 = 1,036 tókar.

Talningin og hvað beiðni er gjaldfærð

Talning heillar beiðni er gerð á sama hátt og inntakstalning raunverulegrar beiðni með sama líkani, skilaboðum og tólum. Svar skilar þeirri tölu sem usage.prompt_tokens í Chat Completions, sem usage.input_tokens í Responses, og sem usage.input_tokens plús usage.cache_read_input_tokens í Messages.

  • Talningin er inntakið áður en afsláttur fyrir inntak úr skyndiminni er dreginn frá. Raunveruleg beiðni getur lesið hluta þess inntaks úr skyndiminni og gjaldfært þann hluta á verði skyndiminnis. Prompt-geymsla
  • Mynd gefin sem http(s) URL telst hér 1,024. Raunveruleg beiðni sækir myndina og telur hana út frá stærð hennar í pixlum, svo tölurnar tvær geta verið ólíkar. Sendu myndina sem base64 til að fá sömu töluna.
  • Úttak er ekki hluti af talningunni. Svar raunverulegrar beiðni er gjaldfært sem úttakstókar að auki, rökhugsun meðtalin.
  • Talning með text hefur ekkert spjallsnið. Notaðu hana til að mæla skjal eða hluta af prompt, og messages formið til að mæla beiðni.

Til að breyta talningu í kostnað skaltu margfalda hana með inntaksverði líkansins á hverja 1M tókna. Líkön og verð

Mörk

Mörk Gildi Fyrir ofan það
Lengd text 4,000,000 bæti (UTF-8) 413 með skilaboðunum text too long
Meginmál beiðni 32 MiB 413
Á hverja beiðni Einn texti eða eitt samtal Sendu eina beiðni á hvern texta til að telja marga texta.

Talningarköll teljast ekki með í mörkunum 120 beiðnir á mínútu. Mörk og staða

Villur

Staða Gerð Skilaboð Hvenær
400 invalid_request_error tokenize is available for the hosted open models; unknown model: <model> /v1/tokenize með model sem er ekki auðkenni hýsts líkans með opnum þyngdum.
400 invalid_request_error count_tokens is available for the hosted open models; unknown model: <model> /v1/messages/count_tokens með model sem er ekki auðkenni hýsts líkans með opnum þyngdum, eða án model.
400 invalid_request_error send `text` or `messages` /v1/tokenize með hvorki text né messages.
401 authentication_error Missing authentication / Invalid API key Enginn lykill var sendur, eða lykillinn er ekki gildur.
413 invalid_request_error text too long text er lengri en 4,000,000 bæti. Meginmáli yfir 32 MiB er einnig svarað með 413.
415 invalid_request_error Expected request with `Content-Type: application/json` Beiðnin hefur enga JSON content type.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … Nauðsynlegan reit vantar (model á /v1/tokenize, messages á /v1/messages/count_tokens) eða reitur hefur ranga gerð.
503 api_error token counting is temporarily unavailable for this model Ekki er hægt að gera talninguna fyrir þetta líkan í augnablikinu. Reyndu aftur síðar.

/v1/tokenize skilar villum á OpenAI sniði. Á /v1/messages/count_tokens koma villur endapunktsins sjálfs (400 fyrir líkanið, 503) á Anthropic sniði, og 401, 413, 415 og 422 koma á OpenAI sniði. Lestu fyrst stöðukóðann, síðan error.type og error.message, sem eru til staðar á báðum sniðum.

400 /v1/tokenize
{
  "error": {
    "type": "invalid_request_error",
    "message": "tokenize is available for the hosted open models; unknown model: shannon-3"
  }
}
400 /v1/messages/count_tokens
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "count_tokens is available for the hosted open models; unknown model: shannon-3"
  }
}