منځپانګې ته ټوپ ووهئ
د reasoning effort

د reasoning effort

نوی

ماډل چې reasoning کوي خپل د reasoning متن د ځواب تر څنګ، په جلا ساحه کې، بیرته ورکوي. په کوربه شوو open-weight ماډلونو کې د غوښتنې یوه ساحه ټاکي چې ماډل مخکې له ځواب ورکولو څومره ژور reasoning کوي.

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)

ځواب د reasoning متن په reasoning_content کې، ځواب په content کې، او د reasoning ټوکنونه په 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}
  }
}

کوم ماډلونه reasoning کوي

ماډل د reasoning متن بیرته ورکوي د 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 هو —
هر کوربه شوی open-weight ماډل هو هو

دا هغه flags دي capabilities.reasoning او capabilities.reasoning_effort چې GET /v1/models د هر id لپاره راپور کوي. ځواب یوازې هغه وخت د reasoning متن لري کله چې ماډل ځینې جوړ کړي وي. ماډلونه او بیې

د effort ټاکل

هر endpoint د effort لیکلو خپل ډول لري. ټول د همدغو څلورو کچو څخه یوه غوره کوي.

ساحه ډول تلواله تشریح پلي کوونکی
reasoning_effort string high /v1/chat/completions. ماډل مخکې له ځواب ورکولو څومره ژور reasoning کوي: off، low، medium یا high. کوربه شوي open-weight ماډلونه
reasoning object | string /v1/chat/completions. همدا ارزښت د {"effort": "low"} په توګه یا د ساده string په توګه. کله چې دواړه ساحې ولیږل شي، reasoning_effort شمیرل کیږي. کوربه شوي open-weight ماډلونه
reasoning.effort string high /v1/responses. د {"effort": "low"} څیز په توګه لیکل کیږي. کوربه شوي open-weight ماډلونه
thinking object /v1/messages. {"type": "enabled", "budget_tokens": n} یا {"type": "disabled"}. بودجه له کچو څخه یوه غوره کوي؛ لاندې جدول وګورئ. کوربه شوي open-weight ماډلونه
{
  "model": "Kimi-K3-3BIT-REAP",
  "reasoning_effort": "low",
  "messages": [{"role": "user", "content": "Is 221 a prime number?"}]
}
ارزښت هم منل کیږي اغېز
off none, minimal reasoning نشته. ځواب د reasoning متن نه لري.
low لنډ reasoning.
medium default منځنی ژوروالی.
high max تر ټولو ژوره کچه. دا د هغې غوښتنې کچه ده چې هیڅ ارزښت نه لیږي.
  • ارزښتونه د لوی یا کوچني توري پروا پرته لوستل کیږي.
  • ارزښت default د medium معنی لري. ساحه پریښودل د high معنی لري.
  • د Shannon ماډلونه (shannon-*) په هره غوښتنه کې خپل ژوروالی پخپله ټاکي؛ GET /v1/models د دوی لپاره reasoning_effort: false راپور کوي.

په /v1/messages کې د thinking بودجه

په /v1/messages کې thinking ساحه کچه غوره کوي. budget_tokens له پورتنیو کچو څخه یوه غوره کوي؛ دا خپل د ټوکن حد نه دی. adaptive د enabled په څیر لوستل کیږي.

تاسو لیږئ کچه
{"type": "disabled"} off
{"type": "enabled", "budget_tokens": n} د n سره تر 2,048 پورې low
n له 2,049 څخه تر 8,192 پورې medium
لوی n، یا enabled پرته له budget_tokens high
thinking ساحه نشته high

د reasoning متن چیرته رارسیږي

د reasoning متن تل له ځواب څخه جلا دی. هره بڼه د هغه لپاره خپل ځای لري:

Endpoint Stream نه Stream
/v1/chat/completions choices[0].message.reasoning_content: یو string، یا null کله چې ماډل هیڅ نه وي جوړ کړی. Chunks د choices[0].delta.reasoning_content سره، مخکې له chunks د delta.content سره.
/v1/responses یو output توکی {"type": "reasoning", "summary": [{"type": "summary_text", "text": "…"}]} مخکې له message توکي. کله چې reasoning نه وي توکی نشته. response.output_item.added د reasoning توکي سره، بیا response.reasoning_summary_text.delta رخدادونه او یو response.reasoning_summary_text.done.
/v1/messages لومړی منځپانګې block {"type": "thinking", "thinking": "…"}، بیا text block. کله چې reasoning نه وي thinking block نشته. thinking منځپانګې block: content_block_start، content_block_delta رخدادونه د thinking_delta سره، content_block_stop. د متن block ورپسې راځي.
{
  "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}
  }
}

