U gudub nuxurka
Qaabka Anthropic

Qaabka Anthropic

POST /v1/messages wuxuu qaataa codsi qaabka Anthropic Messages wuxuuna ku jawaabaa isla qaabkaas, streamed ama ma ahaan. Ku isticmaal Anthropic SDK iyo qalabka ku dhisan, sida Claude Code: deji base URL-ka, isticmaal furahaaga API ee Shannon oo magacaw id model Shannon ah.

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

U jiheey Anthropic SDK base URL-ka Shannon. SDK-gu wuxuu ku daraa /v1/messages wuxuuna furahaaga ku diraa header-ka 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)

Jawaabtu waa fariin content kedisu yahay liis blocks ah. Blocks-ka ku raadi type kooda: marka model-ku fikiro, block-ga ugu horreeya waa thinking qoraalkuna wuu ka dambeeyaa.

200 JSON
{
  "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-yo

Header Qiime Sharaxaad
x-api-key YOUR_API_KEY Furahaaga API. Authorization: Bearer YOUR_API_KEY ayaa la aqbalaa meeshiisa.
content-type application/json Loo baahan yahay.
anthropic-version 2023-06-01 Waa la aqbalaa, looma baahna. Anthropic SDK wuxuu diraa 2023-06-01; jawaabtu waxay leedahay isla qaab qiime kasta.
anthropic-beta Waa la aqbalaa, looma baahna.
x-request-id Ikhtiyaari. Id-gaaga u gaar ah ee codsiga. Jawaabta wuu ku soo noqdaa isbeddel la'aan; la'aantiis jawaabtu waxay sidataa id ka kooban 12 xaraf hexadecimal ah.

Field-yada codsiga

Kaliya messages ayaa loo baahan yahay. Tiirka Waxay dabaqaan wuxuu magacaabayaa model-yada field-ku jawaabta ku beddelo. Model-yada open-weight ee la martigeliyo waa laba iyo toban id oo ka mid ah liiska model-yada; qoyska Shannon 3 waa shannon-3, shannon-3-pro, shannon-3.1 iyo shannon-3.1-pro. Model-yo & qiimo

Field Nooc Default Sharaxaad Waxay dabaqaan
model string shannon-1.6-lite Id model Shannon ah oo ka mid ah liiska model-yada. U dir codsi kasta. Isbarbardhigga ma kala saaro xarfaha waaweyn iyo yaryar. Magac kale kasta wuxuu soo celiyaa 400 unknown model, sidaas darteed qalab diraya magacyadiisa model u gaar ah waa in loo dejiyo id Shannon ah. Dhammaan model-yada
messages array Loo baahan yahay. Wada-hadalka, fariinta ugu da'da weyn marka hore, oo leh doorarka user iyo assistant. Eeg Fariimaha iyo content blocks hoose. Dhammaan model-yada
system string | array Tilmaamo loogu talagalay model-ka: string, ama array ah blocks qoraal ah. Eeg System prompt hoose. Model-yada open-weight ee la martigeliyo, shannon-1.6-*, shannon-2-*, shannon-coder-1
max_tokens integer 4096 Xadka sare ee jawaabta, token-yo ahaan. Ikhtiyaari ah endpoint-kan; Anthropic SDK had iyo jeer wuu soo diraa. Qiime ka baxsan 1 ilaa 65,536 waxaa loo raraa xaddigaas gudahiisa. Waa sidoo kale cadadka laga kala dhigo haraaggaaga inta codsigu socdo. Model-yada open-weight ee la martigeliyo, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
stream boolean false true wuxuu jawaabta u diraa sida server-sent events. Eeg Streaming hoose. Dhammaan model-yada
temperature number Sampling temperature. Model-yada open-weight ee la martigeliyo qiimayaasha waxaa lagu hayaa 0 iyo 2 dhexdooda. Model-yada open-weight ee la martigeliyo, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
top_p number Nucleus sampling. Model-yada open-weight ee la martigeliyo
stop_sequences array Ilaa 4 string. Jawaabtu waxay dhammaanaysaa kuwa ugu horreeya ee soo muuqda ka hor. stop_reason wuxuu ahaanayaa end_turn. Model-yada open-weight ee la martigeliyo
tools array Tools-ka model-ku wici karo, mid kasta sida {"name", "description", "input_schema"}. Eeg Tools hoose. Dhammaan model-yada
tool_choice object {"type": "auto"} wuxuu u daayaa model-ka inuu go'aansado, {"type": "any"} wuxuu ku khasbaa inuu wacdo tool, {"type": "tool", "name": "…"} wuxuu ku khasbaa inuu wacdo tool-kaas. Model-yada open-weight ee la martigeliyo
thinking object Intee in leeg model-ku ka fikiraa ka hor inta uusan jawaabin. Eeg Thinking hoose. Model-yada open-weight ee la martigeliyo
web_search boolean false Kordhin Shannon oo qaabka ku dheehan: true wuxuu u oggolaadaa model-ka inuu raadiyo webka ka hor inta uusan jawaabin. shannon-1.6-*, shannon-2-*, qoyska Shannon 3

Haddii max_tokens la'aan, qiimuhu waa 4,096, iyo 65,536 shannon-coder-1.

Calaamadaha metadata, top_k, service_tier iyo cache_control ee blocks-ka waa la aqbalaa si code-ka macmiilka ee jira u shaqeeyo isbeddel la'aan. Jawaabta ma beddelaan; prompt caching ee model-yada open-weight ee la martigeliyo waa automatic.

Jawaab JSON ah oo schema ku salaysan waxaa lagu codsadaa response_format Chat Completions iyo text.format Responses. Waxsoosaarka qaabaysan

Codsi leh system prompt iyo thinking

Codsigani wuxuu diraa system prompt, thinking budget, temperature iyo stop sequence. Wuxuu isticmaalaa model open-weight oo la martigeliyay, kaas oo dabaqa dhammaantood.

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)

