ವಿಷಯಕ್ಕೆ ಹೋಗಿ
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 ಮಾತ್ರ ಅಗತ್ಯ. ಅನ್ವಯಿಸುವವರು ಕಾಲಮ್ ಒಂದು ಫೀಲ್ಡ್ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಬದಲಾಯಿಸುವ ಮಾಡೆಲ್‌ಗಳನ್ನು ಹೆಸರಿಸುತ್ತದೆ. ಹೋಸ್ಟ್ ಮಾಡಲಾದ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್‌ಗಳು ಮಾಡೆಲ್ ಪಟ್ಟಿಯ ಹನ್ನೆರಡು 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 ಪಾತ್ರಗಳೊಂದಿಗೆ. ಕೆಳಗಿನ ಸಂದೇಶಗಳು ಮತ್ತು ಕಂಟೆಂಟ್ ಬ್ಲಾಕ್‌ಗಳನ್ನು ನೋಡಿ. ಎಲ್ಲ ಮಾಡೆಲ್‌ಗಳು
system string | array ಮಾಡೆಲ್‌ಗೆ ಸೂಚನೆಗಳು: ಒಂದು ಸ್ಟ್ರಿಂಗ್, ಅಥವಾ ಪಠ್ಯ ಬ್ಲಾಕ್‌ಗಳ ಅರೇ. ಕೆಳಗಿನ ಸಿಸ್ಟಂ ಪ್ರಾಂಪ್ಟ್ ನೋಡಿ. ಹೋಸ್ಟ್ ಮಾಡಲಾದ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್‌ಗಳು, shannon-1.6-*, shannon-2-*, shannon-coder-1
max_tokens integer 4096 ಪ್ರತಿಕ್ರಿಯೆಯ ಮೇಲಿನ ಮಿತಿ, ಟೋಕನ್‌ಗಳಲ್ಲಿ. ಈ ಎಂಡ್‌ಪಾಯಿಂಟ್‌ನಲ್ಲಿ ಐಚ್ಛಿಕ; Anthropic SDK ಯಾವಾಗಲೂ ಇದನ್ನು ಕಳುಹಿಸುತ್ತದೆ. 1 ರಿಂದ 65,536 ರ ಹೊರಗಿನ ಮೌಲ್ಯವನ್ನು ಆ ವ್ಯಾಪ್ತಿಗೆ ತರಲಾಗುತ್ತದೆ. ವಿನಂತಿ ನಡೆಯುವಾಗ ನಿಮ್ಮ ಬ್ಯಾಲೆನ್ಸ್‌ನಿಂದ ಕಾಯ್ದಿರಿಸುವ ಮೊತ್ತವೂ ಇದೇ. ಹೋಸ್ಟ್ ಮಾಡಲಾದ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್‌ಗಳು, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
stream boolean false true ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಸರ್ವರ್-ಸೆಂಟ್ ಈವೆಂಟ್‌ಗಳಾಗಿ ಕಳುಹಿಸುತ್ತದೆ. ಕೆಳಗಿನ ಸ್ಟ್ರೀಮಿಂಗ್ ನೋಡಿ. ಎಲ್ಲ ಮಾಡೆಲ್‌ಗಳು
temperature number ಸ್ಯಾಂಪ್ಲಿಂಗ್ ತಾಪಮಾನ (temperature). ಹೋಸ್ಟ್ ಮಾಡಲಾದ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್‌ಗಳಲ್ಲಿ ಮೌಲ್ಯಗಳನ್ನು 0 ಮತ್ತು 2 ರ ನಡುವೆ ಇರಿಸಲಾಗುತ್ತದೆ. ಹೋಸ್ಟ್ ಮಾಡಲಾದ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್‌ಗಳು, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
top_p number ನ್ಯೂಕ್ಲಿಯಸ್ ಸ್ಯಾಂಪ್ಲಿಂಗ್. ಹೋಸ್ಟ್ ಮಾಡಲಾದ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್‌ಗಳು
stop_sequences array ಗರಿಷ್ಠ 4 ಸ್ಟ್ರಿಂಗ್‌ಗಳು. ಮೊದಲು ಕಾಣಿಸಿಕೊಳ್ಳುವ ಒಂದರ ಮೊದಲೇ ಉತ್ತರ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ. stop_reason end_turn ಆಗಿಯೇ ಉಳಿಯುತ್ತದೆ. ಹೋಸ್ಟ್ ಮಾಡಲಾದ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್‌ಗಳು
tools array ಮಾಡೆಲ್ ಕರೆಯಬಹುದಾದ ಟೂಲ್‌ಗಳು, ಪ್ರತಿಯೊಂದೂ {"name", "description", "input_schema"} ರೂಪದಲ್ಲಿ. ಕೆಳಗಿನ ಟೂಲ್‌ಗಳು ನೋಡಿ. ಎಲ್ಲ ಮಾಡೆಲ್‌ಗಳು
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 ನೊಂದಿಗೆ ಕೇಳಲಾಗುತ್ತದೆ. ರಚಿತ ಔಟ್‌ಪುಟ್‌ಗಳು

