Gafee gaa n'ọdịnaya
Chat Completions

Chat Completions

POST /v1/chat/completions na-anabata mkparịta ụka ma weghachi ozi ọzọ nke model n'usoro OpenAI Chat Completions. Jiri ya site na SDK OpenAI ọ bụla ma ọ bụ site na HTTP nkịtị; peeji a bụ ntụaka field site na field.

POST https://api.shannon-ai.com/v1/chat/completions

Request kacha nta bụ model id na otu user message.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1",
)

response = client.chat.completions.create(
    model="shannon-3",
    messages=[{"role": "user", "content": "Say hello in one sentence."}],
)

print(response.choices[0].message.content)

Azịza bụ otu JSON object:

200 JSON
{
  "id": "chatcmpl-5f0c1e7a9b3d4c62a8e1f07d2b46c9a3",
  "object": "chat.completion",
  "created": 1791625200,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello, it is good to meet you.",
        "reasoning_content": "The user wants a greeting in one sentence. Keep it short and friendly."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1184,
    "completion_tokens": 46,
    "total_tokens": 1230
  }
}

Headers

Request headers

Header Uru Nkọwa
Authorization Bearer YOUR_API_KEY API key gị. A na-anabata x-api-key: YOUR_API_KEY n'ọnọdụ ya n'endpoint ọ bụla.
Content-Type application/json Achọrọ. Uru ọ bụla ọzọ na-eweghachi 415.
x-request-id Nhọrọ. Id nke gị maka request ahụ. Ọ na-alọghachi n'azịza na-agbanwebeghị.

Reply headers

Header Nkọwa
x-request-id Na azịza ọ bụla, gụnyere njehie na streams: uru ị zipụrụ, ma ọ bụ mkpụrụedemede hexadecimal 12 mgbe ị zipụghị ọ bụla. Kpọọ ya mgbe ị na-akọ nsogbu.
content-type application/json, ma ọ bụ text/event-stream mgbe stream bụ true.

Request fields

Naanị messages ka a chọrọ. Ogidi Ndị na-etinye ya na-akpọ aha models ndị field na-agbanwe azịza na ha. Hosted open-weight models bụ ids iri na abụọ nke ndepụta model; ezinụlọ Shannon 3 bụ shannon-3, shannon-3-pro, shannon-3.1 na shannon-3.1-pro. Models & ọnụahịa

Field Ụdị Default Nkọwa Ndị na-etinye ya
model string shannon-1.6-lite Model na-azaghachi: id sitere na ndepụta model. Zipu ya na request ọ bụla. Nhọrọ anaghị eche mkpụrụedemede nta ma ọ bụ nnukwu. Id e bipụtabeghị na-eweghachi 400 unknown model. Model niile
messages array Chọrọ. Mkparịta ụka, ozi kacha ochie buru ụzọ. Lee Messages n'okpuru. Model niile
stream boolean false true na-ezipụ azịza dị ka server-sent events mgbe a na-ede ya. Model niile
max_tokens integer 4096 Oke elu nke azịza, na tokens. A na-edozi uru dị n'èzí 1 ruo 65,536 ka ọ banye n'oke ahụ. Ọ bụkwa ọnụọgụ a na-ewepụta n'ime balance gị mgbe request na-aga. Lee Ogologo output n'okpuru. Hosted open-weight models, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
max_completion_tokens integer Otu ihe ahụ dị ka max_tokens. Mgbe a zipụrụ abụọ, a na-eji max_tokens. Hosted open-weight models, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
temperature number Sampling temperature. Na hosted open-weight models default bụ 1 ma a na-edebe uru n'agbata 0 na 2. Hosted open-weight models, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
top_p number 0.95 Nucleus sampling. A na-edebe uru n'agbata 0 na 1. Hosted open-weight models
seed integer Seed nke sampler, onye ọ bụla integer. Na-enweghị ya, a na-enweta seed site na model na mkparịta ụka, yabụ otu request e zipụrụ ugboro abụọ na-eji otu seed. Hosted open-weight models
stop string | array String ma ọ bụ array nke strings. A na-eji ruo 4. Azịza na-akwụsị tupu nke mbụ pụtara; a naghị eweghachi stop text n'onwe ya. Hosted open-weight models
reasoning_effort string high Ole model na-eche echiche tupu ọ zaa: off, low, medium ma ọ bụ high. none na minimal pụtara off, default pụtara medium, max pụtara high. Uru ọ bụla ọzọ na-eweghachi 400. Hosted open-weight models
reasoning object Otu setting ahụ n'udi object: {"effort": "low"}. Mgbe a zipụrụ abụọ, a na-eji reasoning_effort. Hosted open-weight models
tools array Functions model nwere ike ịkpọ, nke ọ bụla dị ka {"type": "function", "function": {"name", "description", "parameters"}}. Oku model na-alọghachi n'ime tool_calls; koodu gị na-agba ha. Model niile
tool_choice string | object auto "auto" na-ahapụ model ka ọ kpebie. "required" na-eme ka ọ kpọọ tool. {"type": "function", "function": {"name": "…"}} na-eme ka ọ kpọọ tool ahụ. Hosted open-weight models
response_format object {"type": "json_object"} maka azịza JSON, ma ọ bụ {"type": "json_schema", "json_schema": {…}} maka azịza na-eso schema gị. Ọkwa Shannon niile; hosted open-weight models dị ka e depụtara kwa id
web_search boolean false true na-ahapụ model ka ọ chọọ n'ịntanetị tupu ọ zaa. shannon-1.6-*, shannon-2-*, ezinụlọ Shannon 3

