Гузариш ба мундариҷа
Ҳисоби токенҳо

Ҳисоби токенҳо

Токенҳои матн ё тамоми дархостро пеш аз фиристодан ҳисоб кунед.

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

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

Ҳарду endpoint бо токенайзери модели номбаршуда ҳисоб мекунанд ва ҳеҷ модел кор намекунад. Онҳо моделҳои open-weight-и хостшударо фаро мегиранд. /v1/tokenize матни оддӣ ё гуфтугӯи Chat Completions-ро мегирад. /v1/messages/count_tokens дархостро дар формати Anthropic Messages мегирад, ки даъвати SDK-и Anthropic ва Claude Code аст.

Ҳисоб кардан ройгон аст. Даъват калиди API-и шуморо талаб мекунад, аз баланси шумо чизе намегирад ва дар журнали истифодаи шумо пайдо намешавад.

Ҳисоби матн

model ва text-ро фиристед. Матн ҳамон тавр ҳисоб карда мешавад, бе форматкунии чат дар гирду атрофи он.

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 Ҷавоб
{
  "model": "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
  "tokens": 3
}

Рақамҳо дар ҷавобҳои ин саҳифа намуна мебошанд. Ҳамон матн дар модели дигар ҳисоби дигар медиҳад.

Ҳисоби дархости чат

model ва messages-ро фиристед, бо tools вақте ки дархост онҳоро дорад, дақиқан ҳамон тавр, ки ба /v1/chat/completions мефиристед. Ҷавоб андозаи тамоми вуруд аст.

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 Ҷавоб
{
  "model": "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
  "tokens": 164
}

Майдонҳои /v1/tokenize

Майдон Навъ Тавсиф
model string Ҳатмӣ. Id-и модели open-weight-и хостшуда. Ҳарфҳои калон ва хурд якхела ҳисоб мешаванд.
text string Матне, ки ҳамон тавр ҳисоб карда мешавад, бе форматкунии чат. То 4,000,000 байт. text ё messages-ро фиристед; вақте ки ҳарду ҳастанд, text ҳисоб карда мешавад.
messages array Паёмҳои чат дар формати Chat Completions. Онҳо ҳамчун вуруди пурраи дархост ҳисоб карда мешаванд: ҳар паём бо форматкуние, ки қолаби чати модел дар гирду атрофи он мегузорад.
tools array Таърифҳои абзорҳо барои дохил кардан ба ҳисоб. Якҷоя бо messages истифода мешавад.

Ҷавоб объекти JSON бо ин майдонҳост:

Майдон Навъ Тавсиф
model string Id-и моделе, ки ҳисоб барои он анҷом дода шуд, бо имлои нашршудаи он.
tokens integer Бо text: токенҳои матн. Бо messages: токенҳои тамоми вуруд, бо тасвирҳо.

Ҳисоби дархости Messages

Ҷисмеро фиристед, ки ба /v1/messages мефиристед: model, messages, ва system ва tools, вақте ки онҳоро истифода мебаред. SDK-ҳои расмии Anthropic ин endpoint-ро тавассути 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 Ҷавоб
{
  "input_tokens": 21
}

Майдонҳои /v1/messages/count_tokens

Майдон Навъ Тавсиф
model string Ҳатмӣ. Id-и модели open-weight-и хостшуда.
messages array Ҳатмӣ. Паёмҳо дар формати Anthropic Messages. Блокҳои text, image, tool_use ва tool_result ҳисоб карда мешаванд.
system string | array Prompt-и система: сатр ё массиви блокҳои матн.
tools array Таърифҳои абзорҳо бо name, description ва input_schema.

Барои мутобиқат қабул карда мешаванд, бе таъсир ба ҳисоб: tool_choice, max_tokens, temperature, top_p, stop_sequences, stream, thinking. Шумо метавонед ҷисми дархости воқеиро бетағйир диҳед.

Ҷавоб объекти JSON бо ин майдонҳост:

Майдон Навъ Тавсиф
input_tokens integer Токенҳои тамоми вуруд: prompt-и система, паёмҳо, абзорҳо ва тасвирҳо.

Моделҳои дастгиришаванда

Ҳарду endpoint барои моделҳои open-weight-и хостшуда ҳисоб мекунанд. GET /v1/models /v1/tokenize ва /v1/messages/count_tokens-ро дар endpoints-и ҳар моделе, ки онҳоро дастгирӣ мекунад, номбар мекунад. Ҳар қимати дигари model, аз ҷумла id-ҳои Shannon, бо 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

Барои модели Shannon, ҳисоби токенҳоро аз объекти usage-и ҷавоб бихонед.

Ҳисоб чӣ гуна анҷом дода мешавад

Ҳар модел бо токенайзери худ ва қолаби чати худ ҳисоб карда мешавад. Тахмин аз рӯи аломатҳо ё калимаҳо истифода намешавад.