Model-yada open-weight ee la martigeliyo usage wuxuu sheegaa token-yada laga akhriyay prompt cache si gooni ah input token-yada kale.

200 JSON
{
  "usage": {
    "input_tokens": 31,
    "cache_read_input_tokens": 0,
    "cache_creation_input_tokens": 0,
    "output_tokens": 62
  }
}

System prompt

system waa string, ama array ah blocks qoraal ah qaabka [{"type": "text", "text": "…"}]. Qoraallada blocks-ka waxaa lagu xiraa xariiq cusub.

Waxaa dabaqa model-yada open-weight ee la martigeliyo, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro iyo shannon-coder-1. Id qoyska Shannon 3 la isticmaalayo, tilmaamaha waajibka ah geli fariinta isticmaalaha.

Fariimaha iyo content blocks

Fariintu waxay leedahay role, user ama assistant, iyo content. content waa string, ama array ah blocks.

Block Sharaxaad Laga helo
{"type": "text", "text": "…"} Qoraal. Dhammaan model-yada
{"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": "…"}}
{"type": "image", "source": {"type": "url", "url": "…"}}
Sawir fariin user ah dhexdeeda, sida base64 ama URL. Qoyska Shannon 3, shannon-1.6-lite, shannon-1.6-pro, iyo model-yada open-weight ee la martigeliyo ee liis gareeya gelinta sawirka
{"type": "document", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} Dukumenti (PDF, Word, PowerPoint ama Excel) fariin user ah dhexdeeda, sida base64 ama URL. Qoyska Shannon 3
{"type": "tool_use", "id": "toolu_…", "name": "…", "input": {…}} Fariin assistant ah dhexdeeda: wicitaan tool oo model-ku sameeyay jawaab hore. Dhammaan model-yada
{"type": "tool_result", "tool_use_id": "toolu_…", "content": "…"} Fariin user ah dhexdeeda: natiijada wicitaankaas. content waa string, ama liis blocks qoraal ah. Dhammaan model-yada

Waxaad dib u diri kartaa content ee jawaab hore sida uu yahay: blocks-ka text iyo tool_use waa la akhriyaa, blocks-ka thinking waa la ka boodaa.

Heerarka Shannon, sawirrada iyo dukumentiyada waxaa laga akhriyaa fariintii ugu dambeysay ee user. Cabbirrada iyo xadadku waxay leeyihiin bog u gaar ah. Sawirro iyo faylal

Thinking

Model-yada open-weight ee la martigeliyo waxay thinking ku beddelaan reasoning effort. Field la'aantiis effort-ku waa high.

Qaab budget_tokens Saamayn
{"type": "disabled"} Reasoning ma jiro. Jawaabtu ma laha block thinking.
{"type": "enabled", "budget_tokens": 2048} ≤ 2,048 Effort hoose.
{"type": "enabled", "budget_tokens": 8192} ≤ 8,192 Effort dhexdhexaad.
{"type": "enabled", "budget_tokens": 16000} > 8,192 Effort sare.

Model reasoning sameeya wuxuu reasoning-kiisa ku soo celiyaa block {"type": "thinking", "thinking": "…"} qoraalka ka hor. Heerarka Shannon ee reasoning sameeya sidoo kale way dirayaan.

