Anthropic
POST /v1/messages tekur við beiðni á Anthropic Messages sniðinu og svarar á sama sniði, streymt eða ekki. Notaðu það með Anthropic SDK og með tólum sem byggja á því, svo sem Claude Code: stilltu base URL, notaðu Shannon API-lykilinn þinn og tilgreindu Shannon-líkanauðkenni.
POST https://api.shannon-ai.com/v1/messages
Beindu Anthropic SDK að Shannon base URL. SDK bætir við /v1/messages og sendir lykilinn þinn í x-api-key hausnum.
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."}]
}' Svarið eru skilaboð þar sem content er listi af blokkum. Finndu blokkirnar eftir type: þegar líkanið rökhugsaði er fyrsta blokkin thinking og textinn kemur á eftir henni.
{
"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
}
} Hausar
| Haus | Gildi | Lýsing |
|---|---|---|
x-api-key | YOUR_API_KEY | API-lykillinn þinn. Authorization: Bearer YOUR_API_KEY er tekið gilt í hans stað. |
content-type | application/json | Skylda. |
anthropic-version | 2023-06-01 | Samþykkt, ekki skylda. Anthropic SDK sendir 2023-06-01; svarið hefur sama snið óháð gildinu. |
anthropic-beta | Samþykkt, ekki skylda. | |
x-request-id | Valfrjálst. Þitt eigið auðkenni beiðninnar. Það kemur óbreytt til baka í svarinu; án þess ber svarið auðkenni með 12 sextándakerfisstöfum. |
Beiðnireitir
Aðeins messages er skylda. Dálkurinn Notað af nefnir líkönin þar sem reitur breytir svarinu. Hýstu líkönin með opnum þyngdum eru auðkennin tólf á líkanalistanum; Shannon 3 fjölskyldan er shannon-3, shannon-3-pro, shannon-3.1 og shannon-3.1-pro. Líkön og verð
| Reitur | Gerð | Sjálfgefið | Lýsing | Notað af |
|---|---|---|---|---|
model | string | shannon-1.6-lite | Shannon-líkanauðkenni af líkanalistanum. Sendu það með hverri beiðni. Samsvörun er ekki hástafanæm. Öll önnur nöfn skila 400 unknown model, svo tól sem sendir eigin líkananöfn þarf að stilla á Shannon-auðkenni. | Öll líkön |
messages | array | Skylda. Samtalið, elstu skilaboð fyrst, með hlutverkunum user og assistant. Sjá Skilaboð og efnisblokkir hér á eftir. | Öll líkön | |
system | string | array | Fyrirmæli til líkansins: strengur eða fylki af textablokkum. Sjá System prompt hér á eftir. | Hýst líkön með opnum þyngdum, shannon-1.6-*, shannon-2-*, shannon-coder-1 | |
max_tokens | integer | 4096 | Efri mörk svarsins, í táknum. Valfrjálst á þessum endapunkti; Anthropic SDK sendir það alltaf. Gildi utan 1 til 65,536 er fært inn í það bil. Þetta er jafnframt það magn sem tekið er frá af stöðunni þinni meðan beiðnin er í vinnslu. | Hýst líkön með opnum þyngdum, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 |
stream | boolean | false | true sendir svarið sem server-sent events. Sjá Streymi hér á eftir. | Öll líkön |
temperature | number | Sýnatökuhiti. Á hýstum líkönum með opnum þyngdum eru gildi höfð á bilinu 0 til 2. | Hýst líkön með opnum þyngdum, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
top_p | number | Nucleus-sýnataka. | Hýst líkön með opnum þyngdum | |
stop_sequences | array | Allt að 4 strengir. Svarið endar á undan þeim fyrsta sem birtist. stop_reason er áfram end_turn. | Hýst líkön með opnum þyngdum | |
tools | array | Tólin sem líkanið má kalla á, hvert sem {"name", "description", "input_schema"}. Sjá Tól hér á eftir. | Öll líkön | |
tool_choice | object | {"type": "auto"} lætur líkanið ákveða, {"type": "any"} lætur það kalla á tól, {"type": "tool", "name": "…"} lætur það kalla á það tól. | Hýst líkön með opnum þyngdum | |
thinking | object | Hversu mikið líkanið rökhugsar áður en það svarar. Sjá Thinking hér á eftir. | Hýst líkön með opnum þyngdum | |
web_search | boolean | false | Viðbót Shannon við sniðið: true lætur líkanið leita á vefnum áður en það svarar. | shannon-1.6-*, shannon-2-*, Shannon 3 fjölskyldan |
Án max_tokens er gildið 4,096, og 65,536 á shannon-coder-1.
metadata, top_k, service_tier og cache_control merki á blokkum eru samþykkt svo að núverandi biðlarakóði keyri óbreyttur. Þau breyta ekki svarinu; skyndiminni prompta á hýstum líkönum með opnum þyngdum er sjálfvirkt.
JSON-svar samkvæmt skema er beðið um með response_format á Chat Completions og með text.format á Responses. Skipulögð úttök
Beiðni með system prompt og thinking
Þessi beiðni sendir system prompt, thinking-fjárhagsáætlun, hitastig og stöðvunarrunu. Hún notar hýst líkan með opnum þyngdum, sem tekur tillit til þessa alls.
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?"}]
}' Á hýstum líkönum með opnum þyngdum sýnir usage táknin sem lesin voru úr skyndiminni prompta sérstaklega frá öðrum inntakstáknum.
{
"usage": {
"input_tokens": 31,
"cache_read_input_tokens": 0,
"cache_creation_input_tokens": 0,
"output_tokens": 62
}
} System prompt
system er strengur, eða fylki af textablokkum á forminu [{"type": "text", "text": "…"}]. Textar blokkanna eru tengdir saman með línuskiptingu.
Hún er notuð af hýstum líkönum með opnum þyngdum, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro og shannon-coder-1. Með auðkenni úr Shannon 3 fjölskyldunni skaltu setja fyrirmæli sem verða að gilda inn í notandaskilaboðin.
Skilaboð og efnisblokkir
Skilaboð hafa role, annaðhvort user eða assistant, og content. content er strengur eða fylki af blokkum.
| Blokk | Lýsing | Í boði á |
|---|---|---|
{"type": "text", "text": "…"} | Texti. | Öll líkön |
{"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": "…"}}{"type": "image", "source": {"type": "url", "url": "…"}} | Mynd í user skilaboðum, sem base64 eða með vefslóð. | Shannon 3 fjölskyldan, shannon-1.6-lite, shannon-1.6-pro og hýst líkön með opnum þyngdum sem styðja myndainntak |
{"type": "document", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} | Skjal (PDF, Word, PowerPoint eða Excel) í user skilaboðum, sem base64 eða með vefslóð. | Shannon 3 fjölskyldan |
{"type": "tool_use", "id": "toolu_…", "name": "…", "input": {…}} | Í assistant skilaboðum: tólakall sem líkanið gerði í fyrra svari. | Öll líkön |
{"type": "tool_result", "tool_use_id": "toolu_…", "content": "…"} | Í user skilaboðum: niðurstaða þess kalls. content er strengur eða listi af textablokkum. | Öll líkön |
Þú getur sent content úr fyrra svari til baka óbreytt: text og tool_use blokkir eru lesnar en thinking blokkir sleppt.
Á Shannon-þrepunum eru myndir og skjöl lesin úr síðustu user skilaboðunum. Stærðir og mörk hafa sína eigin síðu. Myndir og skrár
Thinking
Hýst líkön með opnum þyngdum varpa thinking yfir í rökhugsunarátak. Án reitsins er átakið mikið.
| Form | budget_tokens | Áhrif |
|---|---|---|
{"type": "disabled"} | Engin rökhugsun. Svarið hefur enga thinking blokk. | |
{"type": "enabled", "budget_tokens": 2048} | ≤ 2,048 | Lítið átak. |
{"type": "enabled", "budget_tokens": 8192} | ≤ 8,192 | Miðlungsátak. |
{"type": "enabled", "budget_tokens": 16000} | > 8,192 | Mikið átak. |
Líkan sem rökhugsar skilar rökhugsun sinni sem blokk {"type": "thinking", "thinking": "…"} á undan textanum. Shannon-þrepin sem rökhugsa senda hana líka.
Átaksstigunum er lýst á sinni eigin síðu. Rökhugsunarátak
Tól
Tól er fall sem kóðinn þinn keyrir. Lýstu hverju með name, description og input_schema. Þegar líkanið vill nota tól geymir svarið tool_use blokk og stop_reason er tool_use.
Tólaskilgreining í tools:
[
{
"name": "get_weather",
"description": "Current weather for a city.",
"input_schema": {
"type": "object",
"properties": {
"city": {
"type": "string"
}
},
"required": [
"city"
]
}
}
] content svars sem kallar á það:
[
{
"type": "text",
"text": ""
},
{
"type": "tool_use",
"id": "toolu_3d9a7c1e5b2f4a60c8e1d7f09b24a6c5",
"name": "get_weather",
"input": {
"city": "Paris"
}
}
] Keyrðu tólið og sendu síðan beiðnina aftur með kallinu og tool_result blokk bætt við 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
| Form | Áhrif | Notað af |
|---|---|---|
{"type": "auto"} | Líkanið ákveður hvort það kallar á tól. Þetta er sjálfgefið. | Öll líkön |
{"type": "any"} | Líkanið verður að kalla á eitt af tólunum. | Hýst líkön með opnum þyngdum |
{"type": "tool", "name": "…"} | Líkanið verður að kalla á tólið sem er nefnt. | Hýst líkön með opnum þyngdum |
Aðeins tól með input_schema eru lesin. Vefleit er ekki tól á þessum endapunkti: stilltu reitinn web_search.
Tólalykkjunni er lýst í heild á sinni eigin síðu. Aðgerðaköll
Svarið
| Reitur | Gerð | Lýsing | Sent af |
|---|---|---|---|
id | string | msg_ og síðan 32 sextándakerfisstafir. | Öll líkön |
type | string | Alltaf message. | Öll líkön |
role | string | Alltaf assistant. | Öll líkön |
model | string | Hið kanóníska auðkenni líkansins sem svaraði. | Öll líkön |
content | array | Blokkir svarsins, í þessari röð: thinking þegar líkanið rökhugsaði, text, síðan ein tool_use fyrir hvert tólakall. | Öll líkön |
stop_reason | string | Hvers vegna svarið endaði. Sjá gildin hér að neðan. | Öll líkön |
usage | object | input_tokens og output_tokens. | Öll líkön |
sources | array | Aðeins á beiðni með web_search: true þar sem leitin fann eitthvað: niðurstöðurnar sem líkanið fékk, hver með index, title og url. [1] í svarinu er færslan með index 1. Í streymi kemur það með message_delta atburðinum. | shannon-1.6-*, shannon-2-*, Shannon 3 fjölskyldan |
usage.cache_read_input_tokens | integer | cache_read_input_tokens er sá hluti prompts sem var lesinn úr skyndiminni; input_tokens er afgangurinn. cache_creation_input_tokens er alltaf 0. | Hýst líkön með opnum þyngdum |
Svarblokkir
| Blokk | Lýsing |
|---|---|
{"type": "thinking", "thinking": "…"} | Rökhugsun líkansins. Það er enginn signature meðlimur. |
{"type": "text", "text": "…"} | Svartextinn. Hann getur verið tómur þegar svarið er tólakall. |
{"type": "tool_use", "id": "toolu_…", "name": "…", "input": {…}} | Tólakall. input er JSON-hlutur. Sendu niðurstöðuna til baka með sama id. |
stop_reason
| stop_reason | Lýsing | Sent af |
|---|---|---|
end_turn | Líkanið lauk svarinu, eða ein af stop_sequences þínum birtist. | Öll líkön |
tool_use | Svarið geymir eitt eða fleiri tólakall. | Öll líkön |
max_tokens | Svarið var skorið við úttaksmörkin. | Shannon 3 fjölskyldan, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1, í straumum |
Streymi
Stilltu stream á true til að fá server-sent events. Hver rammi hefur event: línu með heiti atburðarins og data: línu með JSON-hlut sem endurtekur heitið í type. Straumhjálparföll Anthropic SDK lesa þessa atburði fyrir þig:
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."}]
}' Atburðirnir, í þeirri röð sem þeir berast:
| Atburður | Gögn | Hvenær |
|---|---|---|
message_start | message | Alltaf fyrst. message geymir auðkennið, hlutverkið, líkanið, tómt content og usage sem byrjar á núlli. |
content_block_start | index, content_block | Blokk opnast. content_block er tóm text eða thinking blokk, eða tool_use blokk með id og name. |
content_block_delta | index, delta {"type": "thinking_delta", "thinking"} | Hluti rökhugsunarinnar, fyrir thinking blokk. |
content_block_delta | index, delta {"type": "text_delta", "text"} | Hluti svarsins, fyrir text blokk. |
content_block_delta | index, delta {"type": "input_json_delta", "partial_json"} | Röksemdir tólakalls, fullkláraðar í einu delta, fyrir tool_use blokk. |
content_block_stop | index | Blokkinni með þetta index er lokið. |
message_delta | delta {stop_reason, stop_sequence}, usage | Lok svarsins: delta.stop_reason og usage beiðninnar. |
message_stop | Alltaf síðast. |
Blokkir eru númeraðar með index í þeirri röð sem þær opnast, og ein blokk er fullkláruð áður en sú næsta opnast. Lestu hverja blokk eftir gerð hennar, ekki númeri: straumur getur fyrst opnað tóma text blokk, síðan thinking blokkina og skilað svarinu í síðari text blokk.
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
| Sent af | Lýsing |
|---|---|
Shannon 3 fjölskyldan, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | ping atburður með gögnin {"type": "ping"}, á 15 sekúndna fresti. |
| Hýst líkön með opnum þyngdum | Athugasemdarlínan : keepalive, á 15 sekúndna fresti meðan líkanið vinnur. |
Straumur sem bilar
Bilun eftir að straumurinn er hafinn er error atburður með sama meginmál og villusvar: {"type": "error", "error": {"type", "message"}}. Lokaatburðirnir, message_delta og message_stop, fylgja samt. Líttu á svarið sem misheppnað og sendu beiðnina aftur.
Villur
Villur nota Anthropic-villumeginmálið: type er error og error hluturinn geymir type og message. Taflan sýnir það sem þessi endapunktur skilar oftast. Heildarlistinn, með því hvað á að endurreyna, hefur sína eigin síðu. Villumeðhöndlun
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: no-such-model"
}
} | Staða | Gerð | Skilaboð | Hvenær |
|---|---|---|---|
401 | authentication_error | Missing authenticationInvalid API key | Enginn API-lykill var sendur, eða lykillinn er óþekktur eða afturkallaður. |
400 | invalid_request_error | unknown model: <id> | model er ekki Shannon-líkanauðkenni. |
400 | invalid_request_error | No user message provided | Shannon-þrep: beiðnin hefur engan notandatexta og engin tools. |
400 | invalid_request_error | <id> does not accept image input | Mynd var send til hýsts líkans með opnum þyngdum sem tekur ekki við myndainntaki. |
422 | invalid_request_error | Failed to deserialize the JSON body into the target type: … | messages vantar, eða reitur hefur rangt JSON-gagnatag. |
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | max_tokens er stærra en það sem eftir er af stöðunni þinni. |
429 | rate_limit_error | Too many requests. Retry in <n>s. | Flóðvörn: fleiri en 120 beiðnir á einni mínútu á reikningnum þínum. |
429 | rate_limit_error | Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan | shannon-coder-1: Shannon Coder köll áskriftarinnar þinnar fyrir núverandi 4 klukkustunda glugga eru uppurin. |
500 | server_error | The model backend failed to answer. Please retry. | Líkanið skilaði ekki svari. Sendu beiðnina aftur. |
502 | api_error | The model backend failed to answer. Please retry. | Líkanið skilaði ekki svari. Sendu beiðnina aftur. |
Talning tákna
POST /v1/messages/count_tokens tekur sama meginmál og skilaboðabeiðni (model, system, messages, tools) og skilar {"input_tokens": n}: fjölda inntakstákna sem beiðnin yrði gjaldfærð fyrir. Þetta telur fyrir hýst líkön með opnum þyngdum, er ókeypis og telst ekki með í flóðvörn.
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} Talning hefur sína eigin síðu, með endapunkti fyrir hreinan texta og mörkunum. Tókatalning