Ad contentum transili
Conatus ratiocinationis

Conatus ratiocinationis

Novum

Modellum quod ratiocinatur textum ratiocinationis suae iuxta responsionem reddit, in campo proprio. In modellis open-weight hosted unus campus petitionis ponit quam alte modellum ratiocinetur antequam respondet.

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)

Responsio textum ratiocinationis in reasoning_content, responsionem in content, et tokens ratiocinationis in usage fert:

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

Quae modelli ratiocinentur

Modellum Textum ratiocinationis reddit Campum effort applicat
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 Ita —
Omne modellum open-weight hosted Ita Ita

Hae sunt notae capabilities.reasoning et capabilities.reasoning_effort quas GET /v1/models pro quoque id nuntiat. Responsio textum ratiocinationis fert tantum cum modellum aliquem produxit. Modella et pretia

Effort ponere

Quodque endpoint suam scripturam effort habet. Omnes unum ex iisdem quattuor gradibus eligunt.

Campus Genus Default Descriptio Applicatur a
reasoning_effort string high /v1/chat/completions. Quam alte modellum ratiocinetur antequam respondet: off, low, medium vel high. Modelli open-weight hosted
reasoning object | string /v1/chat/completions. Idem valor ut {"effort": "low"} vel ut string nudus. Cum ambo campi mittuntur, reasoning_effort valet. Modelli open-weight hosted
reasoning.effort string high /v1/responses. Scriptum ut objectum {"effort": "low"}. Modelli open-weight hosted
thinking object /v1/messages. {"type": "enabled", "budget_tokens": n} vel {"type": "disabled"}. Budget unum e gradibus eligit; vide tabulam infra. Modelli open-weight hosted
{
  "model": "Kimi-K3-3BIT-REAP",
  "reasoning_effort": "low",
  "messages": [{"role": "user", "content": "Is 221 a prime number?"}]
}
Valor Etiam accepta Effectus
off none, minimal Nulla ratiocinatio. Responsio nullum textum ratiocinationis fert.
low Ratiocinatio brevis.
medium default Profunditas media.
high max Gradus profundissimus. Hic est gradus petitionis quae nullum valorem mittit.
  • Valores sine respectu litterarum maiusculorum vel minusculorum leguntur.
  • Valor default significat medium. Campum omittere significat high.
  • Modelli Shannon (shannon-*) profunditatem suam in omni petitione ponunt; GET /v1/models pro eis reasoning_effort: false nuntiat.

Budget thinking in /v1/messages

In /v1/messages campus thinking gradum eligit. budget_tokens unum e gradibus supra eligit; non est limes tokenum proprius. adaptive ut enabled legitur.

Tu mittis Gradus
{"type": "disabled"} off
{"type": "enabled", "budget_tokens": n} cum n ad 2,048 low
n a 2,049 ad 8,192 medium
n maior, aut enabled sine budget_tokens high
Nullus campus thinking high

Ubi textus ratiocinationis adveniat

Textus ratiocinationis semper a responsione separatus est. Quaeque forma locum suum pro eo habet:

Endpoint Non streamed Streamed
/v1/chat/completions choices[0].message.reasoning_content: string, aut null cum modellum nullam produxit. Chunks cum choices[0].delta.reasoning_content, ante chunks cum delta.content.
/v1/responses Elementum output {"type": "reasoning", "summary": [{"type": "summary_text", "text": "…"}]} ante elementum message. Nullum elementum cum nulla ratiocinatio est. response.output_item.added cum elemento reasoning, deinde eventus response.reasoning_summary_text.delta et unum response.reasoning_summary_text.done.
/v1/messages Primus content block {"type": "thinking", "thinking": "…"}, deinde block text. Nullus block thinking cum nulla ratiocinatio est. Content block thinking: content_block_start, eventus content_block_delta cum thinking_delta, content_block_stop. Block textus sequitur.
{
  "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}
  }
}

Ubi spectandum sit, per modellum:

Modelli Ubi textus adveniat
Modelli open-weight hosted In omni endpoint, streamed aut non. Petitio cum effort off, vel cum response_format / text.format, sine textu ratiocinationis respondetur.
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro In omni endpoint, streamed aut non, quotiens modellum textum ratiocinationis produxit.
shannon-2-lite, shannon-2-pro /v1/chat/completions, non streamed: in message.reasoning_content. Streamed, in petitione sine tools vel response_format: stream lineas commentarii : thinking fert dum modellum ratiocinatur, deinde chunks responsionis. /v1/messages, streamed: block thinking ante block textus.
shannon-1.6-pro, shannon-coder-1 In responsionibus streamed et in responsionibus ad petitiones quae tools ferunt, quotiens modellum textum ratiocinationis produxit.

In /v1/responses, responsio non streamed elementum reasoning pro familia Shannon 3 et modellis open-weight hosted fert.

Stream legere

In stream textus ratiocinationis primus venit, in deltas propriis, et responsio sequitur. Utrumque separatim imprime vel serva:

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

Primus chunk modelli open-weight hosted, ratiocinationis aut responsionis, etiam delta.role: "assistant" fert. Fluens

Tokens ratiocinationis et factura

In modellis open-weight hosted tokens ratiocinationis sunt tokens output: ad pretium output modelli computantur, et numerus output eos iam includit. usage hic partem ratiocinationis ostendit:

Endpoint Campus Nota
/v1/chat/completions usage.completion_tokens_details.reasoning_tokens Iam in completion_tokens inclusum.
/v1/responses usage.output_tokens_details.reasoning_tokens Iam in output_tokens inclusum.
/v1/messages usage.output_tokens Ratiocinatio et responsio simul. Haec forma numerum separatum non habet.
  • In modellis open-weight hosted max_tokens textum responsionis limitat. Tokens ratiocinationis contra eum non computantur.
  • Quia ratiocinatio ut output computatur, gradus effort etiam statutum sumptus est: off nullos tokens ratiocinationis producit.
  • Modelli Shannon prompt_tokens, completion_tokens et total_tokens (input_tokens et output_tokens in /v1/messages) sine parte ratiocinationis nuntiant, et unum pretium planum per token computant. Modella et pretia

Ratiocinatio in petitione proxima

Ratiocinationem remittere non debes. Block thinking vel elementum reasoning in conversatione quam mittis ad modellum non transmittitur, itaque turnus assistentis cum eo vel sine eo redire potest. Block thinking duos campos type et thinking habet; signature non habet.

Errores

Status Genus Nuntius Quando
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high Modellum open-weight hosted valorem extra indicem accepit, exempli gratia xhigh. Nihil de saldo tuo trahitur.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … reasoning_effort non est string.

Errores authenticationis, saldi et servientis eidem sunt ac pro omni petitione. Tractatio errorum