Effort-yada waxaa lagu sharaxay bog u gaar ah. Effort-ka reasoning-ka

Tools

Tool waa function uu code-kaagu ordo. Mid kasta ku sharax name, description iyo input_schema. Marka model-ku tool rabo, jawaabtu waxay haysaa block tool_use stop_reason-na waa tool_use.

Qeexida tool ee tools:

tools
[
  {
    "name": "get_weather",
    "description": "Current weather for a city.",
    "input_schema": {
      "type": "object",
      "properties": {
        "city": {
          "type": "string"
        }
      },
      "required": [
        "city"
      ]
    }
  }
]

content ee jawaab wacda:

200 content
[
  {
    "type": "text",
    "text": ""
  },
  {
    "type": "tool_use",
    "id": "toolu_3d9a7c1e5b2f4a60c8e1d7f09b24a6c5",
    "name": "get_weather",
    "input": {
      "city": "Paris"
    }
  }
]

Orod tool-ka, kaddib mar kale dir codsiga adigoo wicitaanka iyo block tool_result ku darayay messages:

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

Qaab Saamayn Waxay dabaqaan
{"type": "auto"} Model-ku wuxuu go'aansadaa inuu wacdo tool iyo in kale. Kani waa default-ka. Dhammaan model-yada
{"type": "any"} Model-ku waa inuu wacdo mid ka mid ah tools-ka. Model-yada open-weight ee la martigeliyo
{"type": "tool", "name": "…"} Model-ku waa inuu wacdo tool-ka la magacaabay. Model-yada open-weight ee la martigeliyo

Kaliya tools-ka leh input_schema ayaa la akhriyaa. Raadinta webka tool ma aha endpoint-kan: deji field-ka web_search.

Wareegga tool-ka si buuxda ayaa loogu sharaxay bog u gaar ah. Wacyigelinta Shaqada

Jawaabta

Field Nooc Sharaxaad Waxay dirtaa
id string msg_ oo ay raacayso 32 xaraf hexadecimal ah. Dhammaan model-yada
type string Had iyo jeer message. Dhammaan model-yada
role string Had iyo jeer assistant. Dhammaan model-yada
model string Id-ga rasmiga ah ee model-ka jawaabay. Dhammaan model-yada
content array Blocks-ka jawaabta, sida ay u kala horreeyaan: thinking marka model-ku fikiray, text, kaddib hal tool_use wicitaan tool kasta. Dhammaan model-yada
stop_reason string Sababta jawaabtu u dhammaatay. Eeg qiimayaasha hoose. Dhammaan model-yada
usage object input_tokens iyo output_tokens. Dhammaan model-yada
sources array Kaliya codsi leh web_search: true oo raadintiisu wax heshay: natiijooyinka model-ka la siiyay, mid kastaa wuxuu leeyahay index, title iyo url. [1] ee jawaabta waa gelinta leh index 1. Stream-ka waxay la timaaddaa event-ka message_delta. shannon-1.6-*, shannon-2-*, qoyska Shannon 3
usage.cache_read_input_tokens integer cache_read_input_tokens waa qaybta prompt-ka laga akhriyay cache; input_tokens waa inta kale. cache_creation_input_tokens had iyo jeer waa 0. Model-yada open-weight ee la martigeliyo

Blocks-ka jawaabta

Block Sharaxaad
{"type": "thinking", "thinking": "…"} Reasoning-ka model-ka. Xubin signature ma jirto.
{"type": "text", "text": "…"} Qoraalka jawaabta. Wuu madhnaan karaa marka jawaabtu tahay wicitaan tool.
{"type": "tool_use", "id": "toolu_…", "name": "…", "input": {…}} Wicitaan tool. input waa shay JSON ah. Natiijada dib ugu dir isla id.

stop_reason

stop_reason Sharaxaad Waxay dirtaa
end_turn Model-ku wuu dhammeeyay jawaabtiisa, ama mid ka mid ah stop_sequences ayaa soo muuqday. Dhammaan model-yada
tool_use Jawaabtu waxay haysaa hal ama in ka badan oo wicitaan tool ah. Dhammaan model-yada
max_tokens Jawaabta waxaa lagu gooyay xadka output-ka. Qoyska Shannon 3, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1, streams-ka dhexdooda

Streaming

Deji stream true si aad u hesho server-sent events. Frame kasta wuxuu leeyahay xariiq event: oo leh magaca event-ka iyo xariiq data: oo leh shay JSON ah oo magaca ku celiya type. Stream helpers-ka Anthropic SDK ayaa events-kan kuu akhriya:

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)