ಸಿಸ್ಟಂ ಪ್ರಾಂಪ್ಟ್ ಮತ್ತು thinking ಇರುವ ವಿನಂತಿ

ಈ ವಿನಂತಿ ಸಿಸ್ಟಂ ಪ್ರಾಂಪ್ಟ್, thinking ಬಜೆಟ್, temperature ಮತ್ತು ಒಂದು ಸ್ಟಾಪ್ ಸೀಕ್ವೆನ್ಸ್ ಕಳುಹಿಸುತ್ತದೆ. ಇದು ಎಲ್ಲವನ್ನೂ ಅನ್ವಯಿಸುವ ಹೋಸ್ಟ್ ಮಾಡಲಾದ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್ ಬಳಸುತ್ತದೆ.

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 ಪ್ರಾಂಪ್ಟ್ ಕ್ಯಾಶ್‌ನಿಂದ ಓದಿದ ಟೋಕನ್‌ಗಳನ್ನು ಇತರ ಇನ್‌ಪುಟ್ ಟೋಕನ್‌ಗಳಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ವರದಿ ಮಾಡುತ್ತದೆ.

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

ಸಿಸ್ಟಂ ಪ್ರಾಂಪ್ಟ್

system ಒಂದು ಸ್ಟ್ರಿಂಗ್, ಅಥವಾ [{"type": "text", "text": "…"}] ರೂಪದ ಪಠ್ಯ ಬ್ಲಾಕ್‌ಗಳ ಅರೇ. ಬ್ಲಾಕ್‌ಗಳ ಪಠ್ಯಗಳನ್ನು ಸಾಲು ವಿರಾಮದೊಂದಿಗೆ ಜೋಡಿಸಲಾಗುತ್ತದೆ.

ಇದನ್ನು ಹೋಸ್ಟ್ ಮಾಡಲಾದ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್‌ಗಳು, shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro ಮತ್ತು shannon-coder-1 ಅನ್ವಯಿಸುತ್ತವೆ. Shannon 3 ಕುಟುಂಬದ id ಯೊಂದಿಗೆ, ಪಾಲಿಸಬೇಕಾದ ಸೂಚನೆಗಳನ್ನು user ಸಂದೇಶದಲ್ಲಿ ಇರಿಸಿ.

ಸಂದೇಶಗಳು ಮತ್ತು ಕಂಟೆಂಟ್ ಬ್ಲಾಕ್‌ಗಳು

ಸಂದೇಶಕ್ಕೆ role, ಅಂದರೆ user ಅಥವಾ assistant, ಮತ್ತು content ಇರುತ್ತದೆ. content ಒಂದು ಸ್ಟ್ರಿಂಗ್, ಅಥವಾ ಬ್ಲಾಕ್‌ಗಳ ಅರೇ.

