Comhaireamh token
Comhair tokens téacs nó iarratais iomláin sula seolann tú é.
POST https://api.shannon-ai.com/v1/tokenize
POST https://api.shannon-ai.com/v1/messages/count_tokens
Comhairtear leis an tokenizer den mhúnla a ainmníonn tú ar an dá chríochphointe, agus ní rith aon mhúnla. Clúdaíonn siad na múnlaí open-weight óstáilte. Glacann /v1/tokenize le gnáth-théacs nó le comhrá Chat Completions. Glacann /v1/messages/count_tokens le hiarratas i bhformáid Anthropic Messages, an glao a dhéanann an SDK Anthropic agus Claude Code.
Tá comhaireamh saor in aisce. Teastaíonn d'eochair API do ghlao, ní thógann sé faic as d'iarmhéid agus ní bhíonn sé le feiceáil i do log úsáide.
Téacs a chomhaireamh
Seol model agus text. Comhairtear an téacs mar atá, gan aon fhormáidiú comhrá timpeall air.
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"]) const response = await fetch("https://api.shannon-ai.com/v1/tokenize", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
text: "Hello, world",
}),
});
const { tokens } = await response.json();
console.log(tokens); curl https://api.shannon-ai.com/v1/tokenize \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
"text": "Hello, world"
}' {
"model": "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
"tokens": 3
} Samplaí iad na huimhreacha sna freagraí ar an leathanach seo. Tugann an téacs céanna comhaireamh difriúil ar mhúnla difriúil.
Iarratas comhrá a chomhaireamh
Seol model agus messages, le tools nuair a bhíonn siad ar an iarratas, díreach mar a sheolfá chuig /v1/chat/completions iad. Is é an freagra méid an ionchuir iomláin.
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"]) const 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"],
},
},
},
],
};
const response = await fetch("https://api.shannon-ai.com/v1/tokenize", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify(request),
});
const { tokens } = await response.json();
console.log(tokens); curl https://api.shannon-ai.com/v1/tokenize \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"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"]
}
}
}
]
}' {
"model": "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
"tokens": 164
} Réimsí de /v1/tokenize
| Réimse | Cineál | Cur síos |
|---|---|---|
model | string | Riachtanach. Id múnla open-weight óstáilte. Ní dhéantar idirdhealú idir litreacha móra agus beaga. |
text | string | Téacs le comhaireamh mar atá, gan aon fhormáidiú comhrá. Suas le 4,000,000 bytes. Seol text nó messages; nuair a bhíonn an dá cheann ann, comhairtear text. |
messages | array | Teachtaireachtaí comhrá i bhformáid Chat Completions. Comhairtear iad mar ionchur iomlán iarratais: gach teachtaireacht leis an bhformáidiú a chuireann teimpléad comhrá an mhúnla timpeall uirthi. |
tools | array | Sainmhínithe uirlisí le cur sa chomhaireamh. Úsáidtear iad in éineacht le messages. |
Is réad JSON é an freagra leis na réimsí seo:
| Réimse | Cineál | Cur síos |
|---|---|---|
model | string | Id an mhúnla a ndearnadh an comhaireamh dó, ina litriú foilsithe. |
tokens | integer | Le text: tokens an téacs. Le messages: tokens an ionchuir iomláin, íomhánna san áireamh. |
Iarratas Messages a chomhaireamh
Seol an corp a sheolfá chuig /v1/messages: model, messages, agus system agus tools nuair a úsáideann tú iad. Glaonn SDKanna oifigiúla Anthropic ar an gcríochphointe seo trí 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) import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "YOUR_API_KEY",
baseURL: "https://api.shannon-ai.com",
});
const count = await client.messages.countTokens({
model: "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
system: "You are a concise assistant.",
messages: [
{ role: "user", content: "Summarise the attached report." },
],
});
console.log(count.input_tokens); curl https://api.shannon-ai.com/v1/messages/count_tokens \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
"system": "You are a concise assistant.",
"messages": [
{"role": "user", "content": "Summarise the attached report."}
]
}' {
"input_tokens": 21
} Réimsí de /v1/messages/count_tokens
| Réimse | Cineál | Cur síos |
|---|---|---|
model | string | Riachtanach. Id múnla open-weight óstáilte. |
messages | array | Riachtanach. Teachtaireachtaí i bhformáid Anthropic Messages. Comhairtear bloic text, image, tool_use agus tool_result. |
system | string | array | An prompt córais: sreang nó eagar bloc téacs. |
tools | array | Sainmhínithe uirlisí le name, description agus input_schema. |
Glactar leo ar mhaithe le comhoiriúnacht, gan aon éifeacht ar an gcomhaireamh: tool_choice, max_tokens, temperature, top_p, stop_sequences, stream, thinking. Is féidir leat corp iarratais fhíor a chur ar aghaidh gan athrú.
Is réad JSON é an freagra leis na réimsí seo:
| Réimse | Cineál | Cur síos |
|---|---|---|
input_tokens | integer | Tokens an ionchuir iomláin: prompt córais, teachtaireachtaí, uirlisí agus íomhánna. |
Múnlaí a dtacaítear leo
Comhairtear ar an dá chríochphointe do na múnlaí open-weight óstáilte. Liostaíonn GET /v1/models /v1/tokenize agus /v1/messages/count_tokens in endpoints gach múnla a thacaíonn leo. Freagraítear aon luach eile model, ids Shannon san áireamh, le 400.
DeepSeek-V4-Pro-0813-3BIT-REAPGLM-5.2-3BIT-REAPKimi-K3-3BIT-REAPNemotron3Ultra-3BIT-REAPMiniMax-M3-3BIT-REAPDeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAPKimi-K2.6-W4A16-AUTOROUND-REAPLaguna-S-2.1-W4A16-AUTOROUND-REAPinkling-W4A16-AUTOROUND-REAPMiMo-V2.5-Pro-W8A16MiMo-V2.5-W8A16Hy3-W8A16
Do mhúnla Shannon, léigh na comhaireamh token ó réad usage freagra.
Conas a dhéantar an comhaireamh
Comhairtear gach múnla lena thokenizer féin agus lena theimpléad comhrá féin. Ní úsáidtear aon mheastachán ó charachtair ná ó fhocail.
| An rud a chomhairtear | Riail |
|---|---|
| Téacs | Tokens na sreinge mar a seoladh í. Comhairtear sreang fholamh mar 0. |
| Teachtaireachtaí | Leagtar amach na teachtaireachtaí agus na huirlisí le teimpléad comhrá an mhúnla féin, go dtí an pointe ina dtosaíonn an freagra, agus comhairtear an prompt iomlán sin. |
| Róil | Comhairtear teachtaireachtaí system, user, assistant agus tool. Comhairtear developer mar system. Ní chuireann teachtaireacht gan ábhar agus gan glao uirlise faic leis. |
| Glaonna uirlisí agus torthaí | Is cuid den chomhaireamh iad glaonna uirlisí chasadh an chúntóra roimhe seo agus a dtorthaí, ar an dá chríochphointe. |
| Íomhánna | Cuireann íomhá a sheoltar laistigh den chorp (base64 nó URL data:) token amháin leis in aghaidh gach paiste 28 × 28 picteilín: ceil(width / 28) × ceil(height / 28). Ní íoslódálann na críochphointí seo íomhá a tugadh mar URL http(s), agus áirítear í mar 1,024. |
Sampla: comhairtear íomhá 1,024 × 768 picteilín mar ceil(1024 / 28) × ceil(768 / 28) = 37 × 28 = 1,036 token.
An comhaireamh agus an méid a mhuirearaítear ar iarratas
Déantar comhaireamh iarratais iomláin ar an gcaoi chéanna le comhaireamh ionchuir iarratais fhíor leis an múnla, na teachtaireachtaí agus na huirlisí céanna. Tuairiscíonn freagra an uimhir sin mar usage.prompt_tokens ar Chat Completions, mar usage.input_tokens ar Responses, agus mar usage.input_tokens móide usage.cache_read_input_tokens ar Messages.
- Is é an comhaireamh an t-ionchur roimh lascaine an ionchuir taiscthe. Is féidir le hiarratas fíor cuid den ionchur sin a léamh ón taisce agus an chuid sin a bhilleáil ar an ráta taiscthe. Cacháil prompt
- Áirítear íomhá a tugadh mar URL
http(s)mar 1,024 anseo. Íoslódálann iarratas fíor an íomhá agus áireamhann sé í óna méid i bpicteilíní, mar sin is féidir leis an dá uimhir a bheith difriúil. Seol an íomhá mar base64 chun an uimhir chéanna a fháil. - Ní chuid den chomhaireamh é an t-aschur. Billeáiltear freagra iarratais fhíor mar thokens aschuir air sin, réasúnaíocht san áireamh.
- Níl aon fhormáidiú comhrá ag comhaireamh
text. Úsáid é chun doiciméad nó cuid de prompt a thomhas, agus an fhoirmmessageschun iarratas a thomhas.
Chun comhaireamh a iompú ina chostas, iolraigh é le praghas ionchuir an mhúnla in aghaidh gach 1M token. Múnlaí agus praghsáil
Teorainneacha
| Teorainn | Luach | Os a chionn |
|---|---|---|
Fad text | 4,000,000 bytes (UTF-8) | 413 leis an teachtaireacht text too long |
| Corp an iarratais | 32 MiB | 413 |
| In aghaidh an iarratais | Téacs amháin nó comhrá amháin | Seol iarratas amháin in aghaidh gach téacs chun roinnt téacsanna a chomhaireamh. |
Ní áirítear glaonna comhaireamh i dteorainn 120 iarratas in aghaidh an nóiméid. Teorainneacha agus iarmhéid
Earráidí
| Stádas | Cineál | Teachtaireacht | Cathain |
|---|---|---|---|
400 | invalid_request_error | tokenize is available for the hosted open models; unknown model: <model> | /v1/tokenize le model nach id múnla open-weight óstáilte é. |
400 | invalid_request_error | count_tokens is available for the hosted open models; unknown model: <model> | /v1/messages/count_tokens le model nach id múnla open-weight óstáilte é, nó gan model. |
400 | invalid_request_error | send `text` or `messages` | /v1/tokenize gan text ná messages. |
401 | authentication_error | Missing authentication / Invalid API key | Níor seoladh aon eochair, nó níl an eochair bailí. |
413 | invalid_request_error | text too long | Tá text níos faide ná 4,000,000 bytes. Freagraítear corp os cionn 32 MiB le 413 freisin. |
415 | invalid_request_error | Expected request with `Content-Type: application/json` | Níl aon chineál ábhair JSON ar an iarratas. |
422 | invalid_request_error | Failed to deserialize the JSON body into the target type: … | Tá réimse riachtanach ar iarraidh (model ar /v1/tokenize, messages ar /v1/messages/count_tokens) nó tá cineál mícheart ar réimse. |
503 | api_error | token counting is temporarily unavailable for this model | Ní féidir an comhaireamh a dhéanamh don mhúnla seo faoi láthair. Bain triail eile as níos déanaí. |
Filleann /v1/tokenize earráidí i gcruth OpenAI. Ar /v1/messages/count_tokens tagann earráidí an chríochphointe féin (400 don mhúnla, 503) i gcruth Anthropic, agus tagann 401, 413, 415 agus 422 i gcruth OpenAI. Léigh an cód stádais ar dtús, ansin error.type agus error.message, atá i láthair sa dá chruth.
{
"error": {
"type": "invalid_request_error",
"message": "tokenize is available for the hosted open models; unknown model: shannon-3"
}
} {
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "count_tokens is available for the hosted open models; unknown model: shannon-3"
}
}