A na-anabata fields OpenAI ndị ọzọ, dị ka n, user, stream_options, parallel_tool_calls, presence_penalty, frequency_penalty, logit_bias, logprobs, metadata, store na prompt_cache_key, ka koodu client dị adị na-agba n'enweghị mgbanwe. Ha anaghị agbanwe azịza: mgbe niile enwere otu choice, ma stream na-agwụ mgbe niile na usage.

Field nwere JSON type ezighi ezi, dịka "max_tokens": "100", na-eweghachi 422. Request na-enweghị messages na-eme otu ihe ahụ.

Tools, structured output, reasoning na web search nke ọ bụla nwere peeji nke ya: Oku ọrụ, Mmepụta ahaziri, Reasoning effort, Chọọ weebụ.

Request nwere nhọrọ

Request a na-esetịpụ system message, sampling fields na reasoning effort. Ọ na-eji hosted open-weight model, nke na-etinye ha niile.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1",
)

response = client.chat.completions.create(
    model="DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
    messages=[
        {"role": "system", "content": "You are a physics teacher. Answer in two sentences."},
        {"role": "user", "content": "Why is the sky blue?"},
    ],
    max_tokens=512,
    temperature=0.3,
    top_p=0.9,
    seed=7,
    stop=["\n\n"],
    reasoning_effort="low",
)

message = response.choices[0].message
print(message.reasoning_content)  # the reasoning
print(message.content)            # the answer
print(response.usage)

Azịza nwere otu udi dị ka n'elu. usage ya na-agbakwunye nkọwa abụọ na hosted open-weight models: prompt tokens e sitere na cache gụọ na tokens e jiri maka reasoning.

200 JSON
{
  "usage": {
    "prompt_tokens": 31,
    "completion_tokens": 62,
    "total_tokens": 93,
    "prompt_tokens_details": {
      "cached_tokens": 0
    },
    "completion_tokens_details": {
      "reasoning_tokens": 21
    }
  }
}

Ogologo output

max_tokens na-eme ihe abụọ. Nke mbụ, ọ bụ ọnụọgụ tokens a na-ewepụta n'ime balance gị mgbe request na-amalite. Mgbe azịza zuru ezu, a na-eji tokens request ji dochie ọnụọgụ ahụ. Ọ bụrụ na max_tokens karịrị ihe fọdụrụ na balance gị, request na-eweghachi 429 Quota exceeded ọbụna mgbe azịza n'onwe ya ga-ekwere. Zipu max_tokens dị ala iji wepụta obere.

