Reasoning effort
ChatsopanoModel yomwe imaganiza imabweza text yake ya reasoning pambali pa yankho, mu field yake. Pa hosted open-weight model field imodzi ya pempho imakhazikitsa momwe model imaganizira mozama isanayankhe.
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) import OpenAI from "openai";
const client = new OpenAI({ apiKey: "YOUR_API_KEY", baseURL: "https://api.shannon-ai.com/v1" });
const response = await client.chat.completions.create({
model: "Kimi-K3-3BIT-REAP",
reasoning_effort: "low",
messages: [{ role: "user", content: "Is 221 a prime number?" }],
});
const message = response.choices[0].message;
console.log("Reasoning:", message.reasoning_content);
console.log("Answer:", message.content);
console.log("Reasoning tokens:", response.usage.completion_tokens_details.reasoning_tokens); curl https://api.shannon-ai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "Kimi-K3-3BIT-REAP",
"reasoning_effort": "low",
"messages": [
{"role": "user", "content": "Is 221 a prime number?"}
]
}' Yankho limanyamula text ya reasoning mu reasoning_content, yankho mu content, ndi ma token a reasoning mu usage:
{
"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}
}
} Ma model omwe amaganiza
| Model | Imabweza text ya reasoning | Imagwiritsa ntchito 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 | Inde | — |
| Hosted open-weight model iliyonse | Inde | Inde |
Awa ndi ma flag capabilities.reasoning ndi capabilities.reasoning_effort omwe GET /v1/models imanena pa id iliyonse. Yankho limanyamula text ya reasoning pokhapokha model itapanga. Ma model ndi mitengo
Kukhazikitsa effort
Endpoint iliyonse ili ndi kalembedwe kake ka effort. Zonse zimasankha imodzi mwa milingo inayi yomweyo.
| Field | Mtundu | Yokhazikika | Kufotokozera | Imagwira ntchito pa |
|---|---|---|---|---|
reasoning_effort | string | high | /v1/chat/completions. Momwe model imaganizira mozama isanayankhe: off, low, medium kapena high. | Hosted open-weight model |
reasoning | object | string | /v1/chat/completions. Mtengo womwewo ngati {"effort": "low"} kapena ngati string yokha. Ma field onse awiri akatumizidwa, reasoning_effort ndiyo imawerengedwa. | Hosted open-weight model | |
reasoning.effort | string | high | /v1/responses. Yolembedwa ngati object {"effort": "low"}. | Hosted open-weight model |
thinking | object | /v1/messages. {"type": "enabled", "budget_tokens": n} kapena {"type": "disabled"}. Budget imasankha imodzi mwa milingo; onani table yomwe ili pansipa. | Hosted open-weight model |
{
"model": "Kimi-K3-3BIT-REAP",
"reasoning_effort": "low",
"messages": [{"role": "user", "content": "Is 221 a prime number?"}]
} {
"model": "Kimi-K3-3BIT-REAP",
"reasoning": {"effort": "low"},
"input": "Is 221 a prime number?"
} {
"model": "Kimi-K3-3BIT-REAP",
"max_tokens": 1024,
"thinking": {"type": "enabled", "budget_tokens": 2048},
"messages": [{"role": "user", "content": "Is 221 a prime number?"}]
} | Mtengo | Imalandiridwanso | Zotsatira |
|---|---|---|
off | none, minimal | Palibe reasoning. Yankho silinyamula text ya reasoning. |
low | Reasoning yachidule. | |
medium | default | Kuzama kwapakati. |
high | max | Mlingo wozama kwambiri. Ndi mlingo wa pempho losatumiza mtengo. |
- Mitengo imawerengedwa mosasamala zilembo zazikulu kapena zazing'ono.
- Mtengo
defaultumatanthauzamedium. Kusiya field kumatanthauzahigh. - Ma model a Shannon (
shannon-*) amakhazikitsa kuzama kwawo pa pempho lililonse;GET /v1/modelsimanenareasoning_effort: falsepa iwo.
Thinking budget pa /v1/messages
Pa /v1/messages field ya thinking imasankha mlingo. budget_tokens imasankha imodzi mwa milingo yomwe ili pamwambapa; si malire a ma token paokha. adaptive imawerengedwa ngati enabled.
| Mumatumiza | Mlingo |
|---|---|
{"type": "disabled"} | off |
{"type": "enabled", "budget_tokens": n} ndi n mpaka 2,048 | low |
n kuyambira 2,049 mpaka 8,192 | medium |
n yayikulu, kapena enabled popanda budget_tokens | high |
Palibe field ya thinking | high |
Kumene text ya reasoning imafika
Text ya reasoning nthawi zonse imakhala yosiyana ndi yankho. Mtundu uliwonse uli ndi malo ake:
| Endpoint | Yopanda stream | Ya stream |
|---|---|---|
/v1/chat/completions | choices[0].message.reasoning_content: string, kapena null pamene model sinapange chilichonse. | Ma chunk okhala ndi choices[0].delta.reasoning_content, ma chunk a delta.content asanafike. |
/v1/responses | Item ya output {"type": "reasoning", "summary": [{"type": "summary_text", "text": "…"}]} patsogolo pa item ya message. Palibe item pamene palibe reasoning. | response.output_item.added yokhala ndi item ya reasoning, kenako ma event a response.reasoning_summary_text.delta ndi response.reasoning_summary_text.done imodzi. |
/v1/messages | Content block yoyamba {"type": "thinking", "thinking": "…"}, kenako block ya text. Palibe block ya thinking pamene palibe reasoning. | Content block ya thinking: content_block_start, ma event a content_block_delta okhala ndi thinking_delta, content_block_stop. Block ya text imatsatira. |
{
"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}
}
} {
"output": [
{
"id": "rs_6f0a2c4e8b1d4f3a9c7e5b3d1f8a6c4e",
"type": "reasoning",
"summary": [
{
"type": "summary_text",
"text": "Try small primes. 221 / 13 = 17, so 221 = 13 x 17."
}
]
},
{
"id": "msg_1b3d5f7a9c2e4b6d8f0a2c4e6b8d0f1a",
"type": "message",
"role": "assistant",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "No. 221 = 13 x 17, so it is not prime.",
"annotations": []
}
]
}
],
"usage": {
"input_tokens": 14,
"input_tokens_details": {"cached_tokens": 0},
"output_tokens": 43,
"output_tokens_details": {"reasoning_tokens": 27},
"total_tokens": 57
}
} {
"content": [
{
"type": "thinking",
"thinking": "Try small primes. 221 / 13 = 17, so 221 = 13 x 17."
},
{"type": "text", "text": "No. 221 = 13 x 17, so it is not prime."}
],
"stop_reason": "end_turn",
"usage": {
"input_tokens": 14,
"cache_read_input_tokens": 0,
"cache_creation_input_tokens": 0,
"output_tokens": 43
}
} Komwe mungayang'ane, pa model iliyonse:
| Ma model | Kumene text imafika |
|---|---|
| Hosted open-weight model | Pa endpoint iliyonse, ndi stream kapena popanda. Pempho lokhala ndi effort off, kapena ndi response_format / text.format, limayankhidwa popanda text ya reasoning. |
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro | Pa endpoint iliyonse, ndi stream kapena popanda, nthawi iliyonse model ikapanga text ya reasoning. |
shannon-2-lite, shannon-2-pro | /v1/chat/completions, yopanda stream: mu message.reasoning_content. Ndi stream, pa pempho lopanda tools kapena response_format: stream imanyamula mizere ya comment : thinking pamene model ikuganiza, kenako ma chunk a yankho. /v1/messages, ndi stream: block ya thinking patsogolo pa block ya text. |
shannon-1.6-pro, shannon-coder-1 | Mu mayankho a stream komanso mu mayankho a ma pempho okhala ndi tools, nthawi iliyonse model ikapanga text ya reasoning. |
Pa /v1/responses, yankho lopanda stream limanyamula item ya reasoning pa banja la Shannon 3 ndi hosted open-weight model.
Kuwerenga stream
Mu stream text ya reasoning imabwera poyamba, mu ma delta ake, ndipo yankho limatsatira. Sindikizani kapena sungani zonse ziwiri padera:
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 import OpenAI from "openai";
const client = new OpenAI({ apiKey: "YOUR_API_KEY", baseURL: "https://api.shannon-ai.com/v1" });
const stream = await client.chat.completions.create({
model: "Kimi-K3-3BIT-REAP",
reasoning_effort: "medium",
stream: true,
messages: [{ role: "user", content: "Is 221 a prime number?" }],
});
for await (const chunk of stream) {
const delta = chunk.choices[0]?.delta ?? {};
if (delta.reasoning_content) process.stdout.write(delta.reasoning_content); // the reasoning text comes first
if (delta.content) process.stdout.write(delta.content); // then the answer
} curl -N https://api.shannon-ai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "Kimi-K3-3BIT-REAP",
"reasoning_effort": "medium",
"stream": true,
"messages": [
{"role": "user", "content": "Is 221 a prime number?"}
]
}' Chunk yoyamba ya hosted open-weight model, reasoning kapena yankho, imanyamulanso delta.role: "assistant". Kutsitsa nthawi yeniyeni
Ma token a reasoning ndi malipiro
Pa hosted open-weight model, ma token a reasoning ndi ma output token: amaperekedwa mtengo wa output wa model, ndipo chiwerengero cha output chawaphatikiza kale. usage imaonetsa gawo la reasoning pano:
| Endpoint | Field | Cholemba |
|---|---|---|
/v1/chat/completions | usage.completion_tokens_details.reasoning_tokens | Yaphatikizidwa kale mu completion_tokens. |
/v1/responses | usage.output_tokens_details.reasoning_tokens | Yaphatikizidwa kale mu output_tokens. |
/v1/messages | usage.output_tokens | Reasoning ndi yankho pamodzi. Mtundu uwu ulibe chiwerengero chosiyana. |
- Pa hosted open-weight model
max_tokensimalepheretsa text ya yankho. Ma token a reasoning siawerengedwa mmenemo. - Chifukwa reasoning imaperekedwa mtengo ngati output, mlingo wa effort ndi chikhazikitso cha mtengo:
offsipanga ma token a reasoning. - Ma model a Shannon amanena
prompt_tokens,completion_tokensnditotal_tokens(input_tokensndioutput_tokenspa/v1/messages) popanda gawo la reasoning, ndipo amapereka mtengo umodzi wokhazikika pa token iliyonse. Ma model ndi mitengo
Reasoning mu pempho lotsatira
Simuyenera kubweza reasoning. Block ya thinking kapena item ya reasoning mu zokambirana zomwe mutumiza siipatsidwa kwa model, choncho turn ya assistant ikhoza kubwerera ndi iyo kapena popanda. Block ya thinking ili ndi ma field awiri type ndi thinking; ilibe signature.
Zolakwika
| Status | Mtundu | Message | Liti |
|---|---|---|---|
400 | invalid_request_error | unknown reasoning effort '<value>'; expected off, low, medium or high | Hosted open-weight model inalandira mtengo wakunja kwa mndandanda, mwachitsanzo xhigh. Palibe chomwe chimachotsedwa pa balance yanu. |
422 | invalid_request_error | Failed to deserialize the JSON body into the target type: … | reasoning_effort si string. |
Zolakwika za authentication, balance ndi server ndi zofanana ndi za pempho lililonse. Zolakwika