Events-ka, sida ay u soo gaaraan:

Event Xog Goorta
message_start message Had iyo jeer kan ugu horreeya. message wuxuu haystaa id-ga, doorka, model-ka, content madhan iyo usage ka bilaabmaya eber.
content_block_start index, content_block Block ayaa furmay. content_block waa block text ama thinking ah oo madhan, ama block tool_use ah oo leh id iyo name kiisa.
content_block_delta index, delta {"type": "thinking_delta", "thinking"} Qayb ka mid ah reasoning-ka, block thinking ah.
content_block_delta index, delta {"type": "text_delta", "text"} Qayb ka mid ah jawaabta, block text ah.
content_block_delta index, delta {"type": "input_json_delta", "partial_json"} Arguments-ka wicitaan tool, oo dhan hal delta, block tool_use ah.
content_block_stop index Block-ga leh index kan waa dhammaaday.
message_delta delta {stop_reason, stop_sequence}, usage Dhammaadka jawaabta: delta.stop_reason, iyo usage ee codsiga.
message_stop Had iyo jeer kan ugu dambeeya.

Blocks-ka waxaa lagu tiriyaa index sida ay u furmaan, hal block-na wuu dhammaadaa ka hor inta mid kale uusan furmin. Block kasta ku akhri nooca, ma aha lambarkiisa: stream-ku wuxuu marka hore furi karaa block text ah oo madhan, kaddib block-ga thinking, wuxuuna jawaabta ku gaarsiin karaa block text ah oo dambe.

200 text/event-stream
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

Waxay dirtaa Sharaxaad
Qoyska Shannon 3, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 Event ping oo leh xogta {"type": "ping"}, 15 ilbiriqsi kasta.
Model-yada open-weight ee la martigeliyo Xariiq faallo ah : keepalive, 15 ilbiriqsi kasta inta model-ku shaqeynayo.

Stream fashilma

Fashil ka dib marka stream-ku bilaabmo waa event error ah oo leh isla jidhka jawaabta khaladka: {"type": "error", "error": {"type", "message"}}. Events-ka xidhitaanka, message_delta iyo message_stop, weli way raacayaan. U aqoon jawaabta inay fashilantay oo mar kale dir codsiga.

Khaladaad

Khaladaadku waxay isticmaalaan jidhka khaladka Anthropic: type waa error, shayga error wuxuu haystaa type iyo message. Shaxdu waxay liis garaysaa waxa endpoint-kani inta badan soo celiyo. Liiska buuxa, oo ay la socoto waxa dib loo tijaabiyo, wuxuu leeyahay bog u gaar ah. Khaladaadka Maareynta

400 JSON
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: no-such-model"
  }
}
Xaalad Nooc Fariin Goorta
401 authentication_error Missing authentication
Invalid API key
Fure API lama dirin, ama furuhu waa aan la aqoon ama waa la meel mariyay.
400 invalid_request_error unknown model: <id> model ma aha id model Shannon ah.
400 invalid_request_error No user message provided Heerarka Shannon: codsigu qoraal isticmaale ma laha mana laha tools.
400 invalid_request_error <id> does not accept image input Sawir ayaa loo diray model open-weight oo la martigeliyay oo aan aqbalin gelinta sawirka.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … messages way maqan tahay, ama field wuxuu leeyahay nooc JSON qaldan.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan max_tokens wuu ka weyn yahay waxa ka hadhay haraaggaaga.
429 rate_limit_error Too many requests. Retry in <n>s. Flood protection: in ka badan 120 codsi hal daqiiqo gudaheeda akoonkaaga.
429 rate_limit_error Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan shannon-coder-1: wicitaannada Shannon Coder ee qorshahaaga ee daaqadda 4-saac ee hadda waa la isticmaalay.
500 server_error The model backend failed to answer. Please retry. Model-ku jawaab ma soo saarin. Mar kale dir codsiga.
502 api_error The model backend failed to answer. Please retry. Model-ku jawaab ma soo saarin. Mar kale dir codsiga.

Tirinta token-yada

POST /v1/messages/count_tokens wuxuu qaataa isla jidhka codsiga fariinta (model, system, messages, tools) wuxuuna soo celiyaa {"input_tokens": n}: tirada input token-yada ee codsigu lagu dallacayo. Wuxuu ka shaqeeyaa model-yada open-weight ee la martigeliyo, waa bilaash, lagumana tiriyo 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)

Tirintu waxay leedahay bog u gaar ah, oo ay la socdaan endpoint-ka qoraalka cad iyo xadadka. Tirinta token-yada