A na-agụ shannon-coder-1 n'ụzọ dị iche n'endpoint a: request ọ bụla bụ otu n'ime oku Shannon Coder nke plan gị, ma a naghị ewepụta tokens maka ya. Limits na balance

Nke abụọ, ọ na-eguzobe ogologo azịza na models ndị a:

Models Ihe max_tokens na-eme
shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 Azịza na-akwụsị mgbe ọ rutere oke. Stream na-agwụ mgbe ahụ na finish_reason length.
Hosted open-weight models Text nke azịza na-akwụsị na max_tokens. A naghị agụ reasoning megide ya. Uru ndị dị n'okpuru 256 na-eme dị ka 256.

Na-enweghị max_tokens ma ọ bụ max_completion_tokens, uru bụ 4,096. Na shannon-coder-1 ọ bụ 65,536.

Messages

Ozi ọ bụla bụ object nwere role na content. content bụ string, ma ọ bụ array nke akụkụ mgbe ozi na-ebu karịa text.

Role Nkọwa Ndị na-etinye ya
system Ntụziaka maka model. Tinye ya mbụ. Na ọkwa Shannon ozi system mbụ bụ nke a na-eji. Hosted open-weight models, shannon-1.6-*, shannon-2-*, shannon-coder-1
developer A na-agụ ya dị ka system. Hosted open-weight models
user Ihe ị na-ajụ. Na ọkwa Shannon ozi user ikpeazụ bụ prompt ma ozi ndị tupu ya bụ history. Model niile
assistant Azịza gara aga nke model. Debe tool_calls ya mgbe ị na-ezipụ nsonaazụ tool n'azụ ya. Model niile
tool Nsonaazụ oku tool: tool_call_id nwere id nke oku ahụ ma content nwere nsonaazụ dị ka string. Model niile

Na id nke ezinụlọ Shannon 3, tinye ntụziaka ndị ga-adịgide n'ime ozi user.

Na ọkwa Shannon request na-enweghị user text na enweghị tools na-eweghachi 400 No user message provided.

Content parts

Akụkụ Nkọwa Dị na
{"type": "text", "text": "…"} Text nkịtị. Model niile
{"type": "image_url", "image_url": {"url": "…"}} Foto, dị ka data: URL nwere base64 content ma ọ bụ dị ka http(s) URL. Ezinụlọ Shannon 3, shannon-1.6-lite, shannon-1.6-pro, na hosted open-weight models ndị depụtara image input
{"type": "file", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} Akwụkwọ (PDF, Word, PowerPoint ma ọ bụ Excel), dị ka base64 ma ọ bụ site na URL. Ezinụlọ Shannon 3

Nha, oke na ndepụta zuru ezu nke udi nwere peeji nke ha. Images na files

Azịza object

