Pāriet uz saturu
Spriešanas apjoms

Spriešanas apjoms

Jauns

Modelis, kas spriež, atgriež savu spriešanas tekstu līdzās atbildei, savā laukā. Hostētajiem atvērto svaru modeļiem viens pieprasījuma lauks nosaka, cik dziļi modelis spriež pirms atbildes.

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

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="Kimi-K3-3BIT-REAP",
    reasoning_effort="low",
    messages=[{"role": "user", "content": "Is 221 a prime number?"}],
)

message = response.choices[0].message
print("Reasoning:", getattr(message, "reasoning_content", None))
print("Answer:", message.content)
print("Reasoning tokens:", response.usage.completion_tokens_details.reasoning_tokens)

Atbilde nes spriešanas tekstu laukā reasoning_content, atbildi laukā content un spriešanas tokenus laukā usage:

200 JSON
{
  "id": "chatcmpl-2a6c8e0b4d1f4a3c9e7b5d3f1a8c6e4b",
  "object": "chat.completion",
  "created": 1791590400,
  "model": "Kimi-K3-3BIT-REAP",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "No. 221 = 13 x 17, so it is not prime.",
        "reasoning_content": "Try small primes. 221 / 13 = 17, so 221 = 13 x 17."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 14,
    "completion_tokens": 43,
    "total_tokens": 57,
    "prompt_tokens_details": {"cached_tokens": 0},
    "completion_tokens_details": {"reasoning_tokens": 27}
  }
}

Kuri modeļi spriež

Modelis Atgriež spriešanas tekstu Piemēro piepūles lauku
shannon-1.6-lite — —
shannon-1.6-pro, shannon-2-lite, shannon-2-pro, shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro, shannon-coder-1 Jā —
Katrs hostētais atvērto svaru modelis Jā Jā

Tie ir karogi capabilities.reasoning un capabilities.reasoning_effort, ko GET /v1/models ziņo katram id. Atbilde nes spriešanas tekstu tikai tad, ja modelis kādu radīja. Modeļi un cenas

Piepūles iestatīšana

Katram galapunktam ir savs piepūles pieraksts. Visi tie izvēlas vienu un to pašu četru līmeņu.

Lauks Tips Noklusējums Apraksts Piemēro
reasoning_effort string high /v1/chat/completions. Cik dziļi modelis spriež pirms atbildes: off, low, medium vai high. Hostētie atvērto svaru modeļi
reasoning object | string /v1/chat/completions. Tā pati vērtība kā {"effort": "low"} vai kā vienkārša virkne. Ja nosūtīti abi lauki, tiek ņemts reasoning_effort. Hostētie atvērto svaru modeļi
reasoning.effort string high /v1/responses. Rakstīts kā objekts {"effort": "low"}. Hostētie atvērto svaru modeļi
thinking object /v1/messages. {"type": "enabled", "budget_tokens": n} vai {"type": "disabled"}. Budžets izvēlas vienu no līmeņiem; skatiet tabulu zemāk. Hostētie atvērto svaru modeļi
{
  "model": "Kimi-K3-3BIT-REAP",
  "reasoning_effort": "low",
  "messages": [{"role": "user", "content": "Is 221 a prime number?"}]
}
Vērtība Pieņem arī Iedarbība
off none, minimal Bez spriešanas. Atbilde nenes spriešanas tekstu.
low Īsa spriešana.
medium default Vidējs dziļums.
high max Dziļākais līmenis. Šāds ir līmenis pieprasījumam, kas nesūta nekādu vērtību.
  • Vērtības tiek lasītas, neņemot vērā lielos un mazos burtus.
  • Vērtība default nozīmē medium. Ja lauku izlaiž, tas nozīmē high.
  • Shannon modeļi (shannon-*) katrā pieprasījumā paši nosaka savu dziļumu; GET /v1/models tiem ziņo reasoning_effort: false.

Spriešanas budžets galapunktā /v1/messages

Galapunktā /v1/messages līmeni izvēlas lauks thinking. budget_tokens izvēlas vienu no iepriekš minētajiem līmeņiem; tas nav atsevišķs tokenu ierobežojums. adaptive tiek lasīts kā enabled.

Jūs sūtāt Līmenis
{"type": "disabled"} off
{"type": "enabled", "budget_tokens": n} ar n līdz 2,048 low
n no 2,049 līdz 8,192 medium
Lielāks n vai enabled bez budget_tokens high
Nav lauka thinking high

Kur ierodas spriešanas teksts

Spriešanas teksts vienmēr ir atsevišķs no atbildes. Katram formātam tam ir sava vieta:

Galapunkts Nestraumēts Straumēts
/v1/chat/completions choices[0].message.reasoning_content: virkne vai null, ja modelis neko neradīja. Daļas ar choices[0].delta.reasoning_content pirms daļām ar delta.content.
/v1/responses Elements output {"type": "reasoning", "summary": [{"type": "summary_text", "text": "…"}]} pirms elementa message. Ja spriešanas nav, elementa nav. response.output_item.added ar elementu reasoning, tad notikumi response.reasoning_summary_text.delta un viens response.reasoning_summary_text.done.
/v1/messages Pirmais satura bloks {"type": "thinking", "thinking": "…"}, tad bloks text. Ja spriešanas nav, bloka thinking nav. Satura bloks thinking: content_block_start, notikumi content_block_delta ar thinking_delta, content_block_stop. Tam seko teksta bloks.
{
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "No. 221 = 13 x 17, so it is not prime.",
        "reasoning_content": "Try small primes. 221 / 13 = 17, so 221 = 13 x 17."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 14,
    "completion_tokens": 43,
    "total_tokens": 57,
    "prompt_tokens_details": {"cached_tokens": 0},
    "completion_tokens_details": {"reasoning_tokens": 27}
  }
}

Kur skatīties, katram modelim:

Modeļi Kur teksts ierodas
Hostētie atvērto svaru modeļi Katrā galapunktā, straumēts vai nē. Uz pieprasījumu ar piepūli off vai ar response_format / text.format atbild bez spriešanas teksta.
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro Katrā galapunktā, straumēts vai nē, kad vien modelis radīja spriešanas tekstu.
shannon-2-lite, shannon-2-pro /v1/chat/completions, nestraumēts: laukā message.reasoning_content. Straumēts, pieprasījumā bez tools vai response_format: straume, kamēr modelis spriež, nes komentāru rindas : thinking, pēc tam atbildes daļas. /v1/messages, straumēts: bloks thinking pirms teksta bloka.
shannon-1.6-pro, shannon-coder-1 Straumētās atbildēs un atbildēs uz pieprasījumiem, kas nes tools, kad vien modelis radīja spriešanas tekstu.

Galapunktā /v1/responses nestraumēta atbilde Shannon 3 saimei un hostētajiem atvērto svaru modeļiem nes elementu reasoning.

Straumes lasīšana

Straumē spriešanas teksts nāk pirmais, savās delta, un atbilde seko. Izdrukājiet vai saglabājiet abus atsevišķi:

from openai import OpenAI

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

stream = client.chat.completions.create(
    model="Kimi-K3-3BIT-REAP",
    reasoning_effort="medium",
    stream=True,
    messages=[{"role": "user", "content": "Is 221 a prime number?"}],
)

for chunk in stream:
    if not chunk.choices:
        continue
    delta = chunk.choices[0].delta
    reasoning = getattr(delta, "reasoning_content", None)
    if reasoning:
        print(reasoning, end="", flush=True)      # the reasoning text comes first
    if delta.content:
        print(delta.content, end="", flush=True)  # then the answer

Hostētā atvērto svaru modeļa pirmā daļa, spriešana vai atbilde, nes arī delta.role: "assistant". Straumēšana

Spriešanas tokeni un rēķināšana

Hostētajiem atvērto svaru modeļiem spriešanas tokeni ir izvades tokeni: tie tiek rēķināti par modeļa izvades cenu, un izvades skaits tos jau ietver. usage šeit rāda spriešanas daļu:

Galapunkts Lauks Piezīme
/v1/chat/completions usage.completion_tokens_details.reasoning_tokens Jau iekļauts completion_tokens.
/v1/responses usage.output_tokens_details.reasoning_tokens Jau iekļauts output_tokens.
/v1/messages usage.output_tokens Spriešana un atbilde kopā. Šim formātam nav atsevišķa skaita.
  • Hostētajiem atvērto svaru modeļiem max_tokens ierobežo atbildes tekstu. Spriešanas tokeni pret to netiek skaitīti.
  • Tā kā spriešana tiek rēķināta kā izvade, piepūles līmenis ir arī izmaksu iestatījums: off neveido spriešanas tokenus.
  • Shannon modeļi ziņo prompt_tokens, completion_tokens un total_tokens (input_tokens un output_tokens galapunktā /v1/messages) bez spriešanas daļas un rēķina vienu vienotu cenu par tokenu. Modeļi un cenas

Spriešana nākamajā pieprasījumā

Spriešanu nav obligāti sūtīt atpakaļ. Bloks thinking vai elements reasoning jūsu nosūtītajā sarunā netiek nodots modelim, tāpēc asistenta gājienu var sūtīt atpakaļ ar to vai bez tā. Blokam thinking ir divi lauki type un thinking; tam nav signature.

Kļūdas

Statuss Veids Ziņojums Kad
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high Hostētais atvērto svaru modelis saņēma vērtību ārpus saraksta, piemēram, xhigh. No jūsu atlikuma nekas netiek norakstīts.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … reasoning_effort nav virkne.

Autentifikācijas, atlikuma un servera kļūdas ir tādas pašas kā jebkuram pieprasījumam. Kļūdu apstrāde