Pāriet uz saturu
Chat Completions

Chat Completions

POST /v1/chat/completions pieņem sarunu un atgriež modeļa nākamo ziņojumu OpenAI Chat Completions formātā. Izmantojiet to no jebkura OpenAI SDK vai pa tiešo ar HTTP; šī lapa ir uzziņa lauks pa laukam.

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

Mazākais pieprasījums ir modeļa id un viens lietotāja ziņojums.

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)

Atbilde ir viens JSON objekts:

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
  }
}

Galvenes

Pieprasījuma galvenes

Galvene Vērtība Apraksts
Authorization Bearer YOUR_API_KEY Jūsu API atslēga. Tās vietā katrā galapunktā tiek pieņemts arī x-api-key: YOUR_API_KEY.
Content-Type application/json Obligāta. Jebkura cita vērtība atgriež 415.
x-request-id Neobligāta. Jūsu pašu pieprasījuma id. Tas atbildē atgriežas nemainīts.

Atbildes galvenes

Galvene Apraksts
x-request-id Katrā atbildē, ieskaitot kļūdas un straumes: jūsu nosūtītā vērtība vai 12 heksadecimālas rakstzīmes, ja neko nesūtījāt. Norādiet to, ziņojot par problēmu.
content-type application/json vai text/event-stream, ja stream ir true.

Pieprasījuma lauki

Obligāts ir tikai messages. Kolonna Piemēro nosauc modeļus, kuros lauks maina atbildi. Hostētie atvērto svaru modeļi ir divpadsmit id no modeļu saraksta; Shannon 3 saime ir shannon-3, shannon-3-pro, shannon-3.1 un shannon-3.1-pro. Modeļi un cenas

Lauks Tips Noklusējums Apraksts Piemēro
model string shannon-1.6-lite Modelis, kas atbild: id no modeļu saraksta. Sūtiet to ar katru pieprasījumu. Salīdzināšana nav reģistrjutīga. Id, kas nav publicēts, atgriež 400 unknown model. Visi modeļi
messages array Obligāts. Saruna, vecākais ziņojums pirmais. Skatiet tālāk sadaļu Ziņojumi. Visi modeļi
stream boolean false true nosūta atbildi kā server-sent events, kamēr tā tiek rakstīta. Visi modeļi
max_tokens integer 4096 Atbildes augšējā robeža tokenos. Vērtība ārpus diapazona no 1 līdz 65,536 tiek pārvietota šajā diapazonā. Tas ir arī apjoms, ko pieprasījuma izpildes laikā rezervē no jūsu atlikuma. Skatiet tālāk sadaļu Izvades garums. Hostētie atvērto svaru modeļi, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
max_completion_tokens integer Tas pats, kas max_tokens. Ja tiek nosūtīti abi, tiek izmantots max_tokens. Hostētie atvērto svaru modeļi, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
temperature number Paraugu ņemšanas temperatūra. Hostētajiem atvērto svaru modeļiem noklusējums ir 1, un vērtības tiek turētas starp 0 un 2. Hostētie atvērto svaru modeļi, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
top_p number 0.95 Kodola paraugu ņemšana (nucleus sampling). Vērtības tiek turētas starp 0 un 1. Hostētie atvērto svaru modeļi
seed integer Paraugu ņēmēja sākumvērtība (seed), jebkurš vesels skaitlis. Bez tās sākumvērtība tiek atvasināta no modeļa un sarunas, tāpēc divreiz nosūtīts viens un tas pats pieprasījums izmanto vienu un to pašu sākumvērtību. Hostētie atvērto svaru modeļi
stop string | array Virkne vai virkņu masīvs. Tiek izmantotas līdz 4. Atbilde beidzas pirms pirmās, kas parādās; pats apturēšanas teksts netiek atgriezts. Hostētie atvērto svaru modeļi
reasoning_effort string high Cik daudz modelis spriež pirms atbildes: off, low, medium vai high. none un minimal nozīmē off, default nozīmē medium, max nozīmē high. Jebkura cita vērtība atgriež 400. Hostētie atvērto svaru modeļi
reasoning object Tas pats iestatījums objekta formā: {"effort": "low"}. Ja tiek nosūtīti abi, tiek izmantots reasoning_effort. Hostētie atvērto svaru modeļi
tools array Funkcijas, ko modelis drīkst izsaukt, katra kā {"type": "function", "function": {"name", "description", "parameters"}}. Modeļa izsaukumi atgriežas laukā tool_calls; jūsu kods tos izpilda. Visi modeļi
tool_choice string | object auto "auto" ļauj modelim izlemt. "required" liek tam izsaukt rīku. {"type": "function", "function": {"name": "…"}} liek tam izsaukt šo rīku. Hostētie atvērto svaru modeļi
response_format object {"type": "json_object"} JSON atbildei vai {"type": "json_schema", "json_schema": {…}} atbildei, kas atbilst jūsu shēmai. Visi Shannon līmeņi; hostētie atvērto svaru modeļi, kā norādīts katram id
web_search boolean false true ļauj modelim pirms atbildes meklēt tīmeklī. shannon-1.6-*, shannon-2-*, Shannon 3 saime

