Гузариш ба мундариҷа
Сатҳи кӯшиши reasoning

Сатҳи кӯшиши reasoning

Нав

Модели 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-ро бармегардонад Майдони кӯшишро татбиқ мекунад
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-и хостшуда Ҳа Ҳа

Инҳо парчамҳои capabilities.reasoning ва capabilities.reasoning_effort мебошанд, ки GET /v1/models барои ҳар id ҳисобот медиҳад. Ҷавоб матни reasoning-ро танҳо вақте дорад, ки модел чизе тавлид карда бошад. Моделҳо ва нархҳо

Муқаррар кардани сатҳи кӯшиш

Ҳар endpoint навиштани худро барои сатҳи кӯшиш дорад. Ҳамаи онҳо яке аз ҳамон чор сатҳро интихоб мекунанд.

Майдон Навъ Пешфарз Тавсиф Татбиқ мекунад
reasoning_effort string high /v1/chat/completions. Модел пеш аз ҷавоб то чӣ андоза амиқ reasoning мекунад: off, low, medium ё high. Моделҳои open-weight-и хостшуда
reasoning object | string /v1/chat/completions. Ҳамон қимат ҳамчун {"effort": "low"} ё ҳамчун сатри оддӣ. Вақте ки ҳарду майдон фиристода мешаванд, 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-ро ҳисобот медиҳад.

Буҷаи thinking дар /v1/messages

Дар /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 Бе streaming Бо streaming
/v1/chat/completions choices[0].message.reasoning_content: сатр, ё null вақте ки модел чизе тавлид накардааст. Чанкҳо бо choices[0].delta.reasoning_content, пеш аз чанкҳо бо 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 Блоки аввали мундариҷа {"type": "thinking", "thinking": "…"}, баъд блоки text. Вақте ки reasoning нест, блоки thinking нест. Блоки мундариҷаи thinking: content_block_start, рӯйдодҳои content_block_delta бо thinking_delta, content_block_stop. Блоки матн пас аз он меояд.
{
  "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, бо streaming ё бе он. Ба дархост бо кӯшиши off, ё бо response_format / text.format, бе матни reasoning ҷавоб дода мешавад.
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro Дар ҳар endpoint, бо streaming ё бе он, ҳар вақте ки модел матни reasoning тавлид кардааст.
shannon-2-lite, shannon-2-pro /v1/chat/completions, бе streaming: дар message.reasoning_content. Бо streaming, дар дархост бе tools ё response_format: ҷараён ҳангоми reasoning-и модел хатҳои эзоҳи : thinking-ро дорад, баъд чанкҳои ҷавоб. /v1/messages, бо streaming: блоки thinking пеш аз блоки матн.
shannon-1.6-pro, shannon-coder-1 Дар ҷавобҳои streaming ва дар ҷавоб ба дархостҳое, ки tools-ро доранд, ҳар вақте ки модел матни reasoning тавлид кардааст.

Дар /v1/responses ҷавоби бе streaming барои оилаи Shannon 3 ва моделҳои open-weight-и хостшуда ҷузъи reasoning-ро дорад.

Хондани ҷараён

Дар ҷараён матни 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

Чанки аввали модели open-weight-и хостшуда, reasoning ё ҷавоб, ҳамчунин delta.role: "assistant"-ро дорад. Стриминг

Токенҳои reasoning ва ҳисобкунӣ

Дар моделҳои 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 ва ҷавоб якҷоя. Ин формат ҳисоби алоҳида надорад.
  • Дар моделҳои open-weight-и хостшуда max_tokens матни ҷавобро маҳдуд мекунад. Токенҳои reasoning бо он ҳисоб намешаванд.
  • Азбаски reasoning ҳамчун баромад ҳисоб карда мешавад, сатҳи кӯшиш ҳамчунин танзими арзиш аст: off токенҳои reasoning тавлид намекунад.
  • Моделҳои Shannon prompt_tokens, completion_tokens ва total_tokens-ро (input_tokens ва output_tokens дар /v1/messages) бе ҳиссаи reasoning ҳисобот медиҳанд ва як нархи ягонаро барои ҳар токен ҳисоб мекунанд. Моделҳо ва нархҳо

Reasoning дар дархости навбатӣ

Шумо набояд reasoning-ро баргардонед. Блоки thinking ё ҷузъи reasoning дар гуфтугӯи фиристодаи шумо ба модел интиқол дода намешавад, бинобар ин навбати assistant бо он ё бе он баргашта метавонад. Блоки thinking ду майдони 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 сатр нест.

Хатогиҳои аутентификатсия, баланс ва сервер мисли ҳар дархост ҳамонанд. Идораи хатогиҳо