Chat Completions
POST /v1/chat/completions tekur við samtali og skilar næstu skilaboðum líkansins á OpenAI Chat Completions sniðinu. Notaðu það úr hvaða OpenAI SDK sem er eða yfir venjulegt HTTP; þessi síða er uppflettirit reit fyrir reit.
POST https://api.shannon-ai.com/v1/chat/completions
Minnsta beiðnin er líkanauðkenni og ein notandaskilaboð.
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."}]
}' Svarið er einn JSON-hlutur:
{
"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
}
} Hausar
Beiðnihausar
| Haus | Gildi | Lýsing |
|---|---|---|
Authorization | Bearer YOUR_API_KEY | API-lykillinn þinn. x-api-key: YOUR_API_KEY er tekið gilt í hans stað á öllum endapunktum. |
Content-Type | application/json | Skylda. Öll önnur gildi skila 415. |
x-request-id | Valfrjálst. Þitt eigið auðkenni beiðninnar. Það kemur óbreytt til baka í svarinu. |
Svarhausar
| Haus | Lýsing |
|---|---|
x-request-id | Á hverju svari, einnig villum og straumum: gildið sem þú sendir, eða 12 sextándakerfisstafir þegar þú sendir ekkert. Nefndu það þegar þú tilkynnir vandamál. |
content-type | application/json, eða text/event-stream þegar stream er true. |
Beiðnireitir
Aðeins messages er skylda. Dálkurinn Notað af nefnir líkönin þar sem reitur breytir svarinu. Hýstu líkönin með opnum þyngdum eru auðkennin tólf á líkanalistanum; Shannon 3 fjölskyldan er shannon-3, shannon-3-pro, shannon-3.1 og shannon-3.1-pro. Líkön og verð
| Reitur | Gerð | Sjálfgefið | Lýsing | Notað af |
|---|---|---|---|---|
model | string | shannon-1.6-lite | Líkanið sem svarar: auðkenni af líkanalistanum. Sendu það með hverri beiðni. Samsvörun er ekki hástafanæm. Auðkenni sem er ekki útgefið skilar 400 unknown model. | Öll líkön |
messages | array | Skylda. Samtalið, elstu skilaboð fyrst. Sjá Skilaboð hér á eftir. | Öll líkön | |
stream | boolean | false | true sendir svarið sem server-sent events meðan það er skrifað. | Öll líkön |
max_tokens | integer | 4096 | Efri mörk svarsins, í táknum. Gildi utan 1 til 65,536 er fært inn í það bil. Þetta er jafnframt það magn sem tekið er frá af stöðunni þinni meðan beiðnin er í vinnslu. Sjá Úttakslengd hér á eftir. | Hýst líkön með opnum þyngdum, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 |
max_completion_tokens | integer | Hið sama og max_tokens. Þegar bæði eru send er max_tokens notað. | Hýst líkön með opnum þyngdum, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
temperature | number | Sýnatökuhiti. Á hýstum líkönum með opnum þyngdum er sjálfgefið gildi 1 og gildi eru höfð á bilinu 0 til 2. | Hýst líkön með opnum þyngdum, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
top_p | number | 0.95 | Nucleus-sýnataka. Gildi eru höfð á bilinu 0 til 1. | Hýst líkön með opnum þyngdum |
seed | integer | Fræ sýnatökunnar, hvaða heiltala sem er. Án þess er fræið leitt af líkaninu og samtalinu, svo sama beiðni send tvisvar notar sama fræ. | Hýst líkön með opnum þyngdum | |
stop | string | array | Strengur eða fylki strengja. Allt að 4 eru notaðir. Svarið endar á undan þeim fyrsta sem birtist; stöðvunartextinn sjálfur er ekki skilað. | Hýst líkön með opnum þyngdum | |
reasoning_effort | string | high | Hversu mikið líkanið rökhugsar áður en það svarar: off, low, medium eða high. none og minimal þýða off, default þýðir medium, max þýðir high. Öll önnur gildi skila 400. | Hýst líkön með opnum þyngdum |
reasoning | object | Sama stilling á hlutarformi: {"effort": "low"}. Þegar bæði eru send er reasoning_effort notað. | Hýst líkön með opnum þyngdum | |
tools | array | Föllin sem líkanið má kalla á, hvert sem {"type": "function", "function": {"name", "description", "parameters"}}. Köll líkansins koma til baka í tool_calls; kóðinn þinn keyrir þau. | Öll líkön | |
tool_choice | string | object | auto | "auto" lætur líkanið ákveða. "required" lætur það kalla á tól. {"type": "function", "function": {"name": "…"}} lætur það kalla á það tól. | Hýst líkön með opnum þyngdum |
response_format | object | {"type": "json_object"} fyrir JSON-svar, eða {"type": "json_schema", "json_schema": {…}} fyrir svar sem fylgir skemanu þínu. | Öll Shannon-þrep; hýst líkön með opnum þyngdum eins og skráð er fyrir hvert auðkenni | |
web_search | boolean | false | true lætur líkanið leita á vefnum áður en það svarar. | shannon-1.6-*, shannon-2-*, Shannon 3 fjölskyldan |
Aðrir OpenAI-reitir, svo sem n, user, stream_options, parallel_tool_calls, presence_penalty, frequency_penalty, logit_bias, logprobs, metadata, store og prompt_cache_key, eru samþykktir svo að núverandi biðlarakóði keyri óbreyttur. Þeir breyta ekki svarinu: það er alltaf eitt val, og straumur endar alltaf með notkun.
Reitur með rangt JSON-gagnatag, til dæmis "max_tokens": "100", skilar 422. Beiðni án messages gerir það líka.
Tól, skipulagt úttak, rökhugsun og vefleit hafa hvert sína eigin síðu: Aðgerðaköll, Skipulögð úttök, Rökhugsunarátak, Vefleit.
Beiðni með valkostum
Þessi beiðni stillir system-skilaboð, sýnatökureitina og rökhugsunarátakið. Hún notar hýst líkan með opnum þyngdum, sem tekur tillit til þessa alls.
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"
}' Svarið hefur sama form og hér að ofan. usage þess bætir við tveimur atriðum á hýstum líkönum með opnum þyngdum: prompt-táknin sem lesin voru úr skyndiminni og táknin sem fóru í rökhugsun.
{
"usage": {
"prompt_tokens": 31,
"completion_tokens": 62,
"total_tokens": 93,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 21
}
}
} Úttakslengd
max_tokens gerir tvennt. Í fyrsta lagi er það fjöldi tákna sem tekinn er frá af stöðunni þinni þegar beiðnin hefst. Þegar svarið er fullbúið kemur táknafjöldinn sem beiðnin notaði í stað þess magns. Ef max_tokens er stærra en það sem eftir er af stöðunni þinni skilar beiðnin 429 Quota exceeded jafnvel þótt svarið sjálft hefði komist fyrir. Sendu lægra max_tokens til að taka minna frá.
shannon-coder-1 er talið öðruvísi á þessum endapunkti: hver beiðni er eitt af Shannon Coder köllum áskriftarinnar þinnar og engin tákn eru tekin frá fyrir hana. Mörk og staða
Í öðru lagi takmarkar það lengd svarsins á þessum líkönum:
| Líkön | Hvað max_tokens gerir |
|---|---|
shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | Svarið stoppar þegar það nær mörkunum. Straumur endar þá með finish_reason length. |
| Hýst líkön með opnum þyngdum | Svartextinn stoppar við max_tokens. Rökhugsun telst ekki með. Gildi undir 256 virka sem 256. |
Án max_tokens eða max_completion_tokens er gildið 4,096. Á shannon-coder-1 er það 65,536.
Skilaboð
Hver skilaboð eru hlutur með role og content. content er strengur, eða fylki af hlutum þegar skilaboðin bera meira en texta.
| Hlutverk | Lýsing | Notað af |
|---|---|---|
system | Fyrirmæli til líkansins. Settu þau fyrst. Á Shannon-þrepunum eru það fyrstu system skilaboðin sem eru notuð. | Hýst líkön með opnum þyngdum, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
developer | Lesið sem system. | Hýst líkön með opnum þyngdum |
user | Það sem þú spyrð um. Á Shannon-þrepunum eru síðustu user skilaboðin promptinn og skilaboðin á undan þeim sagan. | Öll líkön |
assistant | Fyrri svör líkansins. Haltu tool_calls þess þegar þú sendir tólaniðurstöðu á eftir því. | Öll líkön |
tool | Niðurstaða tólakalls: tool_call_id geymir auðkenni kallsins og content niðurstöðuna sem streng. | Öll líkön |
Með auðkenni úr Shannon 3 fjölskyldunni skaltu setja fyrirmæli sem verða að gilda inn í user skilaboðin.
Á Shannon-þrepunum skilar beiðni án notandatexta og án tools 400 No user message provided.
Efnishlutar
| Hluti | Lýsing | Í boði á |
|---|---|---|
{"type": "text", "text": "…"} | Venjulegur texti. | Öll líkön |
{"type": "image_url", "image_url": {"url": "…"}} | Mynd, sem data: vefslóð með base64-efni eða sem http(s) vefslóð. | Shannon 3 fjölskyldan, shannon-1.6-lite, shannon-1.6-pro og hýst líkön með opnum þyngdum sem styðja myndainntak |
{"type": "file", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} | Skjal (PDF, Word, PowerPoint eða Excel), sem base64 eða með vefslóð. | Shannon 3 fjölskyldan |
Stærðir, mörk og tæmandi listi yfir form hafa sína eigin síðu. Myndir og skrár
Svarhluturinn
| Reitur | Gerð | Lýsing |
|---|---|---|
id | string | chatcmpl- og síðan 32 sextándakerfisstafir. |
object | string | Alltaf chat.completion. |
created | integer | Tími svarsins, í Unix-sekúndum. |
model | string | Hið kanóníska auðkenni líkansins sem svaraði. Stafsetning þess getur verið önnur en auðkennisins sem þú sendir. |
choices | array | Alltaf nákvæmlega eitt val, með index 0. |
choices[0].message.role | string | Alltaf assistant. |
choices[0].message.content | string | null | Svartextinn. Með tool_calls er hann null á Shannon-þrepunum; hýst líkön með opnum þyngdum geta sent texta við hlið kallanna. |
choices[0].message.reasoning_content | string | null | Rökhugsunin sem líkanið skrifaði á undan svarinu, eða null þegar hún er engin. |
choices[0].message.tool_calls | array | Aðeins til staðar þegar líkanið kallar á tól. Hver færsla hefur id, type function og function með name og arguments sem JSON-streng. |
choices[0].message.annotations | array | Aðeins á beiðni með web_search: true þar sem leitin fann eitthvað. Eitt url_citation fyrir hverja heimild sem merki í content nefnir, með url, title, start_index og end_index (staða merkisins, talin í stöfum, endirinn er ekki með). |
choices[0].finish_reason | string | Hvers vegna svarið endaði. Sjá Lokaástæður. |
usage | object | Tákn beiðninnar. Sjá Notkun. |
sources | array | Aðeins á beiðni með web_search: true þar sem leitin fann eitthvað: niðurstöðurnar sem líkanið fékk, hver með index, title og url. [1] í svarinu er færslan með index 1. |
Lokaástæður
| finish_reason | Lýsing |
|---|---|
stop | Líkanið lauk svarinu, eða stop strengur birtist. |
tool_calls | Líkanið kallar á eitt eða fleiri tól. Keyrðu þau og sendu niðurstöðurnar í tool skilaboðum. |
length | Svarið var skorið við úttaksmörkin. Skráð í straumum shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 og Shannon 3 fjölskyldunnar. |
Svar sem er ekki streymt skráir stop eða tool_calls.
Notkun
| Reitur | Gerð | Lýsing | Í boði á |
|---|---|---|---|
usage.prompt_tokens | integer | Inntakstákn. | Öll líkön |
usage.completion_tokens | integer | Úttakstákn: rökhugsun, svar og tólakall samanlagt. | Öll líkön |
usage.total_tokens | integer | prompt_tokens plús completion_tokens. | Öll líkön |
usage.prompt_tokens_details.cached_tokens | integer | Sá hluti prompt_tokens sem var lesinn úr skyndiminni prompta. | Hýst líkön með opnum þyngdum |
usage.completion_tokens_details.reasoning_tokens | integer | Sá hluti completion_tokens sem fór í rökhugsun. | Hýst líkön með opnum þyngdum |
Á hýstum líkönum með opnum þyngdum eru prompt_tokens skilaboðin þín og tólaskilgreiningar taldar með eigin táknara líkansins, auk tákna mynda. Talningarendapunktar tákna skila sömu tölu áður en þú sendir. Tókatalning
Á Shannon-þrepunum telja prompt_tokens allt sem líkanið las til að skrifa svarið, svo talan er stærri en texti skilaboðanna þinna einn og sér.
Streymi
Með stream stillt á true berst svarið sem chat.completion.chunk atburðir og endar á data: [DONE]. Síðasti búturinn á undan því ber finish_reason og usage; engin stream_options eru nauðsynleg. Form bútanna, keep-alive línur og villur inni í streymi hafa sína eigin síðu. Streymi
Villur
Villa er JSON-hlutur með error meðlim. Athuganir keyra í þessari röð: API-lykill, beiðnameginmál, líkanauðkenni, síðan staða. Taflan sýnir það sem þessi endapunktur skilar oftast. Heildarlistinn, með því hvað á að endurreyna, hefur sína eigin síðu. Villumeðhöndlun
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: no-such-model"
}
} | Staða | Gerð | Skilaboð | Hvenær |
|---|---|---|---|
401 | authentication_error | Missing authenticationInvalid API key | Enginn API-lykill var sendur, eða lykillinn er óþekktur eða afturkallaður. |
400 | invalid_request_error | unknown model: <id> | model er ekki útgefið auðkenni. |
400 | invalid_request_error | No user message provided | Shannon-þrep: beiðnin hefur engan notandatexta og engin tools. |
400 | invalid_request_error | <id> does not accept image input | Myndahluti var sendur til hýsts líkans með opnum þyngdum án myndainntaks. |
400 | invalid_request_error | <id> does not accept response_format | response_format var sent til hýsts líkans með opnum þyngdum án skipulags úttaks. |
400 | invalid_request_error | unknown reasoning effort '<value>'; expected off, low, medium or high | reasoning_effort geymir gildi utan listans. |
422 | invalid_request_error | Failed to deserialize the JSON body into the target type: … | messages vantar, eða reitur hefur rangt JSON-gagnatag. |
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | max_tokens er stærra en það sem eftir er af stöðunni þinni. |
429 | rate_limit_error | Too many requests. Retry in <n>s. | Flóðvörn: fleiri en 120 beiðnir á einni mínútu á reikningnum þínum. |
500 | server_error | The model backend failed to answer. Please retry. | Líkanið skilaði ekki svari. Sendu beiðnina aftur. |
502 | api_error | The model backend failed to answer. Please retry. | Hið sama, á Shannon 3 fjölskyldunni og hýstum líkönum með opnum þyngdum. |