Anthropic ఫార్మాట్
POST /v1/messages Anthropic Messages ఫార్మాట్లో రిక్వెస్ట్ను తీసుకుని అదే ఫార్మాట్లో సమాధానం ఇస్తుంది, స్ట్రీమ్ చేసి లేదా చేయకుండా. దీన్ని Anthropic SDK తో మరియు Claude Code వంటి దానిపై నిర్మించిన టూల్స్తో ఉపయోగించండి: బేస్ URL ను సెట్ చేయండి, మీ Shannon API కీని ఉపయోగించండి మరియు ఒక Shannon మోడల్ id ను పేర్కొనండి.
POST https://api.shannon-ai.com/v1/messages
Anthropic SDK ని Shannon బేస్ URL వైపు చూపించండి. SDK /v1/messages ను జోడించి మీ కీని 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."}]
}' సమాధానం ఒక మెసేజ్, దాని content బ్లాక్ల జాబితా. బ్లాక్లను వాటి type ద్వారా కనుగొనండి: మోడల్ రీజనింగ్ చేసినప్పుడు మొదటి బ్లాక్ 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
}
} హెడర్లు
| హెడర్ | విలువ | వివరణ |
|---|---|---|
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 మాత్రమే తప్పనిసరి. వర్తింపజేసేవి కాలమ్ ఒక ఫీల్డ్ సమాధానాన్ని మార్చే మోడల్స్ను పేర్కొంటుంది. హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్ అంటే మోడల్ జాబితాలోని పన్నెండు ids; 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 పాత్రలతో. దిగువన Messages మరియు కంటెంట్ బ్లాక్లు చూడండి. | అన్ని మోడల్స్ | |
system | string | array | మోడల్కు సూచనలు: ఒక string లేదా టెక్స్ట్ బ్లాక్ల array. దిగువన System prompt చూడండి. | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్, shannon-1.6-*, shannon-2-*, shannon-coder-1 | |
max_tokens | integer | 4096 | సమాధానం యొక్క గరిష్ట పరిమితి, tokens లో. ఈ ఎండ్పాయింట్లో ఐచ్ఛికం; Anthropic SDK దీన్ని ఎల్లప్పుడూ పంపుతుంది. 1 నుండి 65,536 వెలుపల ఉన్న విలువ ఆ పరిధిలోకి మార్చబడుతుంది. రిక్వెస్ట్ నడుస్తున్నప్పుడు మీ బ్యాలెన్స్ నుండి పక్కన పెట్టే మొత్తం కూడా ఇదే. | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 |
stream | boolean | false | true సమాధానాన్ని server-sent events గా పంపుతుంది. దిగువన Streaming చూడండి. | అన్ని మోడల్స్ |
temperature | number | శాంప్లింగ్ temperature. హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్లో విలువలు 0 మరియు 2 మధ్య ఉంచబడతాయి. | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
top_p | number | న్యూక్లియస్ శాంప్లింగ్. | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్ | |
stop_sequences | array | గరిష్ఠంగా 4 strings. కనిపించే మొదటి దానికి ముందే సమాధానం ముగుస్తుంది. stop_reason end_turn గానే ఉంటుంది. | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్ | |
tools | array | మోడల్ కాల్ చేయగల టూల్స్, ప్రతిదీ {"name", "description", "input_schema"} గా. దిగువన Tools చూడండి. | అన్ని మోడల్స్ | |
tool_choice | object | {"type": "auto"} మోడల్ను నిర్ణయించనిస్తుంది, {"type": "any"} టూల్ను కాల్ చేసేలా చేస్తుంది, {"type": "tool", "name": "…"} ఆ టూల్నే కాల్ చేసేలా చేస్తుంది. | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్ | |
thinking | object | సమాధానం ఇచ్చే ముందు మోడల్ ఎంత రీజనింగ్ చేస్తుంది. దిగువన Thinking చూడండి. | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్ | |
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 మార్కర్లు అంగీకరించబడతాయి, తద్వారా ఇప్పటికే ఉన్న క్లయింట్ కోడ్ మార్పు లేకుండా నడుస్తుంది. అవి సమాధానాన్ని మార్చవు; హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్లో ప్రాంప్ట్ క్యాషింగ్ ఆటోమేటిక్.
schema ప్రకారం JSON సమాధానాన్ని Chat Completions లో response_format తో మరియు Responses లో text.format తో అడుగుతారు. నిర్మిత అవుట్పుట్లు
System prompt మరియు thinking ఉన్న రిక్వెస్ట్
ఈ రిక్వెస్ట్ system prompt, thinking budget, temperature మరియు stop sequence ను పంపుతుంది. ఇది హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్ను ఉపయోగిస్తుంది, అది వాటన్నింటినీ వర్తింపజేస్తుంది.
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?"}]
}' హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్లో usage ప్రాంప్ట్ క్యాష్ నుండి చదివిన tokens ను ఇతర ఇన్పుట్ tokens నుండి వేరుగా నివేదిస్తుంది.
{
"usage": {
"input_tokens": 31,
"cache_read_input_tokens": 0,
"cache_creation_input_tokens": 0,
"output_tokens": 62
}
} System prompt
system అనేది ఒక string, లేదా [{"type": "text", "text": "…"}] రూపంలో టెక్స్ట్ బ్లాక్ల array. బ్లాక్ల టెక్స్ట్లు లైన్ బ్రేక్తో కలపబడతాయి.
దీన్ని హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro మరియు shannon-coder-1 వర్తింపజేస్తాయి. Shannon 3 ఫ్యామిలీ id తో, తప్పక పాటించాల్సిన సూచనలను user మెసేజ్లో ఉంచండి.
Messages మరియు కంటెంట్ బ్లాక్లు
ఒక మెసేజ్కు role, అంటే user లేదా assistant, మరియు content ఉంటాయి. content ఒక string లేదా బ్లాక్ల array.
| బ్లాక్ | వివరణ | అందుబాటులో ఉన్నవి |
|---|---|---|
{"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, మరియు చిత్ర ఇన్పుట్ను పేర్కొనే హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్ |
{"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 మెసేజ్లో: మోడల్ మునుపటి సమాధానంలో చేసిన టూల్ కాల్. | అన్ని మోడల్స్ |
{"type": "tool_result", "tool_use_id": "toolu_…", "content": "…"} | user మెసేజ్లో: ఆ కాల్ ఫలితం. content ఒక string లేదా టెక్స్ట్ బ్లాక్ల జాబితా. | అన్ని మోడల్స్ |
మునుపటి సమాధానంలోని content ను అలాగే తిరిగి పంపవచ్చు: text మరియు tool_use బ్లాక్లు చదవబడతాయి, thinking బ్లాక్లు విస్మరించబడతాయి.
Shannon టియర్లలో చిత్రాలు మరియు డాక్యుమెంట్లు చివరి user మెసేజ్ నుండి చదవబడతాయి. పరిమాణాలు మరియు పరిమితులకు ప్రత్యేక పేజీ ఉంది. చిత్రాలు మరియు ఫైళ్లు
Thinking
హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్ thinking ను రీజనింగ్ effort కి మ్యాప్ చేస్తాయి. ఫీల్డ్ లేకపోతే effort high.
| రూపం | budget_tokens | ప్రభావం |
|---|---|---|
{"type": "disabled"} | రీజనింగ్ లేదు. సమాధానంలో 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. |
రీజనింగ్ చేసే మోడల్ తన రీజనింగ్ను టెక్స్ట్ ముందు {"type": "thinking", "thinking": "…"} బ్లాక్గా తిరిగి ఇస్తుంది. రీజనింగ్ చేసే Shannon టియర్లు కూడా దాన్ని పంపుతాయి.
effort లు వాటి ప్రత్యేక పేజీలో వివరించబడ్డాయి. రీజనింగ్ effort
Tools
టూల్ అనేది మీ కోడ్ నడిపే ఫంక్షన్. ప్రతిదాన్ని name, description మరియు input_schema తో వివరించండి. మోడల్కు టూల్ కావాలనుకున్నప్పుడు, సమాధానంలో tool_use బ్లాక్ ఉంటుంది మరియు stop_reason tool_use అవుతుంది.
tools లో టూల్ నిర్వచనం:
[
{
"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_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"} | టూల్ను కాల్ చేయాలా వద్దా అని మోడల్ నిర్ణయిస్తుంది. ఇది డిఫాల్ట్. | అన్ని మోడల్స్ |
{"type": "any"} | మోడల్ తప్పనిసరిగా టూల్స్లో ఒకదాన్ని కాల్ చేయాలి. | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్ |
{"type": "tool", "name": "…"} | మోడల్ తప్పనిసరిగా పేర్కొన్న టూల్ను కాల్ చేయాలి. | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్ |
input_schema ఉన్న టూల్స్ మాత్రమే చదవబడతాయి. ఈ ఎండ్పాయింట్లో వెబ్ శోధన టూల్ కాదు: web_search ఫీల్డ్ను సెట్ చేయండి.
టూల్ లూప్ పూర్తిగా దాని ప్రత్యేక పేజీలో వివరించబడింది. ఫంక్షన్ కాలింగ్
సమాధానం
| ఫీల్డ్ | రకం | వివరణ | పంపేవారు |
|---|---|---|---|
id | string | msg_ తర్వాత 32 హెక్సాడెసిమల్ అక్షరాలు. | అన్ని మోడల్స్ |
type | string | ఎల్లప్పుడూ message. | అన్ని మోడల్స్ |
role | string | ఎల్లప్పుడూ assistant. | అన్ని మోడల్స్ |
model | string | సమాధానం ఇచ్చిన మోడల్ యొక్క కానానికల్ id. | అన్ని మోడల్స్ |
content | array | సమాధానం యొక్క బ్లాక్లు, ఈ క్రమంలో: మోడల్ రీజనింగ్ చేసినప్పుడు thinking, text, ఆపై ప్రతి టూల్ కాల్కు ఒక tool_use. | అన్ని మోడల్స్ |
stop_reason | string | సమాధానం ఎందుకు ముగిసింది. దిగువ విలువలను చూడండి. | అన్ని మోడల్స్ |
usage | object | input_tokens మరియు output_tokens. | అన్ని మోడల్స్ |
sources | array | శోధనలో ఏదైనా దొరికిన web_search: true రిక్వెస్ట్లో మాత్రమే: మోడల్కు ఇచ్చిన ఫలితాలు, ప్రతిదానికి index, title మరియు url తో. సమాధానంలోని [1] అంటే index 1 ఉన్న ఎంట్రీ. స్ట్రీమ్లో ఇది message_delta ఈవెంట్తో వస్తుంది. | shannon-1.6-*, shannon-2-*, Shannon 3 ఫ్యామిలీ |
usage.cache_read_input_tokens | integer | cache_read_input_tokens అనేది క్యాష్ నుండి చదివిన ప్రాంప్ట్ భాగం; input_tokens మిగిలినది. cache_creation_input_tokens ఎల్లప్పుడూ 0. | హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్ |
సమాధాన బ్లాక్లు
| బ్లాక్ | వివరణ |
|---|---|
{"type": "thinking", "thinking": "…"} | మోడల్ రీజనింగ్. signature సభ్యం ఉండదు. |
{"type": "text", "text": "…"} | సమాధాన టెక్స్ట్. సమాధానం టూల్ కాల్ అయినప్పుడు ఇది ఖాళీగా ఉండవచ్చు. |
{"type": "tool_use", "id": "toolu_…", "name": "…", "input": {…}} | టూల్ కాల్. input ఒక JSON ఆబ్జెక్ట్. ఫలితాన్ని అదే id తో తిరిగి పంపండి. |
stop_reason
| stop_reason | వివరణ | పంపేవారు |
|---|---|---|
end_turn | మోడల్ తన సమాధానాన్ని పూర్తి చేసింది, లేదా మీ stop_sequences లో ఒకటి కనిపించింది. | అన్ని మోడల్స్ |
tool_use | సమాధానంలో ఒకటి లేదా అంతకంటే ఎక్కువ టూల్ కాల్స్ ఉన్నాయి. | అన్ని మోడల్స్ |
max_tokens | అవుట్పుట్ పరిమితి వద్ద సమాధానం ఆగిపోయింది. | Shannon 3 ఫ్యామిలీ, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1, స్ట్రీమ్లలో |
స్ట్రీమింగ్
server-sent events కోసం stream ను true కి సెట్ చేయండి. ప్రతి ఫ్రేమ్లో ఈవెంట్ పేరుతో event: లైన్ మరియు type లో ఆ పేరును పునరావృతం చేసే JSON ఆబ్జెక్ట్తో data: లైన్ ఉంటాయి. Anthropic SDK యొక్క స్ట్రీమ్ హెల్పర్లు ఈ ఈవెంట్లను మీ కోసం చదువుతాయి:
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."}]
}' ఈవెంట్లు, అవి వచ్చే క్రమంలో:
| ఈవెంట్ | డేటా | ఎప్పుడు |
|---|---|---|
message_start | message | ఎల్లప్పుడూ మొదట వస్తుంది. message లో id, పాత్ర, మోడల్, ఖాళీ 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 బ్లాక్ కోసం, రీజనింగ్లోని ఒక భాగం. |
content_block_delta | index, delta {"type": "text_delta", "text"} | text బ్లాక్ కోసం, సమాధానంలోని ఒక భాగం. |
content_block_delta | index, delta {"type": "input_json_delta", "partial_json"} | tool_use బ్లాక్ కోసం, టూల్ కాల్ ఆర్గ్యుమెంట్లు, ఒకే డెల్టాలో పూర్తిగా. |
content_block_stop | index | ఈ index ఉన్న బ్లాక్ పూర్తయింది. |
message_delta | delta {stop_reason, stop_sequence}, usage | సమాధాన ముగింపు: delta.stop_reason, మరియు రిక్వెస్ట్ యొక్క usage. |
message_stop | ఎల్లప్పుడూ చివరిది. |
బ్లాక్లు తెరుచుకున్న క్రమంలో index ద్వారా నంబర్ చేయబడతాయి, మరియు తదుపరి బ్లాక్ తెరుచుకునే ముందు ఒక బ్లాక్ పూర్తవుతుంది. ప్రతి బ్లాక్ను దాని నంబర్తో కాకుండా దాని type ద్వారా చదవండి: స్ట్రీమ్ మొదట ఖాళీ 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 ఈవెంట్, ప్రతి 15 సెకన్లకు. |
| హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్ | కామెంట్ లైన్ : keepalive, మోడల్ పనిచేస్తున్నప్పుడు ప్రతి 15 సెకన్లకు. |
విఫలమయ్యే స్ట్రీమ్
స్ట్రీమ్ ప్రారంభమైన తర్వాత వచ్చే వైఫల్యం ఎరర్ సమాధానంలోని అదే బాడీతో error ఈవెంట్గా వస్తుంది: {"type": "error", "error": {"type", "message"}}. ముగింపు ఈవెంట్లు, message_delta మరియు message_stop, ఇంకా తర్వాత వస్తాయి. సమాధానాన్ని విఫలమైనదిగా భావించి రిక్వెస్ట్ను మళ్ళీ పంపండి.
ఎరర్లు
ఎరర్లు Anthropic ఎరర్ బాడీని ఉపయోగిస్తాయి: type అనేది error, మరియు error ఆబ్జెక్ట్లో type మరియు message ఉంటాయి. ఈ ఎండ్పాయింట్ ఎక్కువగా తిరిగి ఇచ్చేవి పట్టికలో ఉన్నాయి. పూర్తి జాబితా, దేనిని మళ్ళీ ప్రయత్నించాలో అనే వివరంతో, ప్రత్యేక పేజీలో ఉంది. ఎరర్ హ్యాండ్లింగ్
{
"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 | చిత్ర ఇన్పుట్ లేని హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్కు చిత్రం పంపబడింది. |
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. | మోడల్ సమాధానం ఇవ్వలేదు. రిక్వెస్ట్ను మళ్ళీ పంపండి. |
Tokens లెక్కించడం
POST /v1/messages/count_tokens మెసేజ్ రిక్వెస్ట్కు ఉండే అదే బాడీని (model, system, messages, tools) తీసుకుని {"input_tokens": n} ను తిరిగి ఇస్తుంది: ఆ రిక్వెస్ట్కు ఛార్జ్ అయ్యే ఇన్పుట్ tokens సంఖ్య. ఇది హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్కు లెక్కిస్తుంది, ఉచితం మరియు 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} లెక్కింపుకు ప్రత్యేక పేజీ ఉంది, ప్లెయిన్-టెక్స్ట్ ఎండ్పాయింట్ మరియు పరిమితులతో. Token లెక్కింపు