కంటెంట్‌కు వెళ్లండి
Anthropic ఫార్మాట్

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)

సమాధానం ఒక మెసేజ్, దాని content బ్లాక్‌ల జాబితా. బ్లాక్‌లను వాటి type ద్వారా కనుగొనండి: మోడల్ రీజనింగ్ చేసినప్పుడు మొదటి బ్లాక్ thinking మరియు టెక్స్ట్ దాని తర్వాత వస్తుంది.

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
  }
}

హెడర్‌లు

హెడర్ విలువ వివరణ
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)

హోస్ట్ చేసిన ఓపెన్-వెయిట్ మోడల్స్‌లో usage ప్రాంప్ట్ క్యాష్ నుండి చదివిన tokens ను ఇతర ఇన్‌పుట్ tokens నుండి వేరుగా నివేదిస్తుంది.

200 JSON
{
  "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 లో టూల్ నిర్వచనం:

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

దాన్ని కాల్ చేసే సమాధానం యొక్క content:

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

టూల్‌ను నడపండి, ఆపై కాల్ మరియు tool_result బ్లాక్‌ను 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

రూపం ప్రభావం వర్తింపజేసేవి
{"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)

ఈవెంట్‌లు, అవి వచ్చే క్రమంలో:

ఈవెంట్ డేటా ఎప్పుడు
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 బ్లాక్‌లో అందించవచ్చు.

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

పంపేవారు వివరణ
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 ఉంటాయి. ఈ ఎండ్‌పాయింట్ ఎక్కువగా తిరిగి ఇచ్చేవి పట్టికలో ఉన్నాయి. పూర్తి జాబితా, దేనిని మళ్ళీ ప్రయత్నించాలో అనే వివరంతో, ప్రత్యేక పేజీలో ఉంది. ఎరర్ హ్యాండ్లింగ్

400 JSON
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: no-such-model"
  }
}
స్టేటస్ రకం మెసేజ్ ఎప్పుడు
401 authentication_error Missing authentication
Invalid 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)

లెక్కింపుకు ప్రత్యేక పేజీ ఉంది, ప్లెయిన్-టెక్స్ట్ ఎండ్‌పాయింట్ మరియు పరిమితులతో. Token లెక్కింపు