Citi OpenAI lauki, piemēram, n, user, stream_options, parallel_tool_calls, presence_penalty, frequency_penalty, logit_bias, logprobs, metadata, store un prompt_cache_key, tiek pieņemti, lai esošais klienta kods darbotos nemainīts. Tie atbildi nemaina: izvēle (choice) vienmēr ir viena, un straume vienmēr beidzas ar lietojuma datiem.

Lauks ar nepareizu JSON tipu, piemēram, "max_tokens": "100", atgriež 422. Tāpat dara pieprasījums bez messages.

Rīkiem, strukturētai izvadei, spriešanai un tīmekļa meklēšanai katram ir sava lapa: Funkciju izsaukšana, Strukturēti izvadi, Spriešanas apjoms, Tīmekļa meklēšana.

Pieprasījums ar opcijām

Šis pieprasījums iestata sistēmas ziņojumu, paraugu ņemšanas laukus un spriešanas apjomu. Tas izmanto hostētu atvērto svaru modeli, kas piemēro visu minēto.

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)

Atbildei ir tāda pati forma kā iepriekš. Hostētajiem atvērto svaru modeļiem tās usage pievieno divas detaļas: no keša nolasītos uzvednes tokenus un spriešanai iztērētos tokenus.

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

Izvades garums

max_tokens dara divas lietas. Pirmkārt, tas ir tokenu skaits, ko pieprasījuma sākumā rezervē no jūsu atlikuma. Kad atbilde ir pabeigta, šis apjoms tiek aizstāts ar pieprasījuma izmantotajiem tokeniem. Ja max_tokens ir lielāks par jūsu atlikuma atlikušo daļu, pieprasījums atgriež 429 Quota exceeded, pat ja pati atbilde būtu ietilpusi. Sūtiet zemāku max_tokens, lai rezervētu mazāk.

shannon-coder-1 šajā galapunktā tiek skaitīts citādi: katrs pieprasījums ir viens jūsu plāna Shannon Coder izsaukums, un tam netiek rezervēti tokeni. Ierobežojumi un atlikums

Otrkārt, tas ierobežo atbildes garumu šiem modeļiem:

Modeļi Ko dara max_tokens
shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 Atbilde apstājas, kad sasniedz ierobežojumu. Straume tad beidzas ar finish_reason length.
Hostētie atvērto svaru modeļi Atbildes teksts apstājas pie max_tokens. Spriešana pret to netiek skaitīta. Vērtības zem 256 darbojas kā 256.

Bez max_tokens vai max_completion_tokens vērtība ir 4,096. Modelim shannon-coder-1 tā ir 65,536.

Ziņojumi

Katrs ziņojums ir objekts ar role un content. content ir virkne vai daļu masīvs, ja ziņojums nes ne tikai tekstu.

Loma Apraksts Piemēro
system Norādījumi modelim. Ievietojiet to pirmo. Shannon līmeņos tiek izmantots pirmais system ziņojums. Hostētie atvērto svaru modeļi, shannon-1.6-*, shannon-2-*, shannon-coder-1
developer Tiek lasīts kā system. Hostētie atvērto svaru modeļi
user Ko jūs jautājat. Shannon līmeņos pēdējais user ziņojums ir uzvedne, bet pirms tā esošie ziņojumi ir vēsture. Visi modeļi
assistant Modeļa iepriekšējās atbildes. Saglabājiet tā tool_calls, kad aiz tā sūtāt rīka rezultātu. Visi modeļi
tool Rīka izsaukuma rezultāts: tool_call_id satur izsaukuma id un content rezultātu kā virkni. Visi modeļi

Ar Shannon 3 saimes id norādījumus, kam jāizpildās, ievietojiet user ziņojumā.

Shannon līmeņos pieprasījums bez lietotāja teksta un bez tools atgriež 400 No user message provided.

Satura daļas

Daļa Apraksts Pieejams
{"type": "text", "text": "…"} Vienkāršs teksts. Visi modeļi
{"type": "image_url", "image_url": {"url": "…"}} Attēls kā data: URL ar base64 saturu vai kā http(s) URL. Shannon 3 saime, shannon-1.6-lite, shannon-1.6-pro un hostētie atvērto svaru modeļi, kuriem norādīta attēlu ievade
{"type": "file", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} Dokuments (PDF, Word, PowerPoint vai Excel), kā base64 vai pēc URL. Shannon 3 saime

Izmēriem, ierobežojumiem un pilnam formu sarakstam ir sava lapa. Attēli un faili

Atbildes objekts

