Μετάβαση στο περιεχόμενο
Μορφή Anthropic

Μορφή Anthropic

Το POST /v1/messages δέχεται αίτημα σε μορφή Anthropic Messages και απαντά στην ίδια μορφή, με streaming ή χωρίς. Χρησιμοποιήστε το με το Anthropic SDK και με εργαλεία χτισμένα πάνω του, όπως το Claude Code: ορίστε το base URL, χρησιμοποιήστε το κλειδί Shannon API σας και δώστε ένα id μοντέλου Shannon.

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

Στρέψτε το Anthropic SDK στο base URL του Shannon. Το 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 που είναι λίστα από blocks. Βρείτε τα blocks από το type τους: όταν το μοντέλο συλλογίστηκε, το πρώτο block είναι 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 για το αίτημα. Επιστρέφεται αμετάβλητο στην απάντηση· χωρίς αυτό, η απάντηση φέρει ένα id 12 δεκαεξαδικών χαρακτήρων.

Πεδία αιτήματος

Μόνο το messages είναι υποχρεωτικό. Η στήλη Εφαρμόζεται από ονομάζει τα μοντέλα στα οποία ένα πεδίο αλλάζει την απάντηση. Τα φιλοξενούμενα μοντέλα ανοιχτών βαρών είναι τα δώδεκα ids της λίστας μοντέλων· η οικογένεια Shannon 3 είναι τα shannon-3, shannon-3-pro, shannon-3.1 και shannon-3.1-pro. Μοντέλα & τιμές

Πεδίο Τύπος Προεπιλογή Περιγραφή Εφαρμόζεται από
model string shannon-1.6-lite Ένα id μοντέλου Shannon από τη λίστα μοντέλων. Στείλτε το με κάθε αίτημα. Η αντιστοίχιση δεν κάνει διάκριση πεζών-κεφαλαίων. Οποιοδήποτε άλλο όνομα επιστρέφει 400 unknown model, οπότε ένα εργαλείο που στέλνει δικά του ονόματα μοντέλων πρέπει να ρυθμιστεί σε id Shannon. Όλα τα μοντέλα
messages array Υποχρεωτικό. Η συνομιλία, με το παλαιότερο μήνυμα πρώτο, με τους ρόλους user και assistant. Δείτε παρακάτω Μηνύματα και blocks περιεχομένου. Όλα τα μοντέλα
system string | array Οδηγίες για το μοντέλο: ένα string ή ένας πίνακας από blocks κειμένου. Δείτε παρακάτω System prompt. Φιλοξενούμενα μοντέλα ανοιχτών βαρών, shannon-1.6-*, shannon-2-*, shannon-coder-1
max_tokens integer 4096 Ανώτατο όριο της απάντησης, σε tokens. Προαιρετικό σε αυτό το endpoint· το 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 Θερμοκρασία δειγματοληψίας. Στα φιλοξενούμενα μοντέλα ανοιχτών βαρών οι τιμές διατηρούνται μεταξύ 0 και 2. Φιλοξενούμενα μοντέλα ανοιχτών βαρών, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
top_p number Δειγματοληψία nucleus. Φιλοξενούμενα μοντέλα ανοιχτών βαρών
stop_sequences array Έως 4 strings. Η απάντηση τελειώνει πριν από το πρώτο που εμφανίζεται. Το 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, και 65,536 στο shannon-coder-1.

Τα metadata, top_k, service_tier και οι δείκτες cache_control σε blocks γίνονται δεκτά ώστε ο υπάρχων κώδικας client να τρέχει αμετάβλητος. Δεν αλλάζουν την απάντηση· το prompt caching στα φιλοξενούμενα μοντέλα ανοιχτών βαρών είναι αυτόματο.

Μια απάντηση JSON σύμφωνη με schema ζητείται με response_format στα Chat Completions και με text.format στα Responses. Δομημένες έξοδοι

Ένα αίτημα με system prompt και thinking