ಬ್ಲಾಕ್ ವಿವರಣೆ ಲಭ್ಯವಿರುವುದು
{"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 ಒಂದು ಸ್ಟ್ರಿಂಗ್, ಅಥವಾ ಪಠ್ಯ ಬ್ಲಾಕ್‌ಗಳ ಪಟ್ಟಿ. ಎಲ್ಲ ಮಾಡೆಲ್‌ಗಳು

ಹಿಂದಿನ ಪ್ರತಿಕ್ರಿಯೆಯ content ಅನ್ನು ಹಾಗೆಯೇ ಮರಳಿ ಕಳುಹಿಸಬಹುದು: text ಮತ್ತು tool_use ಬ್ಲಾಕ್‌ಗಳನ್ನು ಓದಲಾಗುತ್ತದೆ, thinking ಬ್ಲಾಕ್‌ಗಳನ್ನು ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತದೆ.

Shannon ಹಂತಗಳಲ್ಲಿ ಚಿತ್ರಗಳು ಮತ್ತು ಡಾಕ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಕೊನೆಯ user ಸಂದೇಶದಿಂದ ಓದಲಾಗುತ್ತದೆ. ಗಾತ್ರಗಳು ಮತ್ತು ಮಿತಿಗಳಿಗೆ ತಮ್ಮದೇ ಪುಟವಿದೆ. ಚಿತ್ರಗಳು ಮತ್ತು ಫೈಲ್‌ಗಳು

Thinking

ಹೋಸ್ಟ್ ಮಾಡಲಾದ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್‌ಗಳು thinking ಅನ್ನು ರೀಸನಿಂಗ್ ಪ್ರಯತ್ನಕ್ಕೆ ಮ್ಯಾಪ್ ಮಾಡುತ್ತವೆ. ಫೀಲ್ಡ್ ಇಲ್ಲದಿದ್ದರೆ ಪ್ರಯತ್ನ ಹೆಚ್ಚು.

ರೂಪ budget_tokens ಪರಿಣಾಮ
{"type": "disabled"} ರೀಸನಿಂಗ್ ಇಲ್ಲ. ಪ್ರತಿಕ್ರಿಯೆಯಲ್ಲಿ thinking ಬ್ಲಾಕ್ ಇರುವುದಿಲ್ಲ.
{"type": "enabled", "budget_tokens": 2048} ≤ 2,048 ಕಡಿಮೆ ಪ್ರಯತ್ನ.
{"type": "enabled", "budget_tokens": 8192} ≤ 8,192 ಮಧ್ಯಮ ಪ್ರಯತ್ನ.
{"type": "enabled", "budget_tokens": 16000} > 8,192 ಹೆಚ್ಚು ಪ್ರಯತ್ನ.

ರೀಸನಿಂಗ್ ಮಾಡುವ ಮಾಡೆಲ್ ತನ್ನ ರೀಸನಿಂಗ್ ಅನ್ನು ಪಠ್ಯದ ಮೊದಲು {"type": "thinking", "thinking": "…"} ಬ್ಲಾಕ್ ಆಗಿ ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ರೀಸನಿಂಗ್ ಮಾಡುವ Shannon ಹಂತಗಳೂ ಅದನ್ನು ಕಳುಹಿಸುತ್ತವೆ.

ಪ್ರಯತ್ನದ ಮಟ್ಟಗಳನ್ನು ಅವುಗಳ ಸ್ವಂತ ಪುಟದಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ. ರೀಸನಿಂಗ್ ಪ್ರಯತ್ನ

ಟೂಲ್‌ಗಳು

ಟೂಲ್ ಎಂದರೆ ನಿಮ್ಮ ಕೋಡ್ ಚಲಾಯಿಸುವ ಫಂಕ್ಷನ್. ಪ್ರತಿಯೊಂದನ್ನೂ 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 ಇರುವ ಎಂಟ್ರಿ. stream ನಲ್ಲಿ ಇದು 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, ಸ್ಟ್ರೀಮ್‌ಗಳಲ್ಲಿ

ಸ್ಟ್ರೀಮಿಂಗ್

ಸರ್ವರ್-ಸೆಂಟ್ ಈವೆಂಟ್‌ಗಳಿಗಾಗಿ 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 ಮೂಲಕ ಸಂಖ್ಯೆ ಪಡೆಯುತ್ತವೆ, ಮತ್ತು ಒಂದು ಬ್ಲಾಕ್ ಪೂರ್ಣಗೊಂಡ ನಂತರವೇ ಮುಂದಿನದು ತೆರೆಯುತ್ತದೆ. ಪ್ರತಿ ಬ್ಲಾಕ್ ಅನ್ನು ಅದರ ಸಂಖ್ಯೆಯಿಂದ ಅಲ್ಲ, ಅದರ ವಿಧದಿಂದ ಓದಿ: ಸ್ಟ್ರೀಮ್ ಮೊದಲು ಖಾಲಿ 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 ಸೆಕೆಂಡಿಗೆ.
ಹೋಸ್ಟ್ ಮಾಡಲಾದ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್‌ಗಳು ಮಾಡೆಲ್ ಕೆಲಸ ಮಾಡುತ್ತಿರುವಾಗ ಪ್ರತಿ 15 ಸೆಕೆಂಡಿಗೆ : keepalive ಎಂಬ ಕಾಮೆಂಟ್ ಸಾಲು.

ವಿಫಲವಾಗುವ ಸ್ಟ್ರೀಮ್

ಸ್ಟ್ರೀಮ್ ಆರಂಭವಾದ ನಂತರದ ವೈಫಲ್ಯವು ದೋಷ ಪ್ರತಿಕ್ರಿಯೆಯ ಅದೇ ಬಾಡಿ ಇರುವ 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. ಫ್ಲಡ್ ಪ್ರೊಟೆಕ್ಷನ್: ನಿಮ್ಮ ಖಾತೆಯಲ್ಲಿ ಒಂದು ನಿಮಿಷದಲ್ಲಿ 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 ಸಂದೇಶ ವಿನಂತಿಯ ಅದೇ ಬಾಡಿಯನ್ನು (model, system, messages, tools) ತೆಗೆದುಕೊಂಡು {"input_tokens": n} ಹಿಂತಿರುಗಿಸುತ್ತದೆ: ವಿನಂತಿಗೆ ಶುಲ್ಕ ವಿಧಿಸಲಾಗುವ ಇನ್‌ಪುಟ್ ಟೋಕನ್‌ಗಳ ಸಂಖ್ಯೆ. ಇದು ಹೋಸ್ಟ್ ಮಾಡಲಾದ ಓಪನ್-ವೇಟ್ ಮಾಡೆಲ್‌ಗಳಿಗೆ ಎಣಿಸುತ್ತದೆ, ಉಚಿತ, ಮತ್ತು ಫ್ಲಡ್ ಪ್ರೊಟೆಕ್ಷನ್ (ನಿಮಿಷಕ್ಕೆ ವಿನಂತಿ ಮಿತಿ) ಇದನ್ನು ಲೆಕ್ಕಿಸುವುದಿಲ್ಲ.

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)

ಎಣಿಕೆಗೆ ತನ್ನದೇ ಪುಟವಿದೆ, ಸರಳ-ಪಠ್ಯ ಎಂಡ್‌ಪಾಯಿಂಟ್ ಮತ್ತು ಮಿತಿಗಳೊಂದಿಗೆ. ಟೋಕನ್ ಎಣಿಕೆ