Field Ụdị Nkọwa
id string chatcmpl- sochiri mkpụrụedemede hexadecimal 32.
object string Mgbe niile chat.completion.
created integer Oge azịza, na sekọnd Unix.
model string Canonical id nke model zara. Ọ nwere ike ịdị iche n'ide ya na id ị zipụrụ.
choices array Mgbe niile otu choice kpọmkwem, nwere index 0.
choices[0].message.role string Mgbe niile assistant.
choices[0].message.content string | null Text nke azịza. Na tool_calls ọ bụ null na ọkwa Shannon; hosted open-weight models nwere ike iziga text n'akụkụ oku.
choices[0].message.reasoning_content string | null Reasoning model dere tupu azịza, ma ọ bụ null mgbe ọ nweghị.
choices[0].message.tool_calls array Ọ na-adị naanị mgbe model na-akpọ tools. Entry ọ bụla nwere id, type function, na function nwere name na arguments dị ka JSON string.
choices[0].message.annotations array Naanị na request nwere web_search: true nke search ya chọtara ihe. Otu url_citation maka isi mmalite ọ bụla akara na content na-akpọ aha, nwere url, title, start_index na end_index (ọnọdụ akara ahụ, e gụrụ n'mkpụrụedemede, a gụnyeghị njedebe).
choices[0].finish_reason string Ihe mere azịza ji kwụsị. Lee Ihe mere azịza ji kwụsị.
usage object Tokens nke request. Lee Usage.
sources array Naanị na request nwere web_search: true nke search ya chọtara ihe: results e nyere model, nke ọ bụla nwere index, title na url. [1] n'azịza bụ entry nwere index 1.

Ihe mere azịza ji kwụsị

finish_reason Nkọwa
stop Model mechiri azịza ya, ma ọ bụ stop string pụtara.
tool_calls Model na-akpọ tool otu ma ọ bụ karịa. Gbaa ha ma zipu nsonaazụ n'ime ozi tool.
length E bipụrụ azịza ahụ na oke output. A na-akọ ya n'ime streams nke shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 na ezinụlọ Shannon 3.

Azịza na-abụghị streamed na-akọ stop ma ọ bụ tool_calls.

Usage

Field Ụdị Nkọwa Dị na
usage.prompt_tokens integer Input tokens. Model niile
usage.completion_tokens integer Output tokens: reasoning, azịza na oku tool ọnụ. Model niile
usage.total_tokens integer prompt_tokens gbakwunyere completion_tokens. Model niile
usage.prompt_tokens_details.cached_tokens integer Akụkụ nke prompt_tokens e sitere na prompt cache gụọ. Hosted open-weight models
usage.completion_tokens_details.reasoning_tokens integer Akụkụ nke completion_tokens e jiri maka reasoning. Hosted open-weight models

Na hosted open-weight models, prompt_tokens bụ ozi gị na nkọwa tool agụrụ site na tokenizer nke model n'onwe ya, gbakwunyere tokens nke foto ọ bụla. Endpoints ịgụ token na-eweghachi otu nọmba ahụ tupu ị zipụ. Ịgụ tokens

Na ọkwa Shannon, prompt_tokens na-agụ ihe niile model gụrụ ide azịza, yabụ ọ karịrị text nke ozi gị naanị.

Streaming

Mgbe stream bụ true azịza na-abịa dị ka chat.completion.chunk events ma na-agwụ na data: [DONE]. Chunk ikpeazụ tupu ya na-ebu finish_reason na usage; achọghị stream_options. Udi chunk, ahịrị keep-alive na njehie n'ime stream nwere peeji nke ha. Nzipu ozugbo

Njehie

Njehie bụ JSON object nwere member error. A na-agba nlele n'usoro a: API key, request body, model id, mgbe ahụ balance. Tebụl a depụtara ihe endpoint a na-eweghachi n'ọtụtụ oge. Ndepụta zuru ezu, na ihe a ga-anwa ọzọ, nwere peeji nke ya. Njikwa njehie

400 JSON
{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: no-such-model"
  }
}
Status Ụdị Ozi Mgbe
401 authentication_error Missing authentication
Invalid API key
Ezipụghị API key, ma ọ bụ key ahụ amaghị ama ma ọ bụ akagbuola ya.
400 invalid_request_error unknown model: <id> model abụghị id e bipụtara.
400 invalid_request_error No user message provided Ọkwa Shannon: request enweghị user text na enweghị tools.
400 invalid_request_error <id> does not accept image input Ezigara akụkụ foto na hosted open-weight model na-enweghị image input.
400 invalid_request_error <id> does not accept response_format Ezigara response_format na hosted open-weight model na-enweghị structured output.
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high reasoning_effort nwere uru nọ n'èzí ndepụta.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … messages na-efu, ma ọ bụ field nwere JSON type ezighi ezi.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan max_tokens karịrị ihe fọdụrụ na balance gị.
429 rate_limit_error Too many requests. Retry in <n>s. Flood protection: karịa requests 120 n'otu nkeji n'akaụntụ gị.
500 server_error The model backend failed to answer. Please retry. Model emepụtaghị azịza. Zipu request ahụ ọzọ.
502 api_error The model backend failed to answer. Please retry. Otu ihe ahụ, na ezinụlọ Shannon 3 na hosted open-weight models.