Чӣ ҳисоб карда мешавад Қоида
Матн Токенҳои сатр ҳамон тавр, ки фиристода шудааст. Сатри холӣ 0 ҳисоб мешавад.
Паёмҳо Паёмҳо ва абзорҳо бо қолаби чати худи модел то нуқтае, ки ҷавоб оғоз мешавад, ҷойгир карда мешаванд ва тамоми ҳамин prompt ҳисоб карда мешавад.
Нақшҳо Паёмҳои system, user, assistant ва tool ҳисоб карда мешаванд. developer ҳамчун system ҳисоб мешавад. Паёме, ки мундариҷа ва даъвати абзор надорад, чизе илова намекунад.
Даъватҳои абзор ва натиҷаҳо Даъватҳои абзори навбатҳои қаблии ассистент ва натиҷаҳои онҳо дар ҳарду endpoint қисми ҳисоб мебошанд.
Тасвирҳо Тасвире, ки дар дохили ҷисм фиристода мешавад (base64 ё URL-и data:), барои ҳар порчаи 28 × 28 пиксел як токен илова мекунад: ceil(width / 28) × ceil(height / 28). Тасвире, ки ҳамчун URL-и http(s) дода мешавад, аз ҷониби ин endpointҳо боргирӣ намешавад ва 1,024 ҳисоб мешавад.

Мисол: тасвири 1,024 × 768 пиксел ceil(1024 / 28) × ceil(768 / 28) = 37 × 28 = 1,036 токен ҳисоб мешавад.

Ҳисоб ва он чи дархост ҳисоб карда мешавад

Ҳисоби дархости пурра ҳамон тавр анҷом дода мешавад, ки ҳисоби вуруди дархости воқеӣ бо ҳамон модел, паёмҳо ва абзорҳо. Ҷавоб ин рақамро ҳамчун usage.prompt_tokens дар Chat Completions, ҳамчун usage.input_tokens дар Responses ва ҳамчун usage.input_tokens ва usage.cache_read_input_tokens якҷоя дар Messages хабар медиҳад.

  • Ҳисоб вуруд пеш аз тахфифи вуруди кэшишуда аст. Дархости воқеӣ метавонад як қисми ин вурудро аз кэш бихонад ва ин қисмро бо нархи кэшишуда ҳисоб кунад. Кэшизатсозии prompt
  • Тасвире, ки ҳамчун URL-и http(s) дода мешавад, дар ин ҷо 1,024 ҳисоб мешавад. Дархости воқеӣ тасвирро боргирӣ мекунад ва онро аз рӯи андозаи пикселҳояш ҳисоб мекунад, бинобар ин ду рақам метавонанд фарқ кунанд. Барои гирифтани ҳамон рақам, тасвирро ҳамчун base64 фиристед.
  • Баромад қисми ҳисоб нест. Ҷавоби дархости воқеӣ ҳамчун токенҳои баромад иловатан ҳисоб карда мешавад, бо reasoning.
  • Ҳисоби text форматкунии чат надорад. Онро барои чен кардани ҳуҷҷат ё қисми prompt истифода баред, ва шакли messages-ро барои чен кардани дархост.

Барои табдили ҳисоб ба арзиш, онро ба нархи вуруди модел барои 1M токен зарб кунед. Моделҳо ва нархҳо

Ҳадҳо

Ҳад Қимат Болотар аз он
Дарозии text 4,000,000 байт (UTF-8) 413 бо паёми text too long
Ҷисми дархост 32 MiB 413
Барои ҳар дархост Як матн ё як гуфтугӯ Барои ҳисоби якчанд матн барои ҳар матн як дархост фиристед.

Даъватҳои ҳисобкунӣ ба ҳади 120 дархост дар як дақиқа дохил намешаванд. Маҳдудиятҳо ва баланс

Хатогиҳо

Ҳолат Навъ Паём Кай
400 invalid_request_error tokenize is available for the hosted open models; unknown model: <model> /v1/tokenize бо model, ки id-и open-weight-и хостшуда нест.
400 invalid_request_error count_tokens is available for the hosted open models; unknown model: <model> /v1/messages/count_tokens бо model, ки id-и open-weight-и хостшуда нест, ё бе model.
400 invalid_request_error send `text` or `messages` /v1/tokenize на бо text ва на бо messages.
401 authentication_error Missing authentication / Invalid API key Калид фиристода нашуд, ё калид эътибор надорад.
413 invalid_request_error text too long text аз 4,000,000 байт дарозтар аст. Ҷисми зиёда аз 32 MiB низ бо 413 ҷавоб дода мешавад.
415 invalid_request_error Expected request with `Content-Type: application/json` Дархост навъи мундариҷаи JSON надорад.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … Майдони ҳатмӣ намерасад (model дар /v1/tokenize, messages дар /v1/messages/count_tokens) ё майдон навъи нодуруст дорад.
503 api_error token counting is temporarily unavailable for this model Ҳисоб барои ин модел дар ин лаҳза имконнопазир аст. Баъдтар дубора кӯшиш кунед.

/v1/tokenize хатогиҳоро дар шакли OpenAI бармегардонад. Дар /v1/messages/count_tokens хатогиҳои худи endpoint (400 барои модел, 503) дар шакли Anthropic меоянд, ва 401, 413, 415 ва 422 дар шакли OpenAI. Аввал рамзи ҳолатро бихонед, баъд error.type ва error.message-ро, ки дар ҳарду шакл мавҷуданд.

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"
  }
}