අන්තර්ගතයට යන්න
Reasoning effort

Reasoning effort

නව

තර්ක කරන model එකක් තම තර්කන පෙළ පිළිතුර අසල, ඊටම වූ field එකක ආපසු දෙයි. අපගේ සේවාදායකවල ධාවනය වන open-weight models මත, එක ඉල්ලීම් field එකක් මගින් model එක පිළිතුරු දීමට පෙර කොතරම් ගැඹුරින් තර්ක කරයිද යන්න සකසයි.

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_content හි, පිළිතුර content හි, සහ තර්කන tokens 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}
  }
}

තර්ක කරන models මොනවාද

Model තර්කන පෙළ ආපසු දෙයි effort field එක ක්‍රියාත්මක කරයි
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 model එකක්ම ඔව් ඔව්

මේවා GET /v1/models සෑම id එකකටම වාර්තා කරන capabilities.reasoning සහ capabilities.reasoning_effort flags ය. Model එක යමක් නිපදවූ විට පමණක් පිළිතුරක තර්කන පෙළ ඇත. Models සහ මිල ගණන්

Effort සැකසීම

සෑම endpoint එකකටම effort ලියන්නේ කෙසේද යන්න ගැන තමන්ගේම ආකාරයක් ඇත. ඒ සියල්ලම එකම මට්ටම් හතරෙන් එකක් තෝරයි.

Field වර්ගය පෙරනිමිය විස්තරය යොදන්නේ
reasoning_effort string high /v1/chat/completions. Model එක පිළිතුරු දීමට පෙර කොතරම් ගැඹුරින් තර්ක කරයිද: off, low, medium හෝ high. අපගේ සේවාදායකවල ධාවනය වන open-weight models
reasoning object | string /v1/chat/completions. {"effort": "low"} ලෙස හෝ හුදෙක් string එකක් ලෙස එම අගයම. Fields දෙකම යවන විට reasoning_effort ගණන් ගැනේ. අපගේ සේවාදායකවල ධාවනය වන open-weight models
reasoning.effort string high /v1/responses. {"effort": "low"} object එක ලෙස ලියා ඇත. අපගේ සේවාදායකවල ධාවනය වන open-weight models
thinking object /v1/messages. {"type": "enabled", "budget_tokens": n} හෝ {"type": "disabled"}. අයවැය මට්ටම් වලින් එකක් තෝරයි; පහත ඇති වගුව බලන්න. අපගේ සේවාදායකවල ධාවනය වන open-weight models
{
  "model": "Kimi-K3-3BIT-REAP",
  "reasoning_effort": "low",
  "messages": [{"role": "user", "content": "Is 221 a prime number?"}]
}
අගය මේවා ද පිළිගනී බලපෑම
off none, minimal තර්කනයක් නැත. පිළිතුරේ තර්කන පෙළක් නැත.
low කෙටි තර්කනය.
medium default මධ්‍යම ගැඹුර.
high max ගැඹුරුම මට්ටම. අගයක් නොයවන ඉල්ලීමක මට්ටම මෙයයි.
  • අගයන් ලොකු හෝ කුඩා අකුරු නොසලකා කියවයි.
  • default අගය යනු medium ය. Field එක නොයැවීම යනු high ය.
  • Shannon models (shannon-*) සෑම ඉල්ලීමකදීම තමන්ගේම ගැඹුර තීරණය කරයි; GET /v1/models ඒවා සඳහා reasoning_effort: false වාර්තා කරයි.

/v1/messages හි thinking සඳහා වන token අයවැය

/v1/messages හි thinking field එක මට්ටම තෝරයි. budget_tokens ඉහත මට්ටම් වලින් එකක් තෝරයි; එය token සීමාවක් නොවේ. adaptive enabled ලෙස කියවයි.

ඔබ යවන්නේ මට්ටම
{"type": "disabled"} off
n 2,048 දක්වා සහිත {"type": "enabled", "budget_tokens": n} low
n 2,049 සිට 8,192 දක්වා medium
විශාල n එකක්, හෝ budget_tokens නොමැති enabled high
thinking field එකක් නැත high

තර්කන පෙළ පැමිණෙන තැන

තර්කන පෙළ සෑම විටම පිළිතුරෙන් වෙන්ව පවතී. සෑම format එකකටම ඒ සඳහා තමන්ගේම ස්ථානයක් ඇත:

Endpoint Stream නොකළ Stream කළ
/v1/chat/completions choices[0].message.reasoning_content: string එකක්, නැතහොත් model එක කිසිවක් නිපදවා නැති විට null. choices[0].delta.reasoning_content සහිත chunks, delta.content සහිත chunks වලට පෙර.
/v1/responses message item එකට පෙර output item එකක් {"type": "reasoning", "summary": [{"type": "summary_text", "text": "…"}]}. තර්කනයක් නැති විට item එකක් නැත. reasoning item එකක් සහිත response.output_item.added, ඉන්පසු response.reasoning_summary_text.delta events සහ එක response.reasoning_summary_text.done.
/v1/messages පළමු content block එක {"type": "thinking", "thinking": "…"}, ඉන්පසු text block එක. තර්කනයක් නැති විට thinking block එකක් නැත. thinking content block එකක්: content_block_start, thinking_delta සහිත content_block_delta events, content_block_stop. ඉන්පසු text 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}
  }
}

බැලිය යුතු තැන, model එකකට:

Models පෙළ පැමිණෙන තැන
අපගේ සේවාදායකවල ධාවනය වන open-weight models Stream කළත් නැතත් සෑම endpoint එකකම. Effort off සහිත, හෝ response_format / text.format සහිත ඉල්ලීමකට තර්කන පෙළ නොමැතිව පිළිතුරු ලැබේ.
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro Model එක තර්කන පෙළ නිපදවන සෑම විටම, stream කළත් නැතත් සෑම endpoint එකකම.
shannon-2-lite, shannon-2-pro /v1/chat/completions, stream නොකළ: message.reasoning_content හි. tools හෝ response_format නැති ඉල්ලීමක stream කළ: model එක තර්ක කරන අතරතුර stream එකේ : thinking comment පේළි, ඉන්පසු පිළිතුරු chunks. /v1/messages, stream කළ: text block එකට පෙර thinking block එකක්.
shannon-1.6-pro, shannon-coder-1 Model එක තර්කන පෙළ නිපදවන සෑම විටම, stream කළ පිළිතුරුවල සහ tools රැගෙන යන ඉල්ලීම්වල පිළිතුරුවල.

/v1/responses හි, stream නොකළ පිළිතුරක් Shannon 3 පවුල සහ අපගේ සේවාදායකවල ධාවනය වන open-weight models සඳහා reasoning item එක රැගෙන යයි.

Stream එකක් කියවීම

Stream එකක තර්කන පෙළ මුලින්ම, ඊටම වූ 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 model එකක පළමු chunk එක, තර්කනය හෝ පිළිතුර වුවත්, delta.role: "assistant" ද රැගෙන යයි. ස්ට්‍රීමිං

තර්කන tokens සහ බිල්පත්

අපගේ සේවාදායකවල ධාවනය වන open-weight models මත, තර්කන tokens යනු output tokens ය: ඒවා model එකේ output මිලට බිල් කෙරෙන අතර, output ගණනට ඒවා දැනටමත් ඇතුළත් වේ. usage මෙහි තර්කන කොටස පෙන්වයි:

Endpoint Field සටහන
/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 තර්කනය සහ පිළිතුර එකට. මෙම format එකට වෙනම ගණනක් නැත.
  • අපගේ සේවාදායකවල ධාවනය වන open-weight models මත max_tokens පිළිතුරේ පෙළ සීමා කරයි. තර්කන tokens ඊට ගණන් නොගනී.
  • තර්කනය output ලෙස බිල් කෙරෙන බැවින්, effort මට්ටම පිරිවැය සැකසුමක් ද වේ: off තර්කන tokens නිපදවන්නේ නැත.
  • Shannon models තර්කන කොටසක් නොමැතිව prompt_tokens, completion_tokens සහ total_tokens (/v1/messages හි input_tokens සහ output_tokens) වාර්තා කරන අතර, token එකකට එක ස්ථාවර මිලක් බිල් කරයි. Models සහ මිල ගණන්

ඊළඟ ඉල්ලීමේ තර්කනය

ඔබට තර්කනය ආපසු යැවීම අවශ්‍ය නැත. ඔබ යවන සංවාදයේ ඇති thinking block එකක් හෝ reasoning item එකක් model එකට ඉදිරිපත් නොකරන බැවින්, assistant turn එකක් ඒවා සමඟ හෝ නැතිව ආපසු යැවිය හැක. thinking block එකට type සහ thinking fields දෙක ඇත; එයට signature නැත.

දෝෂ

තත්ත්වය වර්ගය පණිවිඩය කවදාද
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high අපගේ සේවාදායකවල ධාවනය වන open-weight model එකකට ලැයිස්තුවෙන් පිටත අගයක් ලැබුණි, උදාහරණයක් ලෙස xhigh. ඔබේ ශේෂයෙන් කිසිවක් අඩු නොවේ.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … reasoning_effort string එකක් නොවේ.

සත්‍යාපනය, ශේෂය සහ server දෝෂ සෑම ඉල්ලීමකටම මෙන්ම වේ. දෝෂ