Ruka hadi kwenye maudhui
Reasoning effort

Reasoning effort

Mpya

Model inayofikiri hurudisha maandishi yake ya reasoning kando ya jibu, kwenye field yake yenyewe. Kwenye model za open-weight zinazopangishwa field moja ya ombi huweka kina cha model kufikiri kabla ya kujibu.

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)

Jibu hubeba maandishi ya reasoning kwenye reasoning_content, jibu kwenye content, na tokens za reasoning kwenye 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}
  }
}

Model zipi zinafikiri

Model Hurudisha maandishi ya reasoning Inatumia field ya effort
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 Ndiyo —
Kila model ya open-weight inayopangishwa Ndiyo Ndiyo

Hizi ni flags capabilities.reasoning na capabilities.reasoning_effort ambazo GET /v1/models huripoti kwa kila id. Jibu hubeba maandishi ya reasoning tu wakati model ilitoa. Model na bei

Kuweka effort

Kila endpoint ina namna yake ya kuandika effort. Zote huchagua mojawapo ya viwango vinne vile vile.

Field Aina Chaguo-msingi Maelezo Inatumiwa na
reasoning_effort string high /v1/chat/completions. Kina ambacho model hufikiri kabla ya kujibu: off, low, medium au high. Model za open-weight zinazopangishwa
reasoning object | string /v1/chat/completions. Thamani ile ile kama {"effort": "low"} au kama string pekee. Fields zote mbili zikitumwa, reasoning_effort ndiyo inayohesabiwa. Model za open-weight zinazopangishwa
reasoning.effort string high /v1/responses. Huandikwa kama kitu {"effort": "low"}. Model za open-weight zinazopangishwa
thinking object /v1/messages. {"type": "enabled", "budget_tokens": n} au {"type": "disabled"}. Bajeti huchagua mojawapo ya viwango; tazama jedwali lililo chini zaidi. Model za open-weight zinazopangishwa
{
  "model": "Kimi-K3-3BIT-REAP",
  "reasoning_effort": "low",
  "messages": [{"role": "user", "content": "Is 221 a prime number?"}]
}
Thamani Pia inakubaliwa Athari
off none, minimal Hakuna reasoning. Jibu halibebi maandishi ya reasoning.
low Reasoning fupi.
medium default Kina cha wastani.
high max Kiwango cha kina zaidi. Hiki ni kiwango cha ombi lisilotuma thamani.
  • Thamani husomwa bila kujali herufi kubwa au ndogo.
  • Thamani default inamaanisha medium. Kuacha field nje kunamaanisha high.
  • Model za Shannon (shannon-*) huweka kina chao wenyewe kwenye kila ombi; GET /v1/models huripoti reasoning_effort: false kwa hizo.

Bajeti ya thinking kwenye /v1/messages

Kwenye /v1/messages field ya thinking huchagua kiwango. budget_tokens huchagua mojawapo ya viwango vya juu; si kikomo chake cha tokens. adaptive husomwa kama enabled.

Unatuma Kiwango
{"type": "disabled"} off
{"type": "enabled", "budget_tokens": n} na n hadi 2,048 low
n kutoka 2,049 hadi 8,192 medium
n kubwa zaidi, au enabled bila budget_tokens high
Hakuna field ya thinking high

Maandishi ya reasoning yanafika wapi

Maandishi ya reasoning daima ni tofauti na jibu. Kila umbizo lina mahali pake pa kuyaweka:

Endpoint Bila stream Kwa stream
/v1/chat/completions choices[0].message.reasoning_content: string, au null wakati model haikutoa yoyote. Chunks zenye choices[0].delta.reasoning_content, kabla ya chunks zenye delta.content.
/v1/responses Item ya output {"type": "reasoning", "summary": [{"type": "summary_text", "text": "…"}]} kabla ya item ya message. Hakuna item wakati hakuna reasoning. response.output_item.added yenye item ya reasoning, kisha matukio ya response.reasoning_summary_text.delta na response.reasoning_summary_text.done moja.
/v1/messages Content block ya kwanza {"type": "thinking", "thinking": "…"}, kisha block ya text. Hakuna block ya thinking wakati hakuna reasoning. Content block ya thinking: content_block_start, matukio ya content_block_delta yenye thinking_delta, content_block_stop. Block ya maandishi inafuata.
{
  "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}
  }
}

