Mine sisu juurde
Reasoning-pingutus

Reasoning-pingutus

Uus

Arutlev mudel tagastab oma arutlusteksti vastuse kõrval, eraldi väljal. Hostitud avatud kaaludega mudelitel määrab üks päringuväli, kui sügavalt mudel enne vastamist arutleb.

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)

Vastus kannab arutlusteksti väljal reasoning_content, vastuse väljal content ja arutluse tokenid väljal 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}
  }
}

Millised mudelid arutlevad

Mudel Tagastab arutlusteksti Rakendab pingutuse välja
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 Jah —
Iga hostitud avatud kaaludega mudel Jah Jah

Need on lipud capabilities.reasoning ja capabilities.reasoning_effort, mida GET /v1/models iga id kohta teatab. Vastus kannab arutlusteksti ainult siis, kui mudel andis mingi. Mudelid ja hinnad

Pingutuse määramine

Igal lõpp-punktil on pingutuse jaoks oma kirjaviis. Kõik need valivad ühe samadest neljast tasemest.

Väli Tüüp Vaikeväärtus Kirjeldus Rakendavad
reasoning_effort string high /v1/chat/completions. Kui sügavalt mudel enne vastamist arutleb: off, low, medium või high. Hostitud avatud kaaludega mudelid
reasoning object | string /v1/chat/completions. Sama väärtus kujul {"effort": "low"} või paljana stringina. Kui saadetakse mõlemad väljad, loeb reasoning_effort. Hostitud avatud kaaludega mudelid
reasoning.effort string high /v1/responses. Kirjutatakse objektina {"effort": "low"}. Hostitud avatud kaaludega mudelid
thinking object /v1/messages. {"type": "enabled", "budget_tokens": n} või {"type": "disabled"}. Eelarve valib ühe tasemetest; vaata tabelit allpool. Hostitud avatud kaaludega mudelid
{
  "model": "Kimi-K3-3BIT-REAP",
  "reasoning_effort": "low",
  "messages": [{"role": "user", "content": "Is 221 a prime number?"}]
}
Väärtus Võetakse vastu ka Mõju
off none, minimal Arutlust ei ole. Vastus ei kanna arutlusteksti.
low Lühike arutlus.
medium default Keskmine sügavus.
high max Sügavaim tase. See on päringu tase, mis ei saada väärtust.
  • Väärtusi loetakse suur- ja väiketähtedest sõltumata.
  • Väärtus default tähendab medium. Välja väljajätmine tähendab high.
  • Shannoni mudelid (shannon-*) määravad oma sügavuse igas päringus ise; GET /v1/models teatab neile reasoning_effort: false.

Thinking-eelarve lõpp-punktis /v1/messages

Lõpp-punktis /v1/messages valib taseme väli thinking. budget_tokens valib ühe ülaltoodud tasemetest; see ei ole oma tokenite piir. adaptive loetakse nagu enabled.

Sina saadad Tase
{"type": "disabled"} off
{"type": "enabled", "budget_tokens": n}, kus n on kuni 2,048 low
n vahemikus 2,049 kuni 8,192 medium
Suurem n või enabled ilma budget_tokens high
Välja thinking ei ole high

Kus arutlustekst saabub

Arutlustekst on alati vastusest eraldi. Igal formaadil on selle jaoks oma koht:

Lõpp-punkt Voogedastamata Voogedastatud
/v1/chat/completions choices[0].message.reasoning_content: string või null, kui mudel ei andnud midagi. Chunkid väljaga choices[0].delta.reasoning_content, enne chunke väljaga delta.content.
/v1/responses output üksus {"type": "reasoning", "summary": [{"type": "summary_text", "text": "…"}]} enne message üksust. Üksust ei ole, kui arutlust ei ole. response.output_item.added koos reasoning üksusega, seejärel response.reasoning_summary_text.delta sündmused ja üks response.reasoning_summary_text.done.
/v1/messages Esimene sisuplokk {"type": "thinking", "thinking": "…"}, seejärel text-plokk. thinking-plokki ei ole, kui arutlust ei ole. thinking sisuplokk: content_block_start, content_block_delta sündmused koos thinking_delta ja content_block_stop. Tekstiplokk järgneb.
{
  "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}
  }
}

Kust otsida, mudeli kaupa:

Mudelid Kus tekst saabub
Hostitud avatud kaaludega mudelid Igas lõpp-punktis, voogedastatud või mitte. Päringule pingutusega off või väljaga response_format / text.format vastatakse ilma arutlusteksti.
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro Igas lõpp-punktis, voogedastatud või mitte, kui mudel andis arutlusteksti.
shannon-2-lite, shannon-2-pro /v1/chat/completions, voogedastamata: väljal message.reasoning_content. Voogedastatult, päringus ilma tools või response_format: voog kannab kommentaarirealisi : thinking, kuni mudel arutleb, seejärel vastuse chunke. /v1/messages, voogedastatult: thinking-plokk enne tekstiplokki.
shannon-1.6-pro, shannon-coder-1 Voogedastatud vastustes ja päringute vastustes, mis kannavad tools, kui mudel andis arutlusteksti.

Lõpp-punktis /v1/responses kannab voogedastamata vastus reasoning üksust Shannon 3 perekonnal ja hostitud avatud kaaludega mudelitel.

Voo lugemine

Voos tuleb arutlustekst esimesena, oma deltades, ja vastus järgneb. Trüki või salvesta need kaks eraldi:

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

Hostitud avatud kaaludega mudeli esimene chunk, arutlus või vastus, kannab ka delta.role: "assistant". Voogedastus

Arutluse tokenid ja arveldus

Hostitud avatud kaaludega mudelitel on arutluse tokenid väljundtokenid: neid arveldatakse mudeli väljundi hinnaga ja väljundi arv sisaldab neid juba. usage näitab siin arutluse osa:

Lõpp-punkt Väli Märkus
/v1/chat/completions usage.completion_tokens_details.reasoning_tokens Juba sisaldub väljas completion_tokens.
/v1/responses usage.output_tokens_details.reasoning_tokens Juba sisaldub väljas output_tokens.
/v1/messages usage.output_tokens Arutlus ja vastus kokku. Sellel formaadil eraldi arvu ei ole.
  • Hostitud avatud kaaludega mudelitel piirab max_tokens vastuse teksti. Arutluse tokeneid sellesse ei arvestata.
  • Kuna arutluse eest arveldatakse väljundina, on pingutuse tase ka kulu seade: off ei anna arutluse tokeneid.
  • Shannoni mudelid teatavad prompt_tokens, completion_tokens ja total_tokens (input_tokens ja output_tokens lõpp-punktis /v1/messages) ilma arutluse osata ning arveldavad ühe ühtse hinnaga tokeni kohta. Mudelid ja hinnad

Arutlus järgmises päringus

Arutlust ei pea tagasi saatma. Vestluses, mille saadad, olevat thinking-plokki või reasoning üksust mudelile edasi ei anta, seega võib assistendi vahetuse tagasi saata selle kaasa või ilma. thinking-plokil on kaks välja, type ja thinking; sellel ei ole signature.

Vead

Olek Tüüp Teade Millal
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high Hostitud avatud kaaludega mudel sai loendis mitte oleva väärtuse, näiteks xhigh. Sinu saldost ei võeta midagi.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … reasoning_effort ei ole string.

Autentimise, saldo ja serveri vead on samad mis igal päringul. Vigade käsitlus