Reasoning effort
ỌhụrụModel na-eche echiche na-eweghachi reasoning text ya n'akụkụ azịza, n'field nke ya. Na hosted open-weight models otu request field na-atọ omimi model na-eche echiche tupu ọ zaa.
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?"}
]
}' Azịza na-ebu reasoning text na reasoning_content, azịza na content, na reasoning tokens na 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}
}
} Models na-eche echiche
| Model | Na-eweghachi reasoning text | Na-etinye 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 | Ee | — |
| Hosted open-weight model ọ bụla | Ee | Ee |
Ndị a bụ flags capabilities.reasoning na capabilities.reasoning_effort nke GET /v1/models na-akọ maka id ọ bụla. Azịza na-ebu reasoning text naanị mgbe model mepụtara ụfọdụ. Models & ọnụahịa
Ịtọ effort
Endpoint ọ bụla nwere otu o si ede effort. Ha niile na-ahọrọ otu n'ọkwa anọ ndị ahụ.
| Field | Ụdị | Default | Nkọwa | Ndị na-etinye ya |
|---|---|---|---|---|
reasoning_effort | string | high | /v1/chat/completions. Ole omimi model na-eche echiche tupu ọ zaa: off, low, medium ma ọ bụ high. | Hosted open-weight models |
reasoning | object | string | /v1/chat/completions. Otu uru ahụ dị ka {"effort": "low"} ma ọ bụ dị ka string efu. Mgbe e zipụrụ fields abụọ, reasoning_effort na-agụ. | Hosted open-weight models | |
reasoning.effort | string | high | /v1/responses. Edere dị ka object {"effort": "low"}. | Hosted open-weight models |
thinking | object | /v1/messages. {"type": "enabled", "budget_tokens": n} ma ọ bụ {"type": "disabled"}. Budget na-ahọrọ otu n'ọkwa ndị ahụ; lee tebụl dị n'okpuru. | Hosted open-weight models |
{
"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?"}]
} | Uru | A na-anabatakwa | Mmetụta |
|---|---|---|
off | none, minimal | Enweghị reasoning. Azịza anaghị ebu reasoning text. |
low | Reasoning dị mkpụmkpụ. | |
medium | default | Omimi etiti. |
high | max | Ọkwa kacha omimi. Nke a bụ ọkwa nke request na-ezipughị uru. |
- A na-agụ uru na-eleghị anya mkpụrụedemede nta ma ọ bụ nnukwu.
- Uru
defaultpụtaramedium. Ịhapụ field ahụ pụtarahigh. - Shannon models (
shannon-*) na-atọ omimi nke ha n'request ọ bụla;GET /v1/modelsna-akọreasoning_effort: falsemaka ha.
Thinking budget na /v1/messages
Na /v1/messages field thinking na-ahọrọ ọkwa. budget_tokens na-ahọrọ otu n'ọkwa dị n'elu; ọ bụghị token limit nke ya. A na-agụ adaptive dị ka enabled.
| Ị na-ezipu | Ọkwa |
|---|---|
{"type": "disabled"} | off |
{"type": "enabled", "budget_tokens": n} na n ruo 2,048 | low |
n site na 2,049 ruo 8,192 | medium |
n ka ukwuu, ma ọ bụ enabled na-enweghị budget_tokens | high |
Enweghị thinking field | high |
Ebe reasoning text na-abịa
Reasoning text dị iche mgbe niile na azịza. Format ọ bụla nwere ebe nke ya maka ya:
| Endpoint | Abụghị stream | Stream |
|---|---|---|
/v1/chat/completions | choices[0].message.reasoning_content: string, ma ọ bụ null mgbe model emepụtaghị ọ bụla. | Chunks nwere choices[0].delta.reasoning_content, tupu chunks nwere delta.content. |
/v1/responses | output item {"type": "reasoning", "summary": [{"type": "summary_text", "text": "…"}]} tupu message item. Enweghị item mgbe ọ nweghị reasoning. | response.output_item.added nwere reasoning item, wee response.reasoning_summary_text.delta events na otu response.reasoning_summary_text.done. |
/v1/messages | Content block mbụ {"type": "thinking", "thinking": "…"}, wee text block. Enweghị thinking block mgbe ọ nweghị reasoning. | thinking content block: content_block_start, content_block_delta events nwere thinking_delta, content_block_stop. Text block na-eso. |
{
"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
}
} Ebe ị ga-elele, kwa model:
| Models | Ebe ederede na-abịa |
|---|---|
| Hosted open-weight models | Na endpoint ọ bụla, stream ma ọ bụ abụghị stream. A na-aza request nwere effort off, ma ọ bụ nwere response_format / text.format, na-enweghị reasoning text. |
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro | Na endpoint ọ bụla, stream ma ọ bụ abụghị stream, mgbe ọ bụla model mepụtara reasoning text. |
shannon-2-lite, shannon-2-pro | /v1/chat/completions, abụghị stream: na message.reasoning_content. Stream, na request na-enweghị tools ma ọ bụ response_format: stream na-ebu comment lines : thinking mgbe model na-eche echiche, wee chunks azịza. /v1/messages, stream: thinking block tupu text block. |
shannon-1.6-pro, shannon-coder-1 | N'azịza stream na n'azịza requests nwere tools, mgbe ọ bụla model mepụtara reasoning text. |
Na /v1/responses, azịza abụghị stream na-ebu reasoning item maka Shannon 3 family na hosted open-weight models.
Ịgụ stream
Na stream reasoning text na-abịa buru ụzọ, na deltas nke ya, azịza na-eso. Bipụta ma ọ bụ chekwaa ha abụọ iche iche:
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 mbụ nke hosted open-weight model, reasoning ma ọ bụ azịza, na-ebukwa delta.role: "assistant". Nzipu ozugbo
Reasoning tokens na billing
Na hosted open-weight models, reasoning tokens bụ output tokens: a na-akwụ ụgwọ ha na output price nke model, ọnụọgụ output etinyelarịkwa ha. usage na-egosi òkè reasoning ebe a:
| Endpoint | Field | Ndetu |
|---|---|---|
/v1/chat/completions | usage.completion_tokens_details.reasoning_tokens | Etinyelarị n'ime completion_tokens. |
/v1/responses | usage.output_tokens_details.reasoning_tokens | Etinyelarị n'ime output_tokens. |
/v1/messages | usage.output_tokens | Reasoning na azịza ọnụ. Format a enweghị ọnụọgụ dị iche. |
- Na hosted open-weight models
max_tokensna-ejedebe ederede azịza. A naghị agụ reasoning tokens megide ya. - Ebe a na-akwụ ụgwọ reasoning dị ka output, effort level bụkwa setting ọnụahịa:
offanaghị emepụta reasoning tokens. - Shannon models na-akọ
prompt_tokens,completion_tokensnatotal_tokens(input_tokensnaoutput_tokensna/v1/messages) na-enweghị òkè reasoning, ma na-akwụ ụgwọ otu ọnụahịa kwa token. Models & ọnụahịa
Reasoning na request na-esote
Ịchọghị izighachi reasoning. A naghị ebuga thinking block ma ọ bụ reasoning item dị na mkparịta ụka i zipụrụ gaa na model, ya mere assistant turn nwere ike ịlaghachi na ya ma ọ bụ na-enweghị ya. thinking block nwere fields abụọ type na thinking; ọ nweghị signature.
Njehie
| Status | Ụdị | Ozi | Mgbe |
|---|---|---|---|
400 | invalid_request_error | unknown reasoning effort '<value>'; expected off, low, medium or high | Hosted open-weight model natara uru dị n'èzí ndepụta, dịka xhigh. A naghị ewepụ ihe ọ bụla na balance gị. |
422 | invalid_request_error | Failed to deserialize the JSON body into the target type: … | reasoning_effort abụghị string. |
Authentication, balance na njehie server bụ otu ihe ahụ dị ka maka request ọ bụla. Njikwa njehie