Mahali pa kuangalia, kwa kila model:

Model Maandishi yanafika wapi
Model za open-weight zinazopangishwa Kwenye kila endpoint, kwa stream au bila. Ombi lenye effort off, au lenye response_format / text.format, hujibiwa bila maandishi ya reasoning.
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro Kwenye kila endpoint, kwa stream au bila, kila wakati model ilipotoa maandishi ya reasoning.
shannon-2-lite, shannon-2-pro /v1/chat/completions, bila stream: kwenye message.reasoning_content. Kwa stream, kwenye ombi lisilo na tools wala response_format: stream hubeba mistari ya maoni : thinking model inapofikiri, kisha chunks za jibu. /v1/messages, kwa stream: block ya thinking kabla ya block ya maandishi.
shannon-1.6-pro, shannon-coder-1 Kwenye majibu ya stream na kwenye majibu ya maombi yanayobeba tools, kila wakati model ilipotoa maandishi ya reasoning.

Kwenye /v1/responses, jibu lisilo la stream hubeba item ya reasoning kwa familia ya Shannon 3 na model za open-weight zinazopangishwa.

Kusoma stream

Kwenye stream maandishi ya reasoning huja kwanza, kwenye deltas zake, na jibu hufuata. Yachapishe au yahifadhi kando:

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

Chunk ya kwanza ya model ya open-weight inayopangishwa, ya reasoning au ya jibu, pia hubeba delta.role: "assistant". Kutiririsha

Tokens za reasoning na malipo

Kwenye model za open-weight zinazopangishwa, tokens za reasoning ni tokens za output: hutozwa kwa bei ya output ya model, na hesabu ya output tayari inazijumuisha. usage inaonyesha sehemu ya reasoning hapa:

Endpoint Field Dokezo
/v1/chat/completions usage.completion_tokens_details.reasoning_tokens Tayari imejumuishwa kwenye completion_tokens.
/v1/responses usage.output_tokens_details.reasoning_tokens Tayari imejumuishwa kwenye output_tokens.
/v1/messages usage.output_tokens Reasoning na jibu kwa pamoja. Umbizo hili halina hesabu tofauti.
  • Kwenye model za open-weight zinazopangishwa max_tokens inapunguza maandishi ya jibu. Tokens za reasoning hazihesabiwi dhidi yake.
  • Kwa sababu reasoning hutozwa kama output, kiwango cha effort pia ni mpangilio wa gharama: off haitoi tokens za reasoning.
  • Model za Shannon huripoti prompt_tokens, completion_tokens na total_tokens (input_tokens na output_tokens kwenye /v1/messages) bila sehemu ya reasoning, na hutoza bei moja isiyobadilika kwa kila token. Model na bei

Reasoning kwenye ombi linalofuata

Huhitaji kutuma reasoning nyuma. Block ya thinking au item ya reasoning kwenye mazungumzo unayotuma haipitishwi kwa model, kwa hiyo zamu ya assistant inaweza kurudi nayo au bila. Block ya thinking ina fields mbili type na thinking; haina signature.

Makosa

Hali Aina Ujumbe Lini
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high Model ya open-weight inayopangishwa ilipokea thamani iliyo nje ya orodha, kwa mfano xhigh. Hakuna kinachotolewa kwenye salio lako.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … reasoning_effort si string.

Makosa ya uthibitishaji, salio na seva ni yale yale kama kwa kila ombi. Ushughulikiaji wa Makosa