چیرته وګورو، د هر ماډل په اړه:

ماډلونه متن چیرته رارسیږي
کوربه شوي open-weight ماډلونه په هر endpoint کې، stream شوی یا نه. هغه غوښتنه چې effort یې off وي، یا response_format / text.format ولري، پرته له reasoning متن ځواب کیږي.
shannon-3، shannon-3-pro، shannon-3.1، shannon-3.1-pro په هر endpoint کې، stream شوی یا نه، هر کله چې ماډل د reasoning متن جوړ کړی وي.
shannon-2-lite، shannon-2-pro /v1/chat/completions، stream نه: په message.reasoning_content کې. Stream شوی، په هغه غوښتنه کې چې tools یا response_format نه لري: stream تبصرې کرښې : thinking لیږدوي پداسې حال کې چې ماډل reasoning کوي، بیا د ځواب chunks. /v1/messages، stream شوی: د متن block مخکې thinking block.
shannon-1.6-pro، shannon-coder-1 په stream شوو ځوابونو کې او د هغو غوښتنو په ځوابونو کې چې tools لري، هر کله چې ماډل د reasoning متن جوړ کړی وي.

په /v1/responses کې، ځواب چې stream نه وي د Shannon 3 کورنۍ او کوربه شوو open-weight ماډلونو لپاره reasoning توکی لري.

د stream لوستل

په stream کې د reasoning متن لومړی راځي، په خپلو deltas کې، او ځواب ورپسې راځي. دواړه جلا چاپ یا ذخیره کړئ:

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

د کوربه شوي open-weight ماډل لومړی chunk، reasoning یا ځواب، delta.role: "assistant" هم لري. جریان

Reasoning ټوکنونه او بیلینګ

په کوربه شوو open-weight ماډلونو کې، reasoning ټوکنونه output ټوکنونه دي: دوی د ماډل د output نرخ په اندازه بیل کیږي، او د output شمیر لا دمخه دوی شامل لري. usage دلته د reasoning ونډه ښيي:

Endpoint ساحه یادښت
/v1/chat/completions usage.completion_tokens_details.reasoning_tokens لا دمخه په completion_tokens کې شامل دی.
/v1/responses usage.output_tokens_details.reasoning_tokens لا دمخه په output_tokens کې شامل دی.
/v1/messages usage.output_tokens Reasoning او ځواب یوځای. دا بڼه جلا شمیر نه لري.
  • په کوربه شوو open-weight ماډلونو کې max_tokens د ځواب متن محدودوي. Reasoning ټوکنونه پر ضد یې نه شمیرل کیږي.
  • ځکه چې reasoning د output په توګه بیل کیږي، د effort کچه د لګښت تنظیم هم دی: off هیڅ reasoning ټوکنونه نه جوړوي.
  • د Shannon ماډلونه prompt_tokens، completion_tokens او total_tokens (په /v1/messages کې input_tokens او output_tokens) پرته له reasoning ونډې راپور کوي، او د هر ټوکن لپاره یو ثابت نرخ بیل کوي. ماډلونه او بیې

په راتلونکې غوښتنه کې Reasoning

تاسو اړتیا نه لرئ چې reasoning بیرته ولیږئ. په هغه ګفتګه کې چې تاسو یې لیږئ thinking block یا reasoning توکی ماډل ته نه لیږدول کیږي، نو د assistant turn کولی شي له هغه سره یا پرته بیرته لاړ شي. thinking block دوه ساحې type او thinking لري؛ signature نه لري.

تېروتنې

حالت ډول پیغام کله
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high کوربه شوي open-weight ماډل له لیست بهر ارزښت ترلاسه کړ، د مثال په توګه xhigh. ستاسو له بیلانس هیڅ نه کمیږي.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … reasoning_effort string نه دی.

تصدیق، بیلانس او server تېروتنې د هرې غوښتنې په څیر دي. د تېروتنې اداره کول