Агуулга руу алгасах
Reasoning effort

Reasoning effort

ШИНЭ

Reasoning хийдэг загвар reasoning текстээ хариултын хажууд тусдаа талбарт буцаана. Hosted 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 Тийм —
Hosted open-weight загвар бүр Тийм Тийм

Эдгээр нь GET /v1/models-ийн id бүрт мэдээлдэг capabilities.reasoning ба capabilities.reasoning_effort тугууд. Хариу загвар гаргасан үед л reasoning текст агуулна. Загвар ба үнэ

Effort тохируулах

Endpoint бүр effort-ийг өөрөөр бичдэг. Бүгд ижил дөрвөн түвшний нэгийг сонгоно.

Талбар Төрөл Үндсэн утга Тайлбар Хэрэгжүүлэгч
reasoning_effort string high /v1/chat/completions. Загвар хариулахаасаа өмнө хэр гүн reasoning хийх: off, low, medium эсвэл high. Hosted open-weight загварууд
reasoning object | string /v1/chat/completions. {"effort": "low"} хэлбэрээр эсвэл зүгээр string хэлбэрээр ижил утга. Хоёр талбарыг хоёуланг нь илгээвэл reasoning_effort тооцогдоно. Hosted open-weight загварууд
reasoning.effort string high /v1/responses. {"effort": "low"} объект хэлбэрээр бичнэ. Hosted open-weight загварууд
thinking object /v1/messages. {"type": "enabled", "budget_tokens": n} эсвэл {"type": "disabled"}. Төсөв нь түвшний нэгийг сонгоно; доорх хүснэгтийг үзнэ үү. Hosted 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
n нь 2,048 хүртэл бол {"type": "enabled", "budget_tokens": n} low
n 2,049-өөс 8,192 medium
Илүү том n, эсвэл budget_tokens-гүй enabled high
thinking талбар байхгүй high

Reasoning текст хаана ирэх

Reasoning текст үргэлж хариултаас тусдаа байна. Формат бүр өөрийн байрыг агуулна:

Endpoint Stream хийгээгүй Stream хийсэн
/v1/chat/completions choices[0].message.reasoning_content: string, эсвэл загвар гаргаагүй бол null. choices[0].delta.reasoning_content-тэй chunk-ууд, delta.content-тэй chunk-уудын өмнө.
/v1/responses message зүйлийн өмнө output зүйл {"type": "reasoning", "summary": [{"type": "summary_text", "text": "…"}]}. Reasoning байхгүй бол зүйл байхгүй. reasoning зүйлтэй response.output_item.added, дараа нь response.reasoning_summary_text.delta event-үүд ба нэг response.reasoning_summary_text.done.
/v1/messages Эхний content block {"type": "thinking", "thinking": "…"}, дараа нь text block. Reasoning байхгүй бол thinking block байхгүй. thinking content block: content_block_start, thinking_delta-тай content_block_delta event-үүд, 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}
  }
}

Загвар тус бүрд хаана харах вэ:

Загварууд Текст хаана ирэх
Hosted 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 дотор. tools эсвэл response_format-гүй хүсэлтэд stream хийсэн үед: загвар reasoning хийх хугацаанд stream : thinking тайлбар мөр агуулж, дараа нь хариултын chunk-ууд ирнэ. /v1/messages, stream хийсэн: текст block-ийн өмнө thinking block.
shannon-1.6-pro, shannon-coder-1 Stream хийсэн хариунд болон tools агуулсан хүсэлтийн хариунд, загвар reasoning текст гаргасан бол.

/v1/responses дээр stream хийгээгүй хариу Shannon 3 гэр бүл ба hosted open-weight загваруудад reasoning зүйл агуулна.

Stream унших

Stream дээр reasoning текст эхэлж, тусдаа delta-гаар ирээд, хариулт дагана. Хоёрыг тусад нь хэвлэх эсвэл хадгална уу:

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

Hosted open-weight загварын эхний chunk, reasoning эсвэл хариулт аль нь ч бай, delta.role: "assistant"-ийг бас агуулна. Дамжуулалт

Reasoning токен ба төлбөр

Hosted open-weight загварууд дээр reasoning токен нь гаралтын токен: загварын гаралтын үнээр тооцогдож, гаралтын тоо тэдгээрийг аль хэдийн агуулсан. 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 ба хариулт хамтдаа. Энэ формат тусдаа тоо агуулахгүй.
  • Hosted open-weight загварууд дээр max_tokens хариултын текстийг хязгаарлана. Reasoning токен үүнд тоологдохгүй.
  • Reasoning-ийг гаралт гэж тооцдог тул effort түвшин зардлын тохиргоо бас болно: off нь reasoning токен гаргахгүй.
  • Shannon загварууд prompt_tokens, completion_tokens, total_tokens-ийг (/v1/messages дээр input_tokens, output_tokens) reasoning-ийн хувьгүйгээр мэдээлж, токен бүрийг нэг тогтмол үнээр тооцно. Загвар ба үнэ

Дараагийн хүсэлт дэх reasoning

Reasoning-ийг буцааж илгээх шаардлагагүй. Таны илгээх харилцан яриан дахь thinking block эсвэл reasoning зүйлийг загварт дамжуулдаггүй тул assistant ээлжийг түүнтэй ч, түүнгүй ч буцааж илгээж болно. thinking block нь type, thinking хоёр талбартай; signature байхгүй.

Алдаа

Төлөв Төрөл Мессеж Хэзээ
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high Hosted open-weight загвар жагсаалтаас гадуурх утга, жишээлбэл xhigh хүлээн авсан. Үлдэгдлээс юу ч хасагдахгүй.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … reasoning_effort нь string биш.

Баталгаажуулалт, үлдэгдэл, серверийн алдаа бүх хүсэлтийнхтэй адил. Алдаа боловсруулах