Chat Completions
Gabhaidh POST /v1/chat/completions ri còmhradh agus tillidh e an ath theachdaireachd aig a’ mhodail ann am fòrmat OpenAI Chat Completions. Cleachd e o SDK OpenAI sam bith no thar HTTP lom; is e an duilleag seo an t-iomradh raon air raon.
POST https://api.shannon-ai.com/v1/chat/completions
Is e an t-iarrtas as lugha id modail agus aon teachdaireachd neach-cleachdaidh.
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."}]
}' Is e aon nì JSON am freagairt:
{
"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
Headers an iarrtais
| Header | Luach | Tuairisgeul |
|---|---|---|
Authorization | Bearer YOUR_API_KEY | D’ iuchair API. Thèid x-api-key: YOUR_API_KEY aontachadh na àite air gach endpoint. |
Content-Type | application/json | Riatanach. Tillidh luach sam bith eile 415. |
x-request-id | Roghainneil. D’ id fhèin airson an iarrtais. Thig e air ais gun atharrachadh air a’ fhreagairt. |
Headers na freagairt
| Header | Tuairisgeul |
|---|---|
x-request-id | Air gach freagairt, mearachdan is streams nam measg: an luach a chuir thu, no 12 caractaran sia-deugach mura do chuir thu gin. Thoir iomradh air nuair a bheir thu aithris air duilgheadas. |
content-type | application/json, no text/event-stream nuair as e true an stream. |
Raointean an iarrtais
Chan eil ach messages riatanach. Ainmichidh a’ cholbh Air a chur an sàs le na modailean air an atharraich raon am freagairt. Is e na modailean open-weight hosted an dusan id air liosta nam modailean; is e teaghlach Shannon 3 shannon-3, shannon-3-pro, shannon-3.1 agus shannon-3.1-pro. Modailean & prìsean
| Raon | Seòrsa | Bun-roghainn | Tuairisgeul | Air a chur an sàs le |
|---|---|---|---|---|
model | string | shannon-1.6-lite | Am modail a fhreagras: id bho liosta nam modailean. Cuir e leis gach iarrtas. Chan eil an t-eadar-dhealachadh eadar litrichean mòra is beaga a’ cunntadh. Tillidh id nach eil foillsichte 400 unknown model. | A h-uile modail |
messages | array | Riatanach. An còmhradh, an teachdaireachd as sine an toiseach. Faic Teachdaireachdan gu h-ìosal. | A h-uile modail | |
stream | boolean | false | Cuiridh true am freagairt mar server-sent events fhad ‘s a thèid a sgrìobhadh. | A h-uile modail |
max_tokens | integer | 4096 | Crìoch àrd a’ fhreagairt, ann an tokens. Thèid luach taobh a-muigh 1 gu 65,536 a ghluasad dhan raon sin. Is e cuideachd an t-suim a thèid a chur an dàrna taobh bhon balance agad fhad ‘s a tha an t-iarrtas a’ ruith. Faic Fad an output gu h-ìosal. | Modailean open-weight hosted, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 |
max_completion_tokens | integer | Mar a tha max_tokens. Nuair a thèid an dà chuid a chur, thèid max_tokens a chleachdadh. | Modailean open-weight hosted, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
temperature | number | Teòthachd samplaidh. Air na modailean open-weight hosted is e 1 a’ bhun-roghainn agus thèid luachan a chumail eadar 0 agus 2. | Modailean open-weight hosted, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
top_p | number | 0.95 | Samplachadh nucleus. Thèid luachan a chumail eadar 0 agus 1. | Modailean open-weight hosted |
seed | integer | Seed an sampler, àireamh slàn sam bith. Às aonais, thig an seed on mhodail agus on chòmhradh, agus mar sin cleachdaidh an aon iarrtas a chuirear dà thuras an aon seed. | Modailean open-weight hosted | |
stop | string | array | Sreang no array de shreangan. Thèid suas gu 4 a chleachdadh. Thig am freagairt gu crìch ron chiad tè a nochdas; cha till an teacsa stad fhèin. | Modailean open-weight hosted | |
reasoning_effort | string | high | Dè cho mòr ‘s a nì am modail reusanachadh mus freagair e: off, low, medium no high. Tha none agus minimal a’ ciallachadh off, tha default a’ ciallachadh medium, tha max a’ ciallachadh high. Tillidh luach sam bith eile 400. | Modailean open-weight hosted |
reasoning | object | An aon roghainn ann an cruth nì: {"effort": "low"}. Nuair a thèid an dà chuid a chur, thèid reasoning_effort a chleachdadh. | Modailean open-weight hosted | |
tools | array | Na functions a dh’fhaodas am modail a ghairm, gach fear mar {"type": "function", "function": {"name", "description", "parameters"}}. Thig gairmean a’ mhodail air ais ann an tool_calls; ruithidh an còd agad iad. | A h-uile modail | |
tool_choice | string | object | auto | Leigidh "auto" leis a’ mhodail co-dhùnadh. Bidh aig "required" ris an modail inneal a ghairm. Bidh aig {"type": "function", "function": {"name": "…"}} ris an inneal sin a ghairm. | Modailean open-weight hosted |
response_format | object | {"type": "json_object"} airson freagairt JSON, no {"type": "json_schema", "json_schema": {…}} airson freagairt a leanas do schema. | A h-uile ìre Shannon; modailean open-weight hosted mar a tha air an liostadh airson gach id | |
web_search | boolean | false | Leigidh true leis a’ mhodail an lìon a rannsachadh mus freagair e. | shannon-1.6-*, shannon-2-*, teaghlach Shannon 3 |
Thèid raointean OpenAI eile, leithid n, user, stream_options, parallel_tool_calls, presence_penalty, frequency_penalty, logit_bias, logprobs, metadata, store agus prompt_cache_key, aontachadh gus an ruith còd client a th’ ann mar a tha e. Chan atharraich iad am freagairt: tha aon roghainn ann an-còmhnaidh, agus bidh usage aig deireadh stream an-còmhnaidh.
Tillidh raon le seòrsa JSON ceàrr, mar eisimpleir "max_tokens": "100", 422. Mar sin cuideachd iarrtas gun messages.
Tha duilleag fhèin aig innealan, output structaraichte, reusanachadh agus rannsachadh lìn: Call gnìomh, Toraidhean structarail, Oidhirp reusanachaidh, Rannsachadh Lìn air a thoirt a-steach.
Iarrtas le roghainnean
Suidhichidh an t-iarrtas seo teachdaireachd system, na raointean samplachaidh agus an oidhirp reusanachaidh. Cleachdaidh e modail open-weight hosted, a chuireas an sàs iad uile.
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"
}' Tha an aon chruth air a’ fhreagairt ri gu h-àrd. Cuiridh an usage aige dà fhiosrachadh ris air na modailean open-weight hosted: na prompt tokens a chaidh a leughadh on cache agus na tokens a chaidh a chaitheamh air reusanachadh.
{
"usage": {
"prompt_tokens": 31,
"completion_tokens": 62,
"total_tokens": 93,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 21
}
}
} Fad an output
Tha dà rud aig max_tokens. An toiseach, is e an àireamh de tokens a thèid a chur an dàrna taobh bhon balance agad nuair a thòisicheas an t-iarrtas. Nuair a bhios am freagairt coileanta, thèid na tokens a chleachd an t-iarrtas a chur na àite. Ma tha max_tokens nas motha na tha air fhàgail dhen balance agad, tillidh an t-iarrtas 429 Quota exceeded fiù ‘s ged a bhiodh am freagairt fhèin air lùbadh a-steach. Cuir max_tokens nas lugha gus nas lugha a chur an dàrna taobh.
Thèid shannon-coder-1 a chunntadh ann an dòigh eadar-dhealaichte air an endpoint seo: tha gach iarrtas na aon de ghairmean Shannon Coder a’ phlana agad, agus chan eil tokens air an cur an dàrna taobh air a shon. Crìochan agus balance
San dàrna àite, cuingichidh e fad an fhreagairt air na modailean seo:
| Modailean | Dè a nì max_tokens |
|---|---|
shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | Stadaidh am freagairt nuair a ruigeas e a’ chrìoch. Thig stream gu crìch an uair sin le finish_reason length. |
| Modailean open-weight hosted | Stadaidh teacsa a’ fhreagairt aig max_tokens. Chan eil reusanachadh air a chunntadh na aghaidh. Gnìomhaichidh luachan fo 256 mar 256. |
Às aonais max_tokens no max_completion_tokens, is e 4,096 an luach. Air shannon-coder-1 is e 65,536.
Teachdaireachdan
Tha gach teachdaireachd na nì le role agus content. Is e content sreang, no array de phàirtean nuair a tha barrachd na teacsa san teachdaireachd.
| Dreuchd | Tuairisgeul | Air a chur an sàs le |
|---|---|---|
system | Stiùireadh dhan mhodail. Cuir an toiseach e. Air ìrean Shannon is e a’ chiad teachdaireachd system an tè a thèid a chleachdadh. | Modailean open-weight hosted, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
developer | Air a leughadh mar system. | Modailean open-weight hosted |
user | An rud a dh’fhaighnicheas tu. Air ìrean Shannon is e an teachdaireachd user mu dheireadh am prompt agus is e na teachdaireachdan ro-làimh an eachdraidh. | A h-uile modail |
assistant | Freagairtean a rinn am modail roimhe. Cùm a tool_calls nuair a chuireas tu toradh inneil na dhèidh. | A h-uile modail |
tool | Toradh gairm inneil: tha id a’ ghairm ann an tool_call_id agus an toradh mar shreang ann an content. | A h-uile modail |
Le id à teaghlach Shannon 3, cuir na stiùiridhean a dh’fheumas a bhith ann dhan teachdaireachd user.
Air ìrean Shannon tillidh iarrtas gun teacsa neach-cleachdaidh agus gun tools 400 No user message provided.
Pàirtean susbaint
| Pàirt | Tuairisgeul | Ri fhaighinn air |
|---|---|---|
{"type": "text", "text": "…"} | Teacsa lom. | A h-uile modail |
{"type": "image_url", "image_url": {"url": "…"}} | Dealbh, mar URL data: le susbaint base64 no mar URL http(s). | Teaghlach Shannon 3, shannon-1.6-lite, shannon-1.6-pro, agus na modailean open-weight hosted a tha a’ liostadh input dealbh |
{"type": "file", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} | Sgrìobhainn (PDF, Word, PowerPoint no Excel), mar base64 no le URL. | Teaghlach Shannon 3 |
Tha duilleag fhèin aig meudan, crìochan agus an liosta slàn de chruthan. Dealbhan agus faidhlichean
Nì an fhreagairt
| Raon | Seòrsa | Tuairisgeul |
|---|---|---|
id | string | chatcmpl- agus an uair sin 32 caractar sia-deugach. |
object | string | An-còmhnaidh chat.completion. |
created | integer | Àm an fhreagairt, ann an diogan Unix. |
model | string | Id canonical a’ mhodail a fhreagair. Faodaidh an litreachadh a bhith eadar-dhealaichte on id a chuir thu. |
choices | array | Dìreach aon roghainn an-còmhnaidh, le index 0. |
choices[0].message.role | string | An-còmhnaidh assistant. |
choices[0].message.content | string | null | Teacsa a’ fhreagairt. Le tool_calls tha e null air ìrean Shannon; faodaidh na modailean open-weight hosted teacsa a chur ri taobh nan gairmean. |
choices[0].message.reasoning_content | string | null | An reusanachadh a sgrìobh am modail ron fhreagairt, no null mura h-eil gin ann. |
choices[0].message.tool_calls | array | Ann a-mhàin nuair a ghairmeas am modail innealan. Tha id, type function, agus function le name agus na arguments mar shreang JSON aig gach inntrigeadh. |
choices[0].message.annotations | array | Air iarrtas le web_search: true a lorg rannsachadh rudeigin a-mhàin. Aon url_citation airson gach stòr a tha comharra ann an content ag ainmeachadh, le url, title, start_index agus end_index (àite a’ chomharra, air a chunntadh ann an caractaran, gun an deireadh). |
choices[0].finish_reason | string | Carson a thàinig am freagairt gu crìch. Faic Adhbharan crìochnachaidh. |
usage | object | Tokens an iarrtais. Faic Usage. |
sources | array | Air iarrtas le web_search: true a lorg rannsachadh rudeigin a-mhàin: na toraidhean a fhuair am modail, gach fear le index, title agus url. Is e [1] san fhreagairt an inntrigeadh aig a bheil index 1. |
Adhbharan crìochnachaidh
| finish_reason | Tuairisgeul |
|---|---|
stop | Chrìochnaich am modail am freagairt, no nochd sreang stop. |
tool_calls | Gairmidh am modail aon inneal no barrachd. Ruith iad agus cuir na toraidhean ann an teachdaireachdan tool. |
length | Chaidh am freagairt a ghearradh aig crìoch an output. Air aithris ann an streams shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 agus teaghlach Shannon 3. |
Bheir freagairt gun streaming cunntas air stop no tool_calls.
Usage
| Raon | Seòrsa | Tuairisgeul | Ri fhaighinn air |
|---|---|---|---|
usage.prompt_tokens | integer | Input tokens. | A h-uile modail |
usage.completion_tokens | integer | Output tokens: reusanachadh, freagairt agus gairmean inneil còmhla. | A h-uile modail |
usage.total_tokens | integer | prompt_tokens agus completion_tokens còmhla. | A h-uile modail |
usage.prompt_tokens_details.cached_tokens | integer | A’ phàirt de prompt_tokens a chaidh a leughadh on prompt cache. | Modailean open-weight hosted |
usage.completion_tokens_details.reasoning_tokens | integer | A’ phàirt de completion_tokens a chaidh a chaitheamh air reusanachadh. | Modailean open-weight hosted |
Air na modailean open-weight hosted is e prompt_tokens na teachdaireachdan agus mìneachaidhean inneil agad air an cunntadh le tokenizer a’ mhodail fhèin, a bharrachd air tokens dhealbhan sam bith. Tillidh na h-endpoints cunntais token an aon àireamh mus cuir thu. Cunntadh tokens
Air ìrean Shannon, cunntaidh prompt_tokens a h-uile càil a leugh am modail gus am freagairt a sgrìobhadh, agus mar sin tha e nas motha na teacsa nan teachdaireachdan agad a-mhàin.
Streaming
Le stream air a shuidheachadh gu true thig am freagairt mar thachartasan chat.completion.chunk agus thig e gu crìch le data: [DONE]. Tha finish_reason agus usage aig an chunk mu dheireadh ron sin; chan eil feum air stream_options. Tha duilleag fhèin aig cruthan nan chunks, loidhnichean keep-alive agus mearachdan am broinn stream. Sruthadh
Mearachdan
Is e nì JSON le ball error a th’ ann am mearachd. Ruithidh na sgrùdaidhean san òrdugh seo: iuchair API, bodhaig an iarrtais, id modail, an uair sin balance. Tha an clàr a’ liostadh na tha an endpoint seo a’ tilleadh as trice. Tha duilleag fhèin aig an liosta slàn, le na ghabhas feuchainn a-rithist. Làimhseachadh mearachd
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: no-such-model"
}
} | Staid | Seòrsa | Teachdaireachd | Cuin |
|---|---|---|---|
401 | authentication_error | Missing authenticationInvalid API key | Cha deach iuchair API a chur, no chan eil an iuchair aithnichte no chaidh a cur à bith. |
400 | invalid_request_error | unknown model: <id> | Chan e id foillsichte a th’ ann an model. |
400 | invalid_request_error | No user message provided | Ìrean Shannon: chan eil teacsa neach-cleachdaidh no tools san iarrtas. |
400 | invalid_request_error | <id> does not accept image input | Chaidh pàirt dealbh a chur gu modail open-weight hosted gun input dealbh. |
400 | invalid_request_error | <id> does not accept response_format | Chaidh response_format a chur gu modail open-weight hosted gun output structaraichte. |
400 | invalid_request_error | unknown reasoning effort '<value>'; expected off, low, medium or high | Tha luach taobh a-muigh na liosta ann an reasoning_effort. |
422 | invalid_request_error | Failed to deserialize the JSON body into the target type: … | Chan eil messages ann, no tha seòrsa JSON ceàrr air raon. |
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | Tha max_tokens nas motha na tha air fhàgail dhen balance agad. |
429 | rate_limit_error | Too many requests. Retry in <n>s. | Dìon thar-thuiltidh: còrr air 120 iarrtas ann am mionaid air a’ chunntas agad. |
500 | server_error | The model backend failed to answer. Please retry. | Cha tug am modail freagairt. Cuir an t-iarrtas a-rithist. |
502 | api_error | The model backend failed to answer. Please retry. | An aon rud, air teaghlach Shannon 3 agus na modailean open-weight hosted. |