Chat Completions
POST /v1/chat/completions wuxuu qaataa wada-hadal wuxuuna soo celiyaa fariinta xigta ee model-ka qaabka OpenAI Chat Completions. Ka isticmaal SDK kasta oo OpenAI ah ama HTTP caadi ah; boggani waa tixraaca field-ba-field.
POST https://api.shannon-ai.com/v1/chat/completions
Codsiga ugu yar waa id model iyo hal fariin isticmaale.
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) import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://api.shannon-ai.com/v1",
});
const response = await client.chat.completions.create({
model: "shannon-3",
messages: [{ role: "user", content: "Say hello in one sentence." }],
});
console.log(response.choices[0].message.content); curl https://api.shannon-ai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-3",
"messages": [{"role": "user", "content": "Say hello in one sentence."}]
}' Jawaabtu waa hal shay JSON ah:
{
"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
}
} Header-yo
Header-yada codsiga
| Header | Qiime | Sharaxaad |
|---|---|---|
Authorization | Bearer YOUR_API_KEY | Furahaaga API. x-api-key: YOUR_API_KEY ayaa la aqbalaa meeshiisa endpoint kasta. |
Content-Type | application/json | Loo baahan yahay. Qiime kale kasta wuxuu soo celiyaa 415. |
x-request-id | Ikhtiyaari. Id-gaaga u gaar ah ee codsiga. Jawaabta wuu ku soo noqdaa isbeddel la'aan. |
Header-yada jawaabta
| Header | Sharaxaad |
|---|---|
x-request-id | Jawaab kasta, khaladaad iyo streams ku jira: qiimaha aad dirtay, ama 12 xaraf hexadecimal ah marka aadan dirin. Ku xus marka aad dhibaato sheegayso. |
content-type | application/json, ama text/event-stream marka stream yahay true. |
Field-yada codsiga
Kaliya messages ayaa loo baahan yahay. Tiirka Waxay dabaqaan wuxuu magacaabayaa model-yada field-ku jawaabta ku beddelo. Model-yada open-weight ee la martigeliyo waa laba iyo toban id oo ka mid ah liiska model-yada; qoyska Shannon 3 waa shannon-3, shannon-3-pro, shannon-3.1 iyo shannon-3.1-pro. Model-yo & qiimo
| Field | Nooc | Default | Sharaxaad | Waxay dabaqaan |
|---|---|---|---|---|
model | string | shannon-1.6-lite | Model-ka jawaabaya: id ka mid ah liiska model-yada. U dir codsi kasta. Isbarbardhigga ma kala saaro xarfaha waaweyn iyo yaryar. Id aan la daabacin wuxuu soo celiyaa 400 unknown model. | Dhammaan model-yada |
messages | array | Loo baahan yahay. Wada-hadalka, fariinta ugu da'da weyn marka hore. Eeg Fariimaha hoose. | Dhammaan model-yada | |
stream | boolean | false | true wuxuu jawaabta u diraa sida server-sent events intii la qorayo. | Dhammaan model-yada |
max_tokens | integer | 4096 | Xadka sare ee jawaabta, token-yo ahaan. Qiime ka baxsan 1 ilaa 65,536 waxaa loo raraa xaddigaas gudahiisa. Waa sidoo kale cadadka laga kala dhigo haraaggaaga inta codsigu socdo. Eeg Dhererka output-ka hoose. | Model-yada open-weight ee la martigeliyo, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 |
max_completion_tokens | integer | Isla max_tokens. Marka labadaba la diro, max_tokens ayaa la isticmaalaa. | Model-yada open-weight ee la martigeliyo, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
temperature | number | Sampling temperature. Model-yada open-weight ee la martigeliyo default-ku waa 1 qiimayaashuna waxaa lagu hayaa 0 iyo 2 dhexdooda. | Model-yada open-weight ee la martigeliyo, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
top_p | number | 0.95 | Nucleus sampling. Qiimayaasha waxaa lagu hayaa 0 iyo 1 dhexdooda. | Model-yada open-weight ee la martigeliyo |
seed | integer | Seed-ka sampler-ka, tiro kasta oo integer ah. La'aantiis, seed-ka waxaa laga soo qaadaa model-ka iyo wada-hadalka, sidaas darteed isla codsiga mar labaad la diro wuxuu isticmaalaa isla seed. | Model-yada open-weight ee la martigeliyo | |
stop | string | array | String ama array ah strings. Ilaa 4 ayaa la isticmaalaa. Jawaabtu waxay dhammaanaysaa kuwa ugu horreeya ee soo muuqda ka hor; qoraalka joojinta laftiisa lama soo celiyo. | Model-yada open-weight ee la martigeliyo | |
reasoning_effort | string | high | Intee in leeg model-ku ka fikiraa ka hor inta uusan jawaabin: off, low, medium ama high. none iyo minimal waxay la macno yihiin off, default wuxuu la macno yahay medium, max wuxuu la macno yahay high. Qiime kale kasta wuxuu soo celiyaa 400. | Model-yada open-weight ee la martigeliyo |
reasoning | object | Isla dejinta qaab shay ah: {"effort": "low"}. Marka labadaba la diro, reasoning_effort ayaa la isticmaalaa. | Model-yada open-weight ee la martigeliyo | |
tools | array | Functions-ka model-ku wici karo, mid kasta sida {"type": "function", "function": {"name", "description", "parameters"}}. Wicitaannada model-ka waxay ku soo noqdaan tool_calls; code-kaagu wuu orodsiiyaa. | Dhammaan model-yada | |
tool_choice | string | object | auto | "auto" wuxuu u daayaa model-ka inuu go'aansado. "required" wuxuu ku khasbaa inuu wacdo tool. {"type": "function", "function": {"name": "…"}} wuxuu ku khasbaa inuu wacdo tool-kaas. | Model-yada open-weight ee la martigeliyo |
response_format | object | {"type": "json_object"} jawaab JSON ah, ama {"type": "json_schema", "json_schema": {…}} jawaab raacaysa schema-gaaga. | Dhammaan heerarka Shannon; model-yada open-weight ee la martigeliyo sida id kasta loogu liis gareeyay | |
web_search | boolean | false | true wuxuu u oggolaadaa model-ka inuu raadiyo webka ka hor inta uusan jawaabin. | shannon-1.6-*, shannon-2-*, qoyska Shannon 3 |
Field-yada kale ee OpenAI, sida n, user, stream_options, parallel_tool_calls, presence_penalty, frequency_penalty, logit_bias, logprobs, metadata, store iyo prompt_cache_key, waa la aqbalaa si code-ka macmiilka ee jira u shaqeeyo isbeddel la'aan. Jawaabta ma beddelaan: had iyo jeer hal choice ayaa jira, stream-kuna had iyo jeer wuxuu ku dhammaadaa usage.
Field leh nooc JSON qaldan, tusaale ahaan "max_tokens": "100", wuxuu soo celiyaa 422. Codsi aan lahayn messages sidoo kale.
Tools, structured output, reasoning iyo raadinta webka mid kastaa wuxuu leeyahay bog u gaar ah: Wacyigelinta Shaqada, Waxsoosaarka qaabaysan, Effort-ka reasoning-ka, Ku-dhismay Raadinta Shabakadda.
Codsi leh ikhtiyaaro
Codsigani wuxuu dejiyaa fariin system, field-yada sampling iyo reasoning effort. Wuxuu isticmaalaa model open-weight oo la martigeliyay, kaas oo dabaqa dhammaantood.
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) import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://api.shannon-ai.com/v1",
});
const response = await 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",
});
const message = response.choices[0].message;
console.log(message.reasoning_content); // the reasoning
console.log(message.content); // the answer
console.log(response.usage); curl https://api.shannon-ai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"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"
}' Jawaabtu waxay leedahay isla qaabka kor ku xusan. usage kiisu wuxuu ku daraa laba faahfaahin model-yada open-weight ee la martigeliyo: token-yada prompt-ka laga akhriyay cache iyo token-yada loo isticmaalay reasoning.
{
"usage": {
"prompt_tokens": 31,
"completion_tokens": 62,
"total_tokens": 93,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 21
}
}
} Dhererka output-ka
max_tokens wuxuu sameeyaa laba shay. Marka hore, waa tirada token-yada laga kala dhigo haraaggaaga marka codsigu bilaabmo. Marka jawaabtu dhammaato, cadadkaas waxaa lagu beddelaa token-yada codsigu isticmaalay. Haddii max_tokens ka weyn yahay waxa ka hadhay haraaggaaga, codsigu wuxuu soo celiyaa 429 Quota exceeded xataa haddii jawaabtu laftigeedu soo galeen lahayd. Dir max_tokens hoose si aad wax yar u kala dhigto.
shannon-coder-1 si kale ayaa loo tiriyaa endpoint-kan: codsi kastaa waa mid ka mid ah wicitaannada Shannon Coder ee qorshahaaga, token-na looma kala dhigo. Xadad iyo haraag
Marka labaad, wuxuu xadidaa dhererka jawaabta model-yadan:
| Model-yo | Waxa max_tokens sameeyo |
|---|---|
shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | Jawaabtu waxay istaagtaa marka ay xadka gaarto. Stream-ku kaddib wuxuu ku dhammaadaa finish_reason length. |
| Model-yada open-weight ee la martigeliyo | Qoraalka jawaabtu wuxuu istaagaa max_tokens. Reasoning looma tiriyo. Qiimayaasha ka hooseeya 256 waxay u shaqeeyaan sida 256. |
max_tokens ama max_completion_tokens la'aan, qiimuhu waa 4,096. shannon-coder-1 waa 65,536.
Fariimaha
Fariin kastaa waa shay leh role iyo content. content waa string, ama array ah qaybo marka fariintu sido wax ka badan qoraal.
| Door | Sharaxaad | Waxay dabaqaan |
|---|---|---|
system | Tilmaamo loogu talagalay model-ka. Marka hore geli. Heerarka Shannon fariinta system ee ugu horreysa ayaa la isticmaalaa. | Model-yada open-weight ee la martigeliyo, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
developer | Waxaa loo akhriyaa sida system. | Model-yada open-weight ee la martigeliyo |
user | Waxa aad weydiiso. Heerarka Shannon fariinta ugu dambeysa ee user waa prompt-ka fariimaha ka horreeya waa taariikhda. | Dhammaan model-yada |
assistant | Jawaabaha hore ee model-ka. Hay tool_calls kiisa marka aad natiijo tool ka dib dirayso. | Dhammaan model-yada |
tool | Natiijada wicitaan tool: tool_call_id wuxuu haystaa id-ga wicitaanka content-na natiijada sida string. | Dhammaan model-yada |
Id qoyska Shannon 3 la isticmaalayo, tilmaamaha waajibka ah geli fariinta user.
Heerarka Shannon codsi aan lahayn qoraal isticmaale iyo tools wuxuu soo celiyaa 400 No user message provided.
Qaybaha nuxurka
| Qayb | Sharaxaad | Laga helo |
|---|---|---|
{"type": "text", "text": "…"} | Qoraal cad. | Dhammaan model-yada |
{"type": "image_url", "image_url": {"url": "…"}} | Sawir, sida data: URL oo leh nuxur base64 ah ama sida http(s) URL. | Qoyska Shannon 3, shannon-1.6-lite, shannon-1.6-pro, iyo model-yada open-weight ee la martigeliyo ee liis gareeya gelinta sawirka |
{"type": "file", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} | Dukumenti (PDF, Word, PowerPoint ama Excel), sida base64 ama URL. | Qoyska Shannon 3 |
Cabbirrada, xadadka iyo liiska buuxa ee qaababka waxay leeyihiin bog u gaar ah. Sawirro iyo faylal
Shayga jawaabta
| Field | Nooc | Sharaxaad |
|---|---|---|
id | string | chatcmpl- oo ay raacayso 32 xaraf hexadecimal ah. |
object | string | Had iyo jeer chat.completion. |
created | integer | Waqtiga jawaabta, ilbiriqsi Unix ah. |
model | string | Id-ga rasmiga ah ee model-ka jawaabay. Higgaadda wuxuu ka duwanaan karaa id-ga aad dirtay. |
choices | array | Had iyo jeer hal choice oo keliya, oo leh index 0. |
choices[0].message.role | string | Had iyo jeer assistant. |
choices[0].message.content | string | null | Qoraalka jawaabta. Marka tool_calls jiraan waa null heerarka Shannon; model-yada open-weight ee la martigeliyo way diri karaan qoraal wicitaannada agtooda. |
choices[0].message.reasoning_content | string | null | Reasoning-ka model-ku qoray ka hor jawaabta, ama null marka aanu jirin. |
choices[0].message.tool_calls | array | Wuxuu jiraa marka model-ku wacayo tools oo keliya. Gelin kastaa wuxuu leeyahay id, type function, iyo function oo leh name iyo arguments sida string JSON ah. |
choices[0].message.annotations | array | Kaliya codsi leh web_search: true oo raadintiisu wax heshay. Hal url_citation ilo kasta oo calaamad ku jirta content magacaabto, oo leh url, title, start_index iyo end_index (booska calaamadda, oo lagu tiriyay xarfo, dhammaadka lagu darin). |
choices[0].finish_reason | string | Sababta jawaabtu u dhammaatay. Eeg Sababaha dhammaadka. |
usage | object | Token-yada codsiga. Eeg Isticmaal. |
sources | array | Kaliya codsi leh web_search: true oo raadintiisu wax heshay: natiijooyinka model-ka la siiyay, mid kastaa wuxuu leeyahay index, title iyo url. [1] ee jawaabta waa gelinta leh index 1. |
Sababaha dhammaadka
| finish_reason | Sharaxaad |
|---|---|
stop | Model-ku wuu dhammeeyay jawaabtiisa, ama string stop ayaa soo muuqday. |
tool_calls | Model-ku wuxuu wacayaa hal ama in ka badan oo tools ah. Orodsii oo natiijooyinka ku dir fariimaha tool. |
length | Jawaabta waxaa lagu gooyay xadka output-ka. Waxaa lagu sheegaa streams-ka shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 iyo qoyska Shannon 3. |
Jawaab aan stream ahayn waxay sheegtaa stop ama tool_calls.
Isticmaal
| Field | Nooc | Sharaxaad | Laga helo |
|---|---|---|---|
usage.prompt_tokens | integer | Input token-yo. | Dhammaan model-yada |
usage.completion_tokens | integer | Output token-yo: reasoning, jawaab iyo wicitaannada tool wada. | Dhammaan model-yada |
usage.total_tokens | integer | prompt_tokens iyo completion_tokens wadar ahaan. | Dhammaan model-yada |
usage.prompt_tokens_details.cached_tokens | integer | Qaybta prompt_tokens ee laga akhriyay prompt cache. | Model-yada open-weight ee la martigeliyo |
usage.completion_tokens_details.reasoning_tokens | integer | Qaybta completion_tokens ee loo isticmaalay reasoning. | Model-yada open-weight ee la martigeliyo |
Model-yada open-weight ee la martigeliyo, prompt_tokens waa fariimahaaga iyo qeexidaha tool oo lagu tiriyay tokenizer-ka model-ka laftiisa, ugu daa token-yada sawirrada oo kale. Endpoint-yada tirinta token-yada waxay soo celiyaan isla tirada ka hor inta aadan dirin. Tirinta token-yada
Heerarka Shannon, prompt_tokens wuxuu tiriyaa wax kasta oo model-ku akhriyay si uu jawaabta u qoro, sidaas darteed wuu ka weyn yahay qoraalka fariimahaaga oo keliya.
Streaming
Marka stream la dejiyo true, jawaabtu waxay timaadaa sida events chat.completion.chunk wuxuuna ku dhammaadaa data: [DONE]. Chunk-ga ugu dambeeya ka hor wuxuu sidaa finish_reason iyo usage; stream_options looma baahna. Qaababka chunk, xariiqaha keep-alive iyo khaladaadka stream dhexdiisa waxay leeyihiin bog u gaar ah. Streaming
Khaladaad
Khaladku waa shay JSON ah oo leh xubin error. Hubinta waxay u socotaa sidan: furaha API, jidhka codsiga, id-ga model-ka, kaddib haraagga. Shaxdu waxay liis garaynaysaa waxa endpoint-kani inta badan soo celiyo. Liiska buuxa, oo ay la socoto waxa dib loo tijaabiyo, wuxuu leeyahay bog u gaar ah. Khaladaadka Maareynta
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: no-such-model"
}
} | Xaalad | Nooc | Fariin | Goorta |
|---|---|---|---|
401 | authentication_error | Missing authenticationInvalid API key | Fure API lama dirin, ama furuhu waa aan la aqoon ama waa la meel mariyay. |
400 | invalid_request_error | unknown model: <id> | model ma aha id la daabacay. |
400 | invalid_request_error | No user message provided | Heerarka Shannon: codsigu qoraal isticmaale ma laha mana laha tools. |
400 | invalid_request_error | <id> does not accept image input | Qayb sawir ah ayaa loo diray model open-weight oo la martigeliyay oo aan aqbalin gelinta sawirka. |
400 | invalid_request_error | <id> does not accept response_format | response_format ayaa loo diray model open-weight oo la martigeliyay oo aan lahayn structured output. |
400 | invalid_request_error | unknown reasoning effort '<value>'; expected off, low, medium or high | reasoning_effort wuxuu haystaa qiime liiska ka baxsan. |
422 | invalid_request_error | Failed to deserialize the JSON body into the target type: … | messages way maqan tahay, ama field wuxuu leeyahay nooc JSON qaldan. |
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | max_tokens wuu ka weyn yahay waxa ka hadhay haraaggaaga. |
429 | rate_limit_error | Too many requests. Retry in <n>s. | Flood protection: in ka badan 120 codsi hal daqiiqo gudaheeda akoonkaaga. |
500 | server_error | The model backend failed to answer. Please retry. | Model-ku jawaab ma soo saarin. Mar kale dir codsiga. |
502 | api_error | The model backend failed to answer. Please retry. | Isla kan, qoyska Shannon 3 iyo model-yada open-weight ee la martigeliyo. |