Format Anthropic
POST /v1/messages jieħu talba fil-format Anthropic Messages u jwieġeb fl-istess format, bi streaming jew mingħajru. Uża dan mal-SDK Anthropic u ma' tools mibnija fuqu, bħal Claude Code: issettja l-base URL, uża ċ-ċavetta tal-API Shannon tiegħek u semmi id ta' mudell Shannon.
POST https://api.shannon-ai.com/v1/messages
Immira l-SDK Anthropic lejn il-base URL ta' Shannon. L-SDK iżid /v1/messages u jibgħat iċ-ċavetta tiegħek fl-header x-api-key.
import anthropic
client = anthropic.Anthropic(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com",
)
message = client.messages.create(
model="shannon-3",
max_tokens=1024,
messages=[{"role": "user", "content": "Say hello in one sentence."}],
)
for block in message.content:
if block.type == "text":
print(block.text) import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "YOUR_API_KEY",
baseURL: "https://api.shannon-ai.com",
});
const message = await client.messages.create({
model: "shannon-3",
max_tokens: 1024,
messages: [{ role: "user", content: "Say hello in one sentence." }],
});
for (const block of message.content) {
if (block.type === "text") console.log(block.text);
} curl https://api.shannon-ai.com/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
"model": "shannon-3",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Say hello in one sentence."}]
}' It-tweġiba hija messaġġ li l-content tiegħu huwa lista ta' blokok. Sib il-blokok skont it-type tagħhom: meta l-mudell irraġuna, l-ewwel blokk huwa thinking u t-test jiġi warajh.
{
"id": "msg_5f0c1e7a9b3d4c62a8e1f07d2b46c9a3",
"type": "message",
"role": "assistant",
"model": "shannon-3",
"content": [
{
"type": "thinking",
"thinking": "The user wants a greeting in one sentence. Keep it short and friendly."
},
{
"type": "text",
"text": "Hello, it is good to meet you."
}
],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 1184,
"output_tokens": 46
}
} Headers
| Header | Valur | Deskrizzjoni |
|---|---|---|
x-api-key | YOUR_API_KEY | Iċ-ċavetta tal-API tiegħek. Authorization: Bearer YOUR_API_KEY tiġi aċċettata minflokha. |
content-type | application/json | Meħtieġ. |
anthropic-version | 2023-06-01 | Aċċettat, mhux meħtieġ. L-SDK Anthropic jibgħat 2023-06-01; it-tweġiba għandha l-istess format kwalunkwe valur. |
anthropic-beta | Aċċettat, mhux meħtieġ. | |
x-request-id | Mhux obbligatorju. L-id tiegħek stess għat-talba. Jiġi lura mhux mibdul fit-tweġiba; mingħajru t-tweġiba ġġorr id ta' 12-il karattru eżadeċimali. |
Kampi tat-talba
Hemm bżonn biss ta' messages. Il-kolonna Applikat minn issemmi l-mudelli li fuqhom qasam ibiddel it-tweġiba. Il-mudelli open-weight ospitati huma tnax-il id tal-lista tal-mudelli; il-familja Shannon 3 hija shannon-3, shannon-3-pro, shannon-3.1 u shannon-3.1-pro. Mudelli u prezzijiet
| Qasam | Tip | Default | Deskrizzjoni | Applikat minn |
|---|---|---|---|---|
model | string | shannon-1.6-lite | Id ta' mudell Shannon mil-lista tal-mudelli. Ibgħatu ma' kull talba. It-tqabbil ma jiddistingwix bejn ittri kbar u żgħar. Kull isem ieħor jagħti lura 400 unknown model, għalhekk tool li jibgħat l-ismijiet tiegħu stess tal-mudelli jrid jiġi ssettjat b'id ta' Shannon. | Il-mudelli kollha |
messages | array | Meħtieġ. Il-konversazzjoni, bl-eqdem messaġġ l-ewwel, bir-rwoli user u assistant. Ara Messaġġi u blokok tal-kontenut hawn taħt. | Il-mudelli kollha | |
system | string | array | Struzzjonijiet għall-mudell: string, jew array ta' blokok tat-test. Ara System prompt hawn taħt. | Mudelli open-weight ospitati, shannon-1.6-*, shannon-2-*, shannon-coder-1 | |
max_tokens | integer | 4096 | Limitu massimu tat-tweġiba, f'tokens. Mhux obbligatorju fuq dan l-endpoint; l-SDK Anthropic dejjem jibgħatu. Valur barra minn 1 sa 65,536 jiġi mċaqlaq f'dak il-medda. Hija wkoll l-ammont li jitwarrab mill-bilanċ tiegħek waqt li t-talba tkun għaddejja. | Mudelli open-weight ospitati, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 |
stream | boolean | false | true jibgħat it-tweġiba bħala server-sent events. Ara Streaming hawn taħt. | Il-mudelli kollha |
temperature | number | Temperatura tas-sampling. Fuq il-mudelli open-weight ospitati l-valuri jinżammu bejn 0 u 2. | Mudelli open-weight ospitati, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
top_p | number | Nucleus sampling. | Mudelli open-weight ospitati | |
stop_sequences | array | Sa 4 strings. It-tweġiba tintemm qabel l-ewwel waħda li tidher. stop_reason jibqa' end_turn. | Mudelli open-weight ospitati | |
tools | array | It-tools li l-mudell jista' jsejjaħ, kull wieħed bħala {"name", "description", "input_schema"}. Ara Tools hawn taħt. | Il-mudelli kollha | |
tool_choice | object | {"type": "auto"} iħalli l-mudell jiddeċiedi, {"type": "any"} iġiegħlu jsejjaħ tool, {"type": "tool", "name": "…"} iġiegħlu jsejjaħ dak it-tool. | Mudelli open-weight ospitati | |
thinking | object | Kemm jirraġuna l-mudell qabel ma jwieġeb. Ara Thinking hawn taħt. | Mudelli open-weight ospitati | |
web_search | boolean | false | Żieda ta' Shannon mal-format: true iħalli l-mudell ifittex fuq il-web qabel ma jwieġeb. | shannon-1.6-*, shannon-2-*, familja Shannon 3 |
Mingħajr max_tokens il-valur huwa 4,096, u 65,536 fuq shannon-coder-1.
Il-markaturi metadata, top_k, service_tier u cache_control fuq il-blokok jiġu aċċettati sabiex il-kodiċi eżistenti tal-klijent jaħdem mingħajr bidla. Ma jbiddlux it-tweġiba; il-prompt caching fuq il-mudelli open-weight ospitati huwa awtomatiku.
Tweġiba JSON skont skema titlob b'response_format fuq Chat Completions u b'text.format fuq Responses. Outputs Strutturati
Talba b'system prompt u thinking
Din it-talba tibgħat system prompt, budget ta' thinking, temperatura u stop sequence. Tuża mudell open-weight ospitat, li japplika lil kollha.
import anthropic
client = anthropic.Anthropic(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com",
)
message = client.messages.create(
model="DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
max_tokens=4096,
system="You are a physics teacher. Answer in two sentences.",
thinking={"type": "enabled", "budget_tokens": 2048},
temperature=0.3,
stop_sequences=["\n\n"],
messages=[{"role": "user", "content": "Why is the sky blue?"}],
)
for block in message.content:
if block.type == "thinking":
print("reasoning:", block.thinking)
elif block.type == "text":
print("answer:", block.text)
print(message.usage) import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "YOUR_API_KEY",
baseURL: "https://api.shannon-ai.com",
});
const message = await client.messages.create({
model: "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
max_tokens: 4096,
system: "You are a physics teacher. Answer in two sentences.",
thinking: { type: "enabled", budget_tokens: 2048 },
temperature: 0.3,
stop_sequences: ["\n\n"],
messages: [{ role: "user", content: "Why is the sky blue?" }],
});
for (const block of message.content) {
if (block.type === "thinking") console.log("reasoning:", block.thinking);
if (block.type === "text") console.log("answer:", block.text);
}
console.log(message.usage); curl https://api.shannon-ai.com/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
"model": "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
"max_tokens": 4096,
"system": "You are a physics teacher. Answer in two sentences.",
"thinking": {"type": "enabled", "budget_tokens": 2048},
"temperature": 0.3,
"stop_sequences": ["\n\n"],
"messages": [{"role": "user", "content": "Why is the sky blue?"}]
}' Fuq il-mudelli open-weight ospitati usage jirrapporta t-tokens moqrija mill-prompt cache separatament mill-input tokens l-oħra.
{
"usage": {
"input_tokens": 31,
"cache_read_input_tokens": 0,
"cache_creation_input_tokens": 0,
"output_tokens": 62
}
} System prompt
system huwa string, jew array ta' blokok tat-test fil-forma [{"type": "text", "text": "…"}]. It-testi tal-blokok jingħaqdu b'qasma tal-linja.
Jiġi applikat mill-mudelli open-weight ospitati, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro u shannon-coder-1. B'id tal-familja Shannon 3, poġġi fil-messaġġ tal-utent l-istruzzjonijiet li jridu jinżammu.
Messaġġi u blokok tal-kontenut
Messaġġ għandu role, user jew assistant, u content. content huwa string, jew array ta' blokok.
| Blokk | Deskrizzjoni | Disponibbli fuq |
|---|---|---|
{"type": "text", "text": "…"} | Test. | Il-mudelli kollha |
{"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": "…"}}{"type": "image", "source": {"type": "url", "url": "…"}} | Immaġni f'messaġġ user, bħala base64 jew permezz ta' URL. | Familja Shannon 3, shannon-1.6-lite, shannon-1.6-pro, u l-mudelli open-weight ospitati li jelenkaw input ta' immaġni |
{"type": "document", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} | Dokument (PDF, Word, PowerPoint jew Excel) f'messaġġ user, bħala base64 jew permezz ta' URL. | Familja Shannon 3 |
{"type": "tool_use", "id": "toolu_…", "name": "…", "input": {…}} | F'messaġġ assistant: sejħa ta' tool li l-mudell għamel f'tweġiba preċedenti. | Il-mudelli kollha |
{"type": "tool_result", "tool_use_id": "toolu_…", "content": "…"} | F'messaġġ user: ir-riżultat ta' dik is-sejħa. content huwa string, jew lista ta' blokok tat-test. | Il-mudelli kollha |
Tista' tibgħat lura l-content ta' tweġiba preċedenti kif inhu: il-blokok text u tool_use jinqraw, il-blokok thinking jitqabżu.
Fuq il-livelli Shannon, l-immaġini u d-dokumenti jinqraw mill-aħħar messaġġ user. Id-daqsijiet u l-limiti għandhom paġna tagħhom. Immaġini u fajls
Thinking
Il-mudelli open-weight ospitati jimmappjaw thinking għal sforz ta' raġunament. Mingħajr il-qasam l-isforz huwa għoli.
| Forma | budget_tokens | Effett |
|---|---|---|
{"type": "disabled"} | Ebda raġunament. It-tweġiba m'għandha ebda blokk thinking. | |
{"type": "enabled", "budget_tokens": 2048} | ≤ 2,048 | Sforz baxx. |
{"type": "enabled", "budget_tokens": 8192} | ≤ 8,192 | Sforz medju. |
{"type": "enabled", "budget_tokens": 16000} | > 8,192 | Sforz għoli. |
Mudell li jirraġuna jagħti lura r-raġunament tiegħu bħala blokk {"type": "thinking", "thinking": "…"} quddiem it-test. Il-livelli Shannon li jirraġunaw jibagħtuh ukoll.
L-isforzi huma deskritti f'paġna tagħhom. Sforz ta' raġunament
Tools
Tool huwa funzjoni li l-kodiċi tiegħek iħaddem. Iddeskrivi kull wieħed b'name, description u input_schema. Meta l-mudell irid tool, it-tweġiba fiha blokk tool_use u stop_reason huwa tool_use.
Definizzjoni ta' tool f'tools:
[
{
"name": "get_weather",
"description": "Current weather for a city.",
"input_schema": {
"type": "object",
"properties": {
"city": {
"type": "string"
}
},
"required": [
"city"
]
}
}
] Il-content ta' tweġiba li ssejjaħ it-tool:
[
{
"type": "text",
"text": ""
},
{
"type": "tool_use",
"id": "toolu_3d9a7c1e5b2f4a60c8e1d7f09b24a6c5",
"name": "get_weather",
"input": {
"city": "Paris"
}
}
] Mexxi t-tool, imbagħad ibgħat it-talba mill-ġdid bis-sejħa u blokk tool_result miżjud ma' messages:
[
{
"role": "user",
"content": "What is the weather in Paris?"
},
{
"role": "assistant",
"content": [
{
"type": "tool_use",
"id": "toolu_3d9a7c1e5b2f4a60c8e1d7f09b24a6c5",
"name": "get_weather",
"input": {
"city": "Paris"
}
}
]
},
{
"role": "user",
"content": [
{
"type": "tool_result",
"tool_use_id": "toolu_3d9a7c1e5b2f4a60c8e1d7f09b24a6c5",
"content": "{\"temperature_c\": 18, \"sky\": \"cloudy\"}"
}
]
}
] tool_choice
| Forma | Effett | Applikat minn |
|---|---|---|
{"type": "auto"} | Il-mudell jiddeċiedi jekk isejjaħx tool. Dan huwa d-default. | Il-mudelli kollha |
{"type": "any"} | Il-mudell irid isejjaħ wieħed mit-tools. | Mudelli open-weight ospitati |
{"type": "tool", "name": "…"} | Il-mudell irid isejjaħ it-tool imsemmi. | Mudelli open-weight ospitati |
Jinqraw biss tools b'input_schema. Il-fittxija fuq il-web mhijiex tool fuq dan l-endpoint: issettja l-qasam web_search.
Il-linja tat-tools hija deskritta bis-sħiħ f'paġna tagħha. Sejħiet ta' Funzjonijiet
It-tweġiba
| Qasam | Tip | Deskrizzjoni | Mibgħut minn |
|---|---|---|---|
id | string | msg_ segwit minn 32 karattru eżadeċimali. | Il-mudelli kollha |
type | string | Dejjem message. | Il-mudelli kollha |
role | string | Dejjem assistant. | Il-mudelli kollha |
model | string | L-id kanoniku tal-mudell li wieġeb. | Il-mudelli kollha |
content | array | Il-blokok tat-tweġiba, f'dan l-ordni: thinking meta l-mudell irraġuna, text, imbagħad tool_use wieħed għal kull sejħa ta' tool. | Il-mudelli kollha |
stop_reason | string | Għaliex intemmet it-tweġiba. Ara l-valuri hawn taħt. | Il-mudelli kollha |
usage | object | input_tokens u output_tokens. | Il-mudelli kollha |
sources | array | Biss fuq talba b'web_search: true li t-tiftix tagħha sab xi ħaġa: ir-riżultati mogħtija lill-mudell, kull wieħed b'index, title u url. [1] fit-tweġiba huwa d-daħla b'index 1. F'stream jiġi mal-avveniment message_delta. | shannon-1.6-*, shannon-2-*, familja Shannon 3 |
usage.cache_read_input_tokens | integer | cache_read_input_tokens hija l-parti tal-prompt moqrija mill-cache; input_tokens huwa l-bqija. cache_creation_input_tokens hija dejjem 0. | Mudelli open-weight ospitati |
Blokok tat-tweġiba
| Blokk | Deskrizzjoni |
|---|---|
{"type": "thinking", "thinking": "…"} | Ir-raġunament tal-mudell. M'hemm ebda membru signature. |
{"type": "text", "text": "…"} | It-test tat-tweġiba. Jista' jkun vojt meta t-tweġiba hija sejħa ta' tool. |
{"type": "tool_use", "id": "toolu_…", "name": "…", "input": {…}} | Sejħa ta' tool. input huwa oġġett JSON. Ibgħat ir-riżultat lura bl-istess id. |
stop_reason
| stop_reason | Deskrizzjoni | Mibgħut minn |
|---|---|---|
end_turn | Il-mudell spiċċa t-tweġiba tiegħu, jew deher wieħed mill-stop_sequences tiegħek. | Il-mudelli kollha |
tool_use | It-tweġiba fiha sejħa waħda jew aktar ta' tools. | Il-mudelli kollha |
max_tokens | It-tweġiba nqatgħet fil-limitu tal-output. | Familja Shannon 3, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1, fl-istreams |
Streaming
Issettja stream għal true għal server-sent events. Kull frame għandu linja event: bl-isem tal-avveniment u linja data: b'oġġett JSON li jirrepeti l-isem f'type. L-helpers tal-istream tal-SDK Anthropic jaqraw dawn l-avvenimenti għalik:
import anthropic
client = anthropic.Anthropic(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com",
)
with client.messages.stream(
model="shannon-3",
max_tokens=1024,
messages=[{"role": "user", "content": "Explain server-sent events in three sentences."}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
message = stream.get_final_message()
print()
print(message.stop_reason, message.usage) import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "YOUR_API_KEY",
baseURL: "https://api.shannon-ai.com",
});
const stream = client.messages.stream({
model: "shannon-3",
max_tokens: 1024,
messages: [{ role: "user", content: "Explain server-sent events in three sentences." }],
});
stream.on("text", (text) => process.stdout.write(text));
const message = await stream.finalMessage();
console.log("\n", message.stop_reason, message.usage); curl -N https://api.shannon-ai.com/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
"model": "shannon-3",
"max_tokens": 1024,
"stream": true,
"messages": [{"role": "user", "content": "Explain server-sent events in three sentences."}]
}' L-avvenimenti, skont l-ordni li fiha jaslu:
| Avveniment | Dejta | Meta |
|---|---|---|
message_start | message | Dejjem l-ewwel. message fih l-id, ir-rwol, il-mudell, content vojt u usage li jibda minn żero. |
content_block_start | index, content_block | Blokk jinfetaħ. content_block huwa blokk text jew thinking vojt, jew blokk tool_use bl-id u l-name tiegħu. |
content_block_delta | index, delta {"type": "thinking_delta", "thinking"} | Biċċa mir-raġunament, għal blokk thinking. |
content_block_delta | index, delta {"type": "text_delta", "text"} | Biċċa mit-tweġiba, għal blokk text. |
content_block_delta | index, delta {"type": "input_json_delta", "partial_json"} | L-argumenti ta' sejħa ta' tool, sħaħ f'delta waħda, għal blokk tool_use. |
content_block_stop | index | Il-blokk b'dan l-index itlesta. |
message_delta | delta {stop_reason, stop_sequence}, usage | It-tmiem tat-tweġiba: delta.stop_reason, u l-usage tat-talba. |
message_stop | Dejjem l-aħħar. |
Il-blokok huma mnumerati b'index skont l-ordni li fiha jinfetħu, u blokk wieħed jitlesta qabel ma jinfetaħ li jmiss. Aqra kull blokk skont it-tip tiegħu, mhux skont in-numru tiegħu: stream jista' jiftaħ l-ewwel blokk text vojt, imbagħad il-blokk thinking, u jwassal it-tweġiba f'blokk text aktar tard.
event: message_start
data: {"type":"message_start","message":{"id":"msg_5f0c…","type":"message","role":"assistant","model":"shannon-3","content":[],"usage":{"input_tokens":0,"output_tokens":0}}}
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
event: content_block_stop
data: {"type":"content_block_stop","index":0}
event: content_block_start
data: {"type":"content_block_start","index":1,"content_block":{"type":"thinking","thinking":""}}
event: content_block_delta
data: {"type":"content_block_delta","index":1,"delta":{"type":"thinking_delta","thinking":"Three sentences: what it is, how it is framed, why it is used."}}
event: ping
data: {"type": "ping"}
event: content_block_stop
data: {"type":"content_block_stop","index":1}
event: content_block_start
data: {"type":"content_block_start","index":2,"content_block":{"type":"text","text":""}}
event: content_block_delta
data: {"type":"content_block_delta","index":2,"delta":{"type":"text_delta","text":"Server-sent events let a server push text over one HTTP reply."}}
event: content_block_stop
data: {"type":"content_block_stop","index":2}
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":1190,"output_tokens":84}}
event: message_stop
data: {"type":"message_stop"} Keep-alive
| Mibgħut minn | Deskrizzjoni |
|---|---|
Familja Shannon 3, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | Avveniment ping bid-dejta {"type": "ping"}, kull 15-il sekonda. |
| Mudelli open-weight ospitati | Linja ta' kumment : keepalive, kull 15-il sekonda waqt li l-mudell jaħdem. |
Stream li jfalli
Falliment wara li jkun beda l-istream huwa avveniment error bl-istess body bħal tweġiba ta' żball: {"type": "error", "error": {"type", "message"}}. L-avvenimenti tal-għeluq, message_delta u message_stop, xorta jiġu warajh. Qis it-tweġiba bħala fallita u ibgħat it-talba mill-ġdid.
Żbalji
L-iżbalji jużaw il-body tal-iżball ta' Anthropic: type huwa error, u l-oġġett error fih type u message. It-tabella telenka dak li dan l-endpoint jagħti lura l-aktar spiss. Il-lista kompluta, b'dak li għandu jerġa' jiġi pprovat, għandha paġna tagħha. Ġestjoni tal-iżbalji
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: no-such-model"
}
} | Status | Tip | Messaġġ | Meta |
|---|---|---|---|
401 | authentication_error | Missing authenticationInvalid API key | Ma nbagħtitx ċavetta tal-API, jew iċ-ċavetta mhijiex magħrufa jew ġiet irrevokata. |
400 | invalid_request_error | unknown model: <id> | model mhuwiex id ta' mudell Shannon. |
400 | invalid_request_error | No user message provided | Livelli Shannon: it-talba m'għandha ebda test ta' utent u ebda tools. |
400 | invalid_request_error | <id> does not accept image input | Immaġni nbagħtet lil mudell open-weight ospitat mingħajr input ta' immaġni. |
422 | invalid_request_error | Failed to deserialize the JSON body into the target type: … | messages nieqes, jew qasam għandu tip JSON ħażin. |
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | max_tokens huwa akbar minn dak li fadal mill-bilanċ tiegħek. |
429 | rate_limit_error | Too many requests. Retry in <n>s. | Protezzjoni mill-flood: aktar minn 120 talba f'minuta waħda fuq il-kont tiegħek. |
429 | rate_limit_error | Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan | shannon-coder-1: is-sejħiet ta' Shannon Coder tal-pjan tiegħek għat-tieqa attwali ta' 4 sigħat intużaw. |
500 | server_error | The model backend failed to answer. Please retry. | Il-mudell ma pproduċiex tweġiba. Ibgħat it-talba mill-ġdid. |
502 | api_error | The model backend failed to answer. Please retry. | Il-mudell ma pproduċiex tweġiba. Ibgħat it-talba mill-ġdid. |
Għadd ta' tokens
POST /v1/messages/count_tokens jieħu l-istess body ta' talba ta' messaġġ (model, system, messages, tools) u jagħti lura {"input_tokens": n}: in-numru ta' input tokens li titħallas għalihom it-talba. Jgħodd għall-mudelli open-weight ospitati, huwa b'xejn u ma jingħadx mill-protezzjoni mill-flood.
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 physics teacher. Answer in two sentences.",
messages=[{"role": "user", "content": "Why is the sky blue?"}],
)
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 physics teacher. Answer in two sentences.",
messages: [{ role: "user", content: "Why is the sky blue?" }],
});
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 physics teacher. Answer in two sentences.",
"messages": [{"role": "user", "content": "Why is the sky blue?"}]
}'
# {"input_tokens": 31} L-għadd għandu paġna tiegħu, bl-endpoint tat-test sempliċi u l-limiti. Għadd ta' tokens