Lauks Tips Apraksts
id string chatcmpl-, kam seko 32 heksadecimālas rakstzīmes.
object string Vienmēr chat.completion.
created integer Atbildes laiks Unix sekundēs.
model string Modeļa, kas atbildēja, kanoniskais id. Pēc rakstības tas var atšķirties no id, ko nosūtījāt.
choices array Vienmēr tieši viena izvēle (choice) ar index 0.
choices[0].message.role string Vienmēr assistant.
choices[0].message.content string | null Atbildes teksts. Ar tool_calls Shannon līmeņos tas ir null; hostētie atvērto svaru modeļi līdzās izsaukumiem var sūtīt tekstu.
choices[0].message.reasoning_content string | null Spriešana, ko modelis uzrakstīja pirms atbildes, vai null, ja tās nav.
choices[0].message.tool_calls array Ir tikai tad, kad modelis izsauc rīkus. Katram ierakstam ir id, type function un function ar name un arguments kā JSON virkni.
choices[0].message.annotations array Tikai pieprasījumam ar web_search: true, kura meklēšana kaut ko atrada. Viens url_citation katram avotam, ko nosauc atzīme laukā content, ar url, title, start_index un end_index (atzīmes pozīcija, skaitīta rakstzīmēs, beigu pozīcija netiek ieskaitīta).
choices[0].finish_reason string Kāpēc atbilde beidzās. Skatiet Beigu iemesli.
usage object Pieprasījuma tokeni. Skatiet Lietojums.
sources array Tikai pieprasījumam ar web_search: true, kura meklēšana kaut ko atrada: rezultāti, kas doti modelim, katrs ar index, title un url. [1] atbildē ir ieraksts ar index 1.

Beigu iemesli

finish_reason Apraksts
stop Modelis pabeidza atbildi, vai parādījās stop virkne.
tool_calls Modelis izsauc vienu vai vairākus rīkus. Izpildiet tos un nosūtiet rezultātus tool ziņojumos.
length Atbilde tika pārtraukta pie izvades ierobežojuma. Tiek norādīts modeļu shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 un Shannon 3 saimes straumēs.

Atbilde, kas netiek straumēta, norāda stop vai tool_calls.

Lietojums

Lauks Tips Apraksts Pieejams
usage.prompt_tokens integer Ievades tokeni. Visi modeļi
usage.completion_tokens integer Izvades tokeni: spriešana, atbilde un rīku izsaukumi kopā. Visi modeļi
usage.total_tokens integer prompt_tokens plus completion_tokens. Visi modeļi
usage.prompt_tokens_details.cached_tokens integer prompt_tokens daļa, kas nolasīta no uzvednes keša. Hostētie atvērto svaru modeļi
usage.completion_tokens_details.reasoning_tokens integer completion_tokens daļa, kas iztērēta spriešanai. Hostētie atvērto svaru modeļi

Hostētajiem atvērto svaru modeļiem prompt_tokens ir jūsu ziņojumi un rīku definīcijas, saskaitītas ar paša modeļa tokenizatoru, plus jebkuru attēlu tokeni. Tokenu skaitīšanas galapunkti atgriež to pašu skaitli, pirms jūs sūtāt. Tokenu skaitīšana

Shannon līmeņos prompt_tokens skaita visu, ko modelis nolasīja, lai uzrakstītu atbildi, tāpēc tas ir lielāks par tikai jūsu ziņojumu tekstu.

Straumēšana

Ar stream, kas iestatīts uz true, atbilde ierodas kā chat.completion.chunk notikumi un beidzas ar data: [DONE]. Pēdējā daļa pirms tā nes finish_reason un usage; stream_options nav vajadzīgas. Daļu formām, keep-alive rindām un kļūdām straumes iekšienē ir sava lapa. Straumēšana

Kļūdas

Kļūda ir JSON objekts ar error locekli. Pārbaudes notiek šādā secībā: API atslēga, pieprasījuma pamatteksts, modeļa id, tad atlikums. Tabulā ir uzskaitīts tas, ko šis galapunkts atgriež visbiežāk. Pilns saraksts ar norādēm, ko mēģināt atkārtot, ir atsevišķā lapā. Kļūdu apstrāde

400 JSON
{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: no-such-model"
  }
}
Statuss Veids Ziņojums Kad
401 authentication_error Missing authentication
Invalid API key
API atslēga netika nosūtīta, vai atslēga nav zināma vai ir atsaukta.
400 invalid_request_error unknown model: <id> model nav publicēts id.
400 invalid_request_error No user message provided Shannon līmeņi: pieprasījumā nav lietotāja teksta un nav tools.
400 invalid_request_error <id> does not accept image input Attēla daļa tika nosūtīta hostētam atvērto svaru modelim bez attēlu ievades.
400 invalid_request_error <id> does not accept response_format response_format tika nosūtīts hostētam atvērto svaru modelim bez strukturētas izvades.
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high reasoning_effort satur vērtību, kas nav sarakstā.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … messages trūkst, vai laukam ir nepareizs JSON tips.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan max_tokens ir lielāks par jūsu atlikuma atlikušo daļu.
429 rate_limit_error Too many requests. Retry in <n>s. Flood protection: vairāk nekā 120 pieprasījumu minūtē jūsu kontā.
500 server_error The model backend failed to answer. Please retry. Modelis neizveidoja atbildi. Nosūtiet pieprasījumu vēlreiz.
502 api_error The model backend failed to answer. Please retry. Tas pats Shannon 3 saimei un hostētajiem atvērto svaru modeļiem.