Tsallake zuwa abun ciki
Reasoning effort

Reasoning effort

Sabo

Model da ke yin reasoning yana mayar da rubutun reasoning ɗinsa kusa da amsa, a field na kansa. A hosted open-weight models field ɗaya na request yana saita zurfin reasoning na model kafin ya amsa.

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)

Amsar tana ɗauke da rubutun reasoning a reasoning_content, amsa a content, da reasoning tokens a 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}
  }
}

Waɗanne models ke yin reasoning

Model Yana mayar da rubutun reasoning Yana aiwatar da field na 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 Eh —
Kowane hosted open-weight model Eh Eh

Waɗannan su ne flags capabilities.reasoning da capabilities.reasoning_effort da GET /v1/models ke bayyana ga kowane id. Amsa tana ɗauke da rubutun reasoning ne kawai idan model ya samar da wani. Models & farashi

Saita effort

Kowane endpoint yana da nasa rubutun effort. Dukansu suna zaɓar ɗaya daga matakai huɗu iri ɗaya.

Field Nau'i Na asali Bayani Wanda ke aiwatarwa
reasoning_effort string high /v1/chat/completions. Zurfin reasoning na model kafin ya amsa: off, low, medium ko high. Hosted open-weight models
reasoning object | string /v1/chat/completions. Ƙima iri ɗaya a matsayin {"effort": "low"} ko a matsayin string kaɗai. Idan an aika fields duka biyu, reasoning_effort ne ke aiki. Hosted open-weight models
reasoning.effort string high /v1/responses. Ana rubuta shi a matsayin object {"effort": "low"}. Hosted open-weight models
thinking object /v1/messages. {"type": "enabled", "budget_tokens": n} ko {"type": "disabled"}. Budget yana zaɓar ɗaya daga matakai; duba tebur a ƙasa. Hosted open-weight models
{
  "model": "Kimi-K3-3BIT-REAP",
  "reasoning_effort": "low",
  "messages": [{"role": "user", "content": "Is 221 a prime number?"}]
}
Ƙima Ana kuma karɓa Tasiri
off none, minimal Babu reasoning. Amsa ba ta ɗauke da rubutun reasoning.
low Reasoning a taƙaice.
medium default Zurfi matsakaici.
high max Mafi zurfin mataki. Wannan shi ne matakin request da ba ya aika ƙima.
  • Ana karanta ƙimomi ba tare da la'akari da manyan haruffa ko ƙanana ba.
  • Ƙimar default tana nufin medium. Barin field ɗin yana nufin high.
  • Models na Shannon (shannon-*) suna saita zurfinsu da kansu a kowace request; GET /v1/models yana bayyana reasoning_effort: false a gare su.

Thinking budget a /v1/messages

A /v1/messages field na thinking yana zaɓar mataki. budget_tokens yana zaɓar ɗaya daga matakan da ke sama; ba iyakar tokens ba ce ta kanta. Ana karanta adaptive kamar enabled.

Kuna aikawa Mataki
{"type": "disabled"} off
{"type": "enabled", "budget_tokens": n} da n har zuwa 2,048 low
n daga 2,049 zuwa 8,192 medium
n mafi girma, ko enabled ba tare da budget_tokens ba high
Babu field na thinking high

Inda rubutun reasoning ke zuwa

Rubutun reasoning koyaushe daban yake da amsa. Kowane tsari yana da wurinsa:

Endpoint Ba streaming Streaming
/v1/chat/completions choices[0].message.reasoning_content: string, ko null idan model bai samar da komai ba. Chunks masu choices[0].delta.reasoning_content, kafin chunks masu delta.content.
/v1/responses Item na output {"type": "reasoning", "summary": [{"type": "summary_text", "text": "…"}]} kafin item na message. Babu item idan babu reasoning. response.output_item.added mai item na reasoning, sannan events na response.reasoning_summary_text.delta da response.reasoning_summary_text.done ɗaya.
/v1/messages Content block na farko {"type": "thinking", "thinking": "…"}, sannan block na text. Babu block na thinking idan babu reasoning. Content block na thinking: content_block_start, events na content_block_delta masu thinking_delta, content_block_stop. Block na rubutu yana biye.
{
  "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}
  }
}

Inda za a duba, ga kowane model:

Models Inda rubutun ke zuwa
Hosted open-weight models A kowane endpoint, da streaming ko ba tare da shi ba. Ana amsa request mai effort off, ko mai response_format / text.format, ba tare da rubutun reasoning ba.
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro A kowane endpoint, da streaming ko ba tare da shi ba, duk lokacin da model ya samar da rubutun reasoning.
shannon-2-lite, shannon-2-pro /v1/chat/completions, ba streaming: a message.reasoning_content. Streaming, a request ba tare da tools ko response_format ba: stream yana ɗauke da layukan sharhi : thinking yayin da model ke yin reasoning, sannan chunks na amsa. /v1/messages, streaming: block na thinking kafin block na rubutu.
shannon-1.6-pro, shannon-coder-1 A amsoshin streaming da amsoshin requests masu ɗauke da tools, duk lokacin da model ya samar da rubutun reasoning.

A /v1/responses, amsar da ba streaming ba tana ɗauke da item na reasoning ga iyalin Shannon 3 da hosted open-weight models.

Karanta stream

A stream rubutun reasoning yana zuwa da farko, a deltas na kansa, sannan amsa tana biye. Ku buga ko ku adana su biyu daban:

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 na farko na hosted open-weight model, reasoning ko amsa, yana kuma ɗauke da delta.role: "assistant". Yawo

Reasoning tokens da biyan kuɗi

A hosted open-weight models, reasoning tokens output tokens ne: ana cajin su a farashin output na model, kuma ƙirgan output ya riga ya haɗa da su. usage yana nuna kason reasoning a nan:

Endpoint Field Bayani
/v1/chat/completions usage.completion_tokens_details.reasoning_tokens Ya riga ya shiga cikin completion_tokens.
/v1/responses usage.output_tokens_details.reasoning_tokens Ya riga ya shiga cikin output_tokens.
/v1/messages usage.output_tokens Reasoning da amsa a haɗe. Wannan tsari ba shi da ƙirgi na daban.
  • A hosted open-weight models max_tokens yana iyakance rubutun amsa. Ba a ƙirga reasoning tokens a ciki ba.
  • Domin ana cajin reasoning a matsayin output, matakin effort kuma saitin kuɗi ne: off ba ya samar da reasoning tokens.
  • Models na Shannon suna bayyana prompt_tokens, completion_tokens da total_tokens (input_tokens da output_tokens a /v1/messages) ba tare da kason reasoning ba, kuma suna cajin farashi tsayayye ɗaya ga kowane token. Models & farashi

Reasoning a request na gaba

Ba sai kun mayar da reasoning ba. Block na thinking ko item na reasoning a tattaunawar da kuka aika ba a mika shi ga model, don haka turn na assistant na iya komawa da shi ko ba tare da shi ba. Block na thinking yana da fields biyu type da thinking; ba shi da signature.

Kurakurai

Matsayi Nau'i Saƙo Lokaci
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high Hosted open-weight model ya karɓi ƙima a wajen jerin, misali xhigh. Ba a cire komai daga balance ɗinku ba.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … reasoning_effort ba string ba ne.

Kurakuran tabbatarwa, balance da server iri ɗaya ne da na kowace request. Kuskuren Gudanarwa