Anthropic
POST /v1/messages нь Anthropic Messages форматтай хүсэлт хүлээн авч, streaming-тэй ч, үгүй ч ижил форматаар хариулна. Үүнийг Anthropic SDK болон түүн дээр суурилсан Claude Code зэрэг хэрэгсэлтэй хамт ашиглана: base URL-ийг тохируулж, өөрийн Shannon API түлхүүрийг ашиглан Shannon загварын id-г заана.
POST https://api.shannon-ai.com/v1/messages
Anthropic SDK-аа Shannon-ы base URL руу чиглүүлнэ үү. SDK /v1/messages-ийг нэмж, таны түлхүүрийг x-api-key header-ээр илгээнэ.
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."}]
}' Хариулт нь content нь блокуудын жагсаалт болсон мессеж юм. Блокуудыг type-аар нь олно: загвар reasoning хийсэн бол эхний блок thinking, текст нь түүний дараа ирнэ.
{
"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
}
} Header-ууд
| Header | Утга | Тайлбар |
|---|---|---|
x-api-key | YOUR_API_KEY | Таны API түлхүүр. Үүний оронд Authorization: Bearer YOUR_API_KEY хүлээн зөвшөөрөгдөнө. |
content-type | application/json | Заавал. |
anthropic-version | 2023-06-01 | Хүлээн авна, заавал биш. Anthropic SDK 2023-06-01 илгээдэг; утга ямар ч байсан хариултын формат адил. |
anthropic-beta | Хүлээн авна, заавал биш. | |
x-request-id | Заавал биш. Хүсэлтийн таны өөрийн id. Хариулт дээр хэвээр буцаж ирнэ; үгүй бол хариулт 12 арвантын тэмдэгттэй id авна. |
Хүсэлтийн талбарууд
Зөвхөн messages заавал шаардлагатай. Хэрэгжүүлэгч багана нь талбар хариултыг өөрчилдөг загваруудыг нэрлэнэ. Hosted open-weight загварууд нь загварын жагсаалтын арван хоёр id; Shannon 3 гэр бүл нь shannon-3, shannon-3-pro, shannon-3.1 болон shannon-3.1-pro. Загвар ба үнэ
| Талбар | Төрөл | Үндсэн утга | Тайлбар | Хэрэгжүүлэгч |
|---|---|---|---|---|
model | string | shannon-1.6-lite | Загварын жагсаалтаас Shannon загварын id. Хүсэлт бүртэй хамт илгээнэ. Том жижиг үсгийг ялгахгүй. Өөр ямар ч нэр 400 unknown model буцаана, тиймээс өөрийн загварын нэр илгээдэг хэрэгслийг Shannon id-д тохируулах хэрэгтэй. | Бүх загвар |
messages | array | Заавал. Харилцан яриа, хамгийн эхний мессеж нь эхэнд, user болон assistant үүрэгтэй. Доорх Мессеж ба content блок хэсгийг үзнэ үү. | Бүх загвар | |
system | string | array | Загварт өгөх зааварчилгаа: string эсвэл текст блокуудын массив. Доорх System prompt хэсгийг үзнэ үү. | Hosted open-weight загварууд, shannon-1.6-*, shannon-2-*, shannon-coder-1 | |
max_tokens | integer | 4096 | Хариултын дээд хязгаар, токеноор. Энэ endpoint дээр заавал биш; Anthropic SDK үргэлж илгээдэг. 1-ээс 65,536-ийн гаднах утгыг тэр мужид оруулна. Мөн хүсэлт ажиллаж байх хугацаанд таны үлдэгдлээс нөөцлөгдөх хэмжээ юм. | Hosted open-weight загварууд, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 |
stream | boolean | false | true нь хариултыг server-sent events хэлбэрээр илгээнэ. Доорх Streaming хэсгийг үзнэ үү. | Бүх загвар |
temperature | number | Sampling temperature. Hosted open-weight загварууд дээр утгыг 0-ээс 2-ын хооронд барина. | Hosted open-weight загварууд, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
top_p | number | Nucleus sampling. | Hosted open-weight загварууд | |
stop_sequences | array | 4 хүртэлх string. Хариулт эхэнд нь гарсан эхний string-ээс өмнө дуусна. stop_reason нь end_turn хэвээр байна. | Hosted open-weight загварууд | |
tools | array | Загварын дуудаж болох tool-ууд, тус бүр {"name", "description", "input_schema"} хэлбэртэй. Доорх Tools хэсгийг үзнэ үү. | Бүх загвар | |
tool_choice | object | {"type": "auto"} загвар өөрөө шийднэ, {"type": "any"} tool заавал дуудуулна, {"type": "tool", "name": "…"} тухайн tool-ийг дуудуулна. | Hosted open-weight загварууд | |
thinking | object | Загвар хариулахаасаа өмнө хэр их reasoning хийхийг заана. Доорх Thinking хэсгийг үзнэ үү. | Hosted open-weight загварууд | |
web_search | boolean | false | Форматад Shannon-ы нэмсэн зүйл: true нь загварт хариулахаасаа өмнө вэбээс хайхыг зөвшөөрнө. | shannon-1.6-*, shannon-2-*, Shannon 3 гэр бүл |
max_tokens-гүй бол утга нь 4,096, shannon-coder-1 дээр 65,536.
Блок дээрх metadata, top_k, service_tier болон cache_control тэмдэглэгээг зөвшөөрдөг тул одоо байгаа клиент код өөрчлөлтгүй ажиллана. Эдгээр нь хариултыг өөрчлөхгүй; hosted open-weight загварууд дээр prompt кэшлэл автомат.
Schema-ийн дагуух JSON хариултыг Chat Completions дээр response_format-аар, Responses дээр text.format-аар хүснэ. Бүтэцтэй гаралт
System prompt болон thinking-тэй хүсэлт
Энэ хүсэлт system prompt, thinking budget, temperature болон stop sequence илгээнэ. Бүгдийг хэрэгжүүлдэг hosted open-weight загварыг ашиглана.
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?"}]
}' Hosted open-weight загваруудад usage нь prompt кэшээс уншсан токенуудыг бусад оролтын токенуудаас тусад нь мэдээлнэ.
{
"usage": {
"input_tokens": 31,
"cache_read_input_tokens": 0,
"cache_creation_input_tokens": 0,
"output_tokens": 62
}
} System prompt
system нь string, эсвэл [{"type": "text", "text": "…"}] хэлбэрийн текст блокуудын массив. Блокуудын текстийг мөр таслалтаар залгана.
Үүнийг hosted open-weight загварууд, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro болон shannon-coder-1 хэрэгжүүлнэ. Shannon 3 гэр бүлийн id-тай бол заавал мөрдөх зааврыг хэрэглэгчийн мессежид оруулна уу.
Мессеж ба content блокууд
Мессеж нь role (user эсвэл assistant) болон content-той. content нь string эсвэл блокуудын массив байна.
| Блок | Тайлбар | Боломжтой загвар |
|---|---|---|
{"type": "text", "text": "…"} | Текст. | Бүх загвар |
{"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": "…"}}{"type": "image", "source": {"type": "url", "url": "…"}} | user мессеж доторх зураг, base64 эсвэл URL-аар. | Shannon 3 гэр бүл, shannon-1.6-lite, shannon-1.6-pro, мөн зураг оролтыг дэмждэг hosted open-weight загварууд |
{"type": "document", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} | user мессеж доторх баримт (PDF, Word, PowerPoint эсвэл Excel), base64 эсвэл URL-аар. | Shannon 3 гэр бүл |
{"type": "tool_use", "id": "toolu_…", "name": "…", "input": {…}} | assistant мессеж дотор: загварын өмнөх хариулт дахь tool дуудлага. | Бүх загвар |
{"type": "tool_result", "tool_use_id": "toolu_…", "content": "…"} | user мессеж дотор: тухайн дуудлагын үр дүн. content нь string эсвэл текст блокуудын жагсаалт байна. | Бүх загвар |
Өмнөх хариултын content-ыг яг хэвээр нь буцааж илгээж болно: text болон tool_use блокуудыг уншиж, thinking блокуудыг алгасана.
Shannon түвшингүүдэд зураг болон баримтыг сүүлийн user мессежээс уншина. Хэмжээ, хязгаар нь тусдаа хуудастай. Зураг ба файл
Thinking
Hosted open-weight загварууд thinking-ийг reasoning effort-тэй харгалзуулдаг. Талбаргүй бол effort өндөр байна.
| Хэлбэр | budget_tokens | Үр нөлөө |
|---|---|---|
{"type": "disabled"} | Reasoning байхгүй. Хариултад thinking блок байхгүй. | |
{"type": "enabled", "budget_tokens": 2048} | ≤ 2,048 | Бага effort. |
{"type": "enabled", "budget_tokens": 8192} | ≤ 8,192 | Дунд effort. |
{"type": "enabled", "budget_tokens": 16000} | > 8,192 | Өндөр effort. |
Reasoning хийдэг загвар reasoning-ээ текстийн өмнө {"type": "thinking", "thinking": "…"} блокоор буцаана. Reasoning хийдэг Shannon түвшингүүд мөн адил илгээнэ.
Effort-уудыг тусдаа хуудсанд тайлбарласан. Reasoning effort
Tools
Tool бол таны код ажиллуулдаг функц. Тус бүрийг name, description ба input_schema-аар тодорхойлно. Загвар tool хүссэн үед хариулт tool_use блок агуулж, stop_reason нь tool_use болно.
tools доторх tool тодорхойлолт:
[
{
"name": "get_weather",
"description": "Current weather for a city.",
"input_schema": {
"type": "object",
"properties": {
"city": {
"type": "string"
}
},
"required": [
"city"
]
}
}
] Үүнийг дууддаг хариултын content:
[
{
"type": "text",
"text": ""
},
{
"type": "tool_use",
"id": "toolu_3d9a7c1e5b2f4a60c8e1d7f09b24a6c5",
"name": "get_weather",
"input": {
"city": "Paris"
}
}
] Tool-оо ажиллуулаад, дуудлага болон tool_result блокыг 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
| Хэлбэр | Үр нөлөө | Хэрэгжүүлэгч |
|---|---|---|
{"type": "auto"} | Загвар tool дуудах эсэхээ өөрөө шийднэ. Энэ нь үндсэн утга. | Бүх загвар |
{"type": "any"} | Загвар tool-уудын аль нэгийг заавал дуудна. | Hosted open-weight загварууд |
{"type": "tool", "name": "…"} | Загвар нэрлэсэн tool-ийг заавал дуудна. | Hosted open-weight загварууд |
Зөвхөн input_schema-тай tool-уудыг уншина. Энэ endpoint дээр вэб хайлт tool биш: web_search талбарыг тохируулна.
Tool давталтыг тусдаа хуудсанд бүрэн тайлбарласан. Функц дуудлага
Хариулт
| Талбар | Төрөл | Тайлбар | Илгээгч |
|---|---|---|---|
id | string | msg_ араас нь 32 арвантын тэмдэгт. | Бүх загвар |
type | string | Үргэлж message. | Бүх загвар |
role | string | Үргэлж assistant. | Бүх загвар |
model | string | Хариулсан загварын каноник id. | Бүх загвар |
content | array | Хариултын блокууд, дараах дарааллаар: загвар reasoning хийсэн бол thinking, text, дараа нь tool дуудлага бүрт нэг tool_use. | Бүх загвар |
stop_reason | string | Хариулт яагаад дууссан. Доорх утгуудыг үзнэ үү. | Бүх загвар |
usage | object | input_tokens ба output_tokens. | Бүх загвар |
sources | array | Зөвхөн хайлт нь ямар нэг зүйл олсон web_search: true-тай хүсэлт дээр: загварт өгсөн үр дүн бүр index, title, url-тай. Хариулт доторх [1] нь index нь 1 байх бичлэг юм. Stream-д message_delta event-тэй хамт ирнэ. | shannon-1.6-*, shannon-2-*, Shannon 3 гэр бүл |
usage.cache_read_input_tokens | integer | cache_read_input_tokens нь prompt-ийн кэшээс уншсан хэсэг; input_tokens нь үлдсэн хэсэг. cache_creation_input_tokens үргэлж 0. | Hosted open-weight загварууд |
Хариултын блокууд
| Блок | Тайлбар |
|---|---|
{"type": "thinking", "thinking": "…"} | Загварын reasoning. signature гишүүн байхгүй. |
{"type": "text", "text": "…"} | Хариултын текст. Хариулт нь tool дуудлага байх үед хоосон байж болно. |
{"type": "tool_use", "id": "toolu_…", "name": "…", "input": {…}} | Tool дуудлага. input нь JSON объект. Үр дүнг ижил id-тай буцааж илгээнэ. |
stop_reason
| stop_reason | Тайлбар | Илгээгч |
|---|---|---|
end_turn | Загвар хариултаа дуусгасан, эсвэл таны stop_sequences-ийн нэг нь гарч ирсэн. | Бүх загвар |
tool_use | Хариулт нэг буюу хэд хэдэн tool дуудлага агуулсан. | Бүх загвар |
max_tokens | Хариулт гаралтын хязгаарт хүрч таслагдсан. | Shannon 3 гэр бүл, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1, stream-д |
Streaming
Server-sent events авахын тулд stream-ийг true болгоно. Frame бүр event-ийн нэртэй event: мөр болон нэрийг type-д давтсан JSON объекттой data: мөртэй. Anthropic SDK-ийн stream туслахууд эдгээр event-ийг таны өмнөөс уншина:
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."}]
}' Event-үүд ирэх дарааллаар:
| Үйл явдал | Өгөгдөл | Хэзээ |
|---|---|---|
message_start | message | Үргэлж эхний. message нь id, role, model, хоосон content болон тэгээс эхэлсэн usage-ийг агуулна. |
content_block_start | index, content_block | Блок нээгдэнэ. content_block нь хоосон text эсвэл thinking блок, эсвэл id ба name-тэй tool_use блок. |
content_block_delta | index, delta {"type": "thinking_delta", "thinking"} | thinking блокийн reasoning-ийн хэсэг. |
content_block_delta | index, delta {"type": "text_delta", "text"} | text блокийн хариултын хэсэг. |
content_block_delta | index, delta {"type": "input_json_delta", "partial_json"} | tool_use блокийн tool дуудлагын аргументууд, нэг delta-д бүрэн. |
content_block_stop | index | Энэ index-тэй блок дууссан. |
message_delta | delta {stop_reason, stop_sequence}, usage | Хариултын төгсгөл: delta.stop_reason ба хүсэлтийн usage. |
message_stop | Үргэлж сүүлчийн. |
Блокууд нээгдэх дарааллаар index-ээр дугаарлагдах бөгөөд дараагийн блок нээгдэхээс өмнө нэг блок бүрэн дуусна. Блок бүрийг дугаараар нь бус төрлөөр нь унш: stream эхлээд хоосон text блок, дараа нь thinking блок нээж, хариултыг хожим text блокоор өгч болно.
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
| Илгээгч | Тайлбар |
|---|---|
Shannon 3 гэр бүл, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | {"type": "ping"} өгөгдөлтэй ping event, 15 секунд тутамд. |
| Hosted open-weight загварууд | : keepalive гэсэн тайлбар мөр, загвар ажиллаж байх хугацаанд 15 секунд тутамд. |
Амжилтгүй болсон stream
Stream эхэлсний дараах эвдрэл нь алдааны хариулттай ижил body-той error event байна: {"type": "error", "error": {"type", "message"}}. Хаалтын event-үүд болох message_delta ба message_stop үүний дараа ч ирнэ. Хариултыг амжилтгүй гэж үзээд хүсэлтээ дахин илгээнэ үү.
Алдаа
Алдаа нь Anthropic-ийн алдааны body хэлбэртэй: type нь error, error объект нь type болон message агуулна. Хүснэгтэд энэ endpoint-ийн хамгийн их буцаадаг алдаа байна. Бүрэн жагсаалт, юуг дахин оролдохыг тусдаа хуудсанд харуулсан. Алдаа боловсруулах
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: no-such-model"
}
} | Төлөв | Төрөл | Мессеж | Хэзээ |
|---|---|---|---|
401 | authentication_error | Missing authenticationInvalid API key | API түлхүүр илгээгдээгүй, эсвэл түлхүүр тодорхойгүй буюу хүчингүй болсон. |
400 | invalid_request_error | unknown model: <id> | model нь Shannon загварын id биш. |
400 | invalid_request_error | No user message provided | Shannon түвшингүүд: хүсэлтэд хэрэглэгчийн текст ч, tools ч алга. |
400 | invalid_request_error | <id> does not accept image input | Зураг оролтгүй hosted open-weight загварт зураг илгээсэн. |
422 | invalid_request_error | Failed to deserialize the JSON body into the target type: … | messages алга, эсвэл талбарын JSON төрөл буруу. |
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | max_tokens таны үлдэгдлээс их байна. |
429 | rate_limit_error | Too many requests. Retry in <n>s. | Flood protection: таны бүртгэлээс нэг минутад 120-оос олон хүсэлт ирсэн. |
429 | rate_limit_error | Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan | shannon-coder-1: таны багцын одоогийн 4 цагийн цонхны Shannon Coder дуудлагууд дууссан. |
500 | server_error | The model backend failed to answer. Please retry. | Загвар хариулт гаргасангүй. Хүсэлтээ дахин илгээнэ үү. |
502 | api_error | The model backend failed to answer. Please retry. | Загвар хариулт гаргасангүй. Хүсэлтээ дахин илгээнэ үү. |
Токен тоолох
POST /v1/messages/count_tokens нь мессежийн хүсэлттэй ижил body (model, system, messages, tools) авч, {"input_tokens": n} буцаана: хүсэлтээс тооцогдох оролтын токены тоо. Hosted open-weight загваруудад тоолно, үнэгүй бөгөөд flood protection-д тооцогдохгүй.
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} Токен тоолол нь энгийн текстийн endpoint болон хязгаартай, тусдаа хуудастай. Токен тоолох