Αυτό το αίτημα στέλνει ένα system prompt, έναν προϋπολογισμό thinking, μια θερμοκρασία και μια ακολουθία διακοπής. Χρησιμοποιεί φιλοξενούμενο μοντέλο ανοιχτών βαρών, το οποίο τα εφαρμόζει όλα.

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 που διαβάστηκαν από το prompt cache και τα υπόλοιπα tokens εισόδου.

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

System prompt

Το system είναι string ή πίνακας από blocks κειμένου με τη μορφή [{"type": "text", "text": "…"}]. Τα κείμενα των blocks ενώνονται με αλλαγή γραμμής.

Εφαρμόζεται από τα φιλοξενούμενα μοντέλα ανοιχτών βαρών, τα shannon-1.6-lite, shannon-1.6-pro, shannon-2-lite, shannon-2-pro και shannon-coder-1. Με id της οικογένειας Shannon 3, βάλτε τις οδηγίες που πρέπει να ισχύουν στο μήνυμα χρήστη.

Μηνύματα και blocks περιεχομένου

Ένα μήνυμα έχει ένα role, user ή assistant, και ένα content. Το content είναι string ή πίνακας από blocks.

Block Περιγραφή Διαθέσιμο σε
{"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": "…"}} Ένα έγγραφο (PDF, Word, PowerPoint ή Excel) σε μήνυμα user, ως base64 ή με URL. Οικογένεια Shannon 3
{"type": "tool_use", "id": "toolu_…", "name": "…", "input": {…}} Σε μήνυμα assistant: μια κλήση εργαλείου που έκανε το μοντέλο σε προηγούμενη απάντηση. Όλα τα μοντέλα
{"type": "tool_result", "tool_use_id": "toolu_…", "content": "…"} Σε μήνυμα user: το αποτέλεσμα αυτής της κλήσης. Το content είναι string ή λίστα από blocks κειμένου. Όλα τα μοντέλα

Μπορείτε να στείλετε πίσω το content μιας προηγούμενης απάντησης όπως είναι: τα blocks text και tool_use διαβάζονται, τα blocks thinking παραλείπονται.

Στα επίπεδα Shannon οι εικόνες και τα έγγραφα διαβάζονται από το τελευταίο μήνυμα user. Τα μεγέθη και τα όρια έχουν τη δική τους σελίδα. Εικόνες και αρχεία

Thinking

Τα φιλοξενούμενα μοντέλα ανοιχτών βαρών αντιστοιχίζουν το thinking σε προσπάθεια συλλογισμού. Χωρίς το πεδίο η προσπάθεια είναι υψηλή.

Μορφή budget_tokens Αποτέλεσμα
{"type": "disabled"} Χωρίς συλλογισμό. Η απάντηση δεν έχει block thinking.
{"type": "enabled", "budget_tokens": 2048} ≤ 2,048 Χαμηλή προσπάθεια.
{"type": "enabled", "budget_tokens": 8192} ≤ 8,192 Μεσαία προσπάθεια.
{"type": "enabled", "budget_tokens": 16000} > 8,192 Υψηλή προσπάθεια.

Ένα μοντέλο που συλλογίζεται επιστρέφει τον συλλογισμό του ως block {"type": "thinking", "thinking": "…"} πριν από το κείμενο. Τα επίπεδα Shannon που συλλογίζονται τον στέλνουν επίσης.

Οι προσπάθειες περιγράφονται στη δική τους σελίδα. Προσπάθεια συλλογισμού

Εργαλεία

Ένα εργαλείο είναι μια συνάρτηση που εκτελεί ο κώδικάς σας. Περιγράψτε το καθένα με ένα name, ένα description και ένα input_schema. Όταν το μοντέλο θέλει ένα εργαλείο, η απάντηση περιέχει ένα block 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"
    }
  }
]

Εκτελέστε το εργαλείο και στείλτε ξανά το αίτημα με την κλήση και ένα block 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. Η αναζήτηση στον ιστό δεν είναι εργαλείο σε αυτό το endpoint: ορίστε το πεδίο web_search.

Ο βρόχος εργαλείων περιγράφεται πλήρως στη δική του σελίδα. Κλήση συναρτήσεων

Η απάντηση

Πεδίο Τύπος Περιγραφή Αποστέλλεται από
id string msg_ ακολουθούμενο από 32 δεκαεξαδικούς χαρακτήρες. Όλα τα μοντέλα
type string Πάντα message. Όλα τα μοντέλα
role string Πάντα assistant. Όλα τα μοντέλα
model string Το κανονικό id του μοντέλου που απάντησε. Όλα τα μοντέλα
content array Τα blocks της απάντησης, με αυτή τη σειρά: 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 είναι το μέρος του prompt που διαβάστηκε από το cache· το input_tokens είναι το υπόλοιπο. Το cache_creation_input_tokens είναι πάντα 0. Φιλοξενούμενα μοντέλα ανοιχτών βαρών

Blocks της απάντησης

Block Περιγραφή
{"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, σε streams

Streaming

Ορίστε το stream σε true για server-sent events. Κάθε frame έχει μια γραμμή event: με το όνομα του συμβάντος και μια γραμμή data: με ένα αντικείμενο JSON που επαναλαμβάνει το όνομα στο type. Οι βοηθοί stream του 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 Ανοίγει ένα block. Το content_block είναι ένα κενό block text ή thinking, ή ένα block tool_use με το id και το name του.
content_block_delta index, delta {"type": "thinking_delta", "thinking"} Ένα κομμάτι του συλλογισμού, για ένα block thinking.
content_block_delta index, delta {"type": "text_delta", "text"} Ένα κομμάτι της απάντησης, για ένα block text.
content_block_delta index, delta {"type": "input_json_delta", "partial_json"} Τα ορίσματα μιας κλήσης εργαλείου, ολόκληρα σε ένα delta, για ένα block tool_use.
content_block_stop index Το block με αυτό το index ολοκληρώθηκε.
message_delta delta {stop_reason, stop_sequence}, usage Το τέλος της απάντησης: το delta.stop_reason και το usage του αιτήματος.
message_stop Πάντα τελευταίο.

Τα blocks αριθμούνται με το index με τη σειρά που ανοίγουν και ένα block ολοκληρώνεται πριν ανοίξει το επόμενο. Διαβάστε κάθε block από τον τύπο του και όχι από τον αριθμό του: ένα stream μπορεί να ανοίξει πρώτα ένα κενό block text, μετά το block thinking, και να παραδώσει την απάντηση σε ένα μεταγενέστερο block 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 Ένα συμβάν ping με δεδομένα {"type": "ping"}, κάθε 15 δευτερόλεπτα.
Φιλοξενούμενα μοντέλα ανοιχτών βαρών Μια γραμμή σχολίου : keepalive, κάθε 15 δευτερόλεπτα όσο εργάζεται το μοντέλο.

Ένα stream που αποτυγχάνει

Μια αποτυχία μετά την έναρξη του stream είναι ένα συμβάν error με το ίδιο σώμα με μια απάντηση σφάλματος: {"type": "error", "error": {"type", "message"}}. Τα συμβάντα κλεισίματος, message_delta και message_stop, ακολουθούν παρ' όλα αυτά. Θεωρήστε την απάντηση αποτυχημένη και στείλτε ξανά το αίτημα.

Σφάλματα

Τα σφάλματα χρησιμοποιούν το σώμα σφάλματος της Anthropic: το type είναι error και το αντικείμενο error περιέχει ένα type και ένα message. Ο πίνακας απαριθμεί όσα επιστρέφει πιο συχνά αυτό το endpoint. Ο πλήρης κατάλογος, με το τι να δοκιμάσετε ξανά, έχει τη δική του σελίδα. Χειρισμός σφαλμάτων

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 δεν είναι id μοντέλου Shannon.
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: οι κλήσεις Shannon Coder του πλάνου σας για το τρέχον παράθυρο των 4 ωρών έχουν εξαντληθεί.
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 εισόδου που θα χρεωνόταν το αίτημα. Μετρά για τα φιλοξενούμενα μοντέλα ανοιχτών βαρών, είναι δωρεάν και δεν προσμετράται στην προστασία από υπερφόρτωση.

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)

Η μέτρηση έχει τη δική της σελίδα, με το endpoint απλού κειμένου και τα όρια. Καταμέτρηση tokens