Siirry sisältöön
Päättelyn teho

Päättelyn teho

Uusi

Päättelevä malli palauttaa päättelytekstinsä vastauksen vieressä omassa kentässään. Hostatuilla avoimen painon malleilla yksi pyyntökenttä asettaa, kuinka syvästi malli päättelee ennen vastaamista.

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)

Vastauksessa päättelyteksti on kentässä reasoning_content, vastaus kentässä content ja päättelytokenit kentässä 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}
  }
}

Mitkä mallit päättelevät

Malli Palauttaa päättelytekstin Käyttää effort-kenttää
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 Kyllä —
Jokainen hostattu avoimen painon malli Kyllä Kyllä

Nämä ovat liput capabilities.reasoning ja capabilities.reasoning_effort, jotka GET /v1/models ilmoittaa jokaiselle id:lle. Vastauksessa on päättelytekstiä vain, kun malli tuotti sitä. Mallit ja hinnoittelu

Tehon asettaminen

Jokaisella päätepisteellä on oma kirjoitusasunsa tehon asettamiselle. Kaikki valitsevat yhden samoista neljästä tasosta.

Kenttä Tyyppi Oletus Kuvaus Käyttävät mallit
reasoning_effort string high /v1/chat/completions. Kuinka syvästi malli päättelee ennen vastaamista: off, low, medium tai high. Hostatut avoimen painon mallit
reasoning object | string /v1/chat/completions. Sama arvo muodossa {"effort": "low"} tai pelkkänä merkkijonona. Kun molemmat kentät lähetetään, reasoning_effort ratkaisee. Hostatut avoimen painon mallit
reasoning.effort string high /v1/responses. Kirjoitetaan objektina {"effort": "low"}. Hostatut avoimen painon mallit
thinking object /v1/messages. {"type": "enabled", "budget_tokens": n} tai {"type": "disabled"}. Budjetti valitsee yhden tasoista; katso taulukko alempana. Hostatut avoimen painon mallit
{
  "model": "Kimi-K3-3BIT-REAP",
  "reasoning_effort": "low",
  "messages": [{"role": "user", "content": "Is 221 a prime number?"}]
}
Arvo Hyväksytään myös Vaikutus
off none, minimal Ei päättelyä. Vastauksessa ei ole päättelytekstiä.
low Lyhyt päättely.
medium default Keskisyvä.
high max Syvin taso. Tämä on sen pyynnön taso, joka ei lähetä arvoa.
  • Arvot luetaan ottamatta huomioon isoja ja pieniä kirjaimia.
  • Arvo default tarkoittaa arvoa medium. Kentän jättäminen pois tarkoittaa arvoa high.
  • Shannon-mallit (shannon-*) asettavat oman syvyytensä jokaisessa pyynnössä; GET /v1/models ilmoittaa niille reasoning_effort: false.

Thinking-budjetti päätepisteessä /v1/messages

Päätepisteessä /v1/messages kenttä thinking valitsee tason. budget_tokens valitsee yhden yllä olevista tasoista; se ei ole oma tokenrajansa. adaptive luetaan kuten enabled.

Lähetät Taso
{"type": "disabled"} off
{"type": "enabled", "budget_tokens": n}, jossa n on enintään 2,048 low
n väliltä 2,049–8,192 medium
Suurempi n, tai enabled ilman budget_tokens high
Ei thinking-kenttää high

Mihin päättelyteksti saapuu

Päättelyteksti on aina erillään vastauksesta. Jokaisella muodolla on sille oma paikkansa:

Päätepiste Ei striimattu Striimattu
/v1/chat/completions choices[0].message.reasoning_content: merkkijono, tai null, kun malli ei tuottanut mitään. Chunkit, joissa on choices[0].delta.reasoning_content, ennen chunkeja, joissa on delta.content.
/v1/responses output-alkio {"type": "reasoning", "summary": [{"type": "summary_text", "text": "…"}]} ennen message-alkiota. Ei alkiota, kun päättelyä ei ole. response.output_item.added ja reasoning-alkio, sitten response.reasoning_summary_text.delta-tapahtumat ja yksi response.reasoning_summary_text.done.
/v1/messages Ensimmäinen sisältölohko {"type": "thinking", "thinking": "…"}, sitten text-lohko. Ei thinking-lohkoa, kun päättelyä ei ole. thinking-sisältölohko: content_block_start, content_block_delta-tapahtumat arvolla thinking_delta, content_block_stop. Tekstilohko seuraa.
{
  "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}
  }
}

Mistä katsoa, mallikohtaisesti:

Mallit Mihin teksti saapuu
Hostatut avoimen painon mallit Jokaisessa päätepisteessä, striimattuna tai ei. Pyyntöön, jossa teho on off tai jossa on response_format / text.format, vastataan ilman päättelytekstiä.
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro Jokaisessa päätepisteessä, striimattuna tai ei, aina kun malli tuotti päättelytekstiä.
shannon-2-lite, shannon-2-pro /v1/chat/completions, ei striimattuna: kentässä message.reasoning_content. Striimattuna pyynnössä ilman tools tai response_format: striimi sisältää kommenttirivejä : thinking, kun malli päättelee, sitten vastauschunkit. /v1/messages, striimattuna: thinking-lohko ennen tekstilohkoa.
shannon-1.6-pro, shannon-coder-1 Striimatuissa vastauksissa ja vastauksissa pyyntöihin, joissa on tools, aina kun malli tuotti päättelytekstiä.

Päätepisteessä /v1/responses ei-striimattu vastaus sisältää reasoning-alkion Shannon 3 -perheelle ja hostatuille avoimen painon malleille.

Striimin lukeminen

Striimissä päättelyteksti tulee ensin omissa deltoissaan ja vastaus seuraa. Tulosta tai tallenna nämä kaksi erikseen:

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

Hostatun avoimen painon mallin ensimmäisessä chunkissa, päättelyssä tai vastauksessa, on myös delta.role: "assistant". Suoratoisto

Päättelytokenit ja laskutus

Hostatuilla avoimen painon malleilla päättelytokenit ovat tulostetokeneita: ne laskutetaan mallin tulostehinnalla, ja tulostemäärä sisältää ne jo. usage näyttää päättelyn osuuden tässä:

Päätepiste Kenttä Huomautus
/v1/chat/completions usage.completion_tokens_details.reasoning_tokens Sisältyy jo lukuun completion_tokens.
/v1/responses usage.output_tokens_details.reasoning_tokens Sisältyy jo lukuun output_tokens.
/v1/messages usage.output_tokens Päättely ja vastaus yhdessä. Tässä muodossa ei ole erillistä laskuria.
  • Hostatuilla avoimen painon malleilla max_tokens rajaa vastauksen tekstiä. Päättelytokeneita ei lasketa siihen.
  • Koska päättely laskutetaan tulosteena, tehotaso on myös kustannusasetus: off ei tuota päättelytokeneita.
  • Shannon-mallit ilmoittavat prompt_tokens, completion_tokens ja total_tokens (input_tokens ja output_tokens päätepisteessä /v1/messages) ilman päättelyosuutta ja laskuttavat yhden tasahinnan tokenilta. Mallit ja hinnoittelu

Päättely seuraavassa pyynnössä

Päättelyä ei tarvitse lähettää takaisin. Lähettämäsi keskustelun thinking-lohkoa tai reasoning-alkiota ei välitetä mallille, joten avustajan vuoro voi palata mukaan niiden kanssa tai ilman. thinking-lohkossa on kaksi kenttää, type ja thinking; siinä ei ole signature-kenttää.

Virheet

Tila Tyyppi Viesti Milloin
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high Hostattu avoimen painon malli sai listan ulkopuolisen arvon, esimerkiksi xhigh. Saldostasi ei veloiteta mitään.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … reasoning_effort ei ole merkkijono.

Todennus-, saldo- ja palvelinvirheet ovat samat kuin kaikissa pyynnöissä. Virheiden käsittely