Мазмұнға өту
Пайымдау күші

Пайымдау күші

ЖАҢА

Пайымдайтын модель өз пайымдау мәтінін жауаптың жанында, жеке өрісте қайтарады. Hosted open-weight модельдерде бір сұрау өрісі модельдің жауап бермес бұрын қаншалықты терең пайымдайтынын орнатады.

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 ішінде, пайымдау токендерін 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}
  }
}

Қай модельдер пайымдайды

Модель Пайымдау мәтінін қайтарады 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 жалаушалары. Жауап пайымдау мәтінін модель шығарғанда ғана алып жүреді. Модельдер және бағалар

Effort орнату

Әр endpoint-тің effort жазылуы өзінше. Олардың бәрі бір төрт деңгейдің бірін таңдайды.

Өріс Түрі Әдепкі Сипаттама Қолданады
reasoning_effort string high /v1/chat/completions. Модель жауап бермес бұрын қаншалықты терең пайымдайды: off, low, medium немесе high. Hosted open-weight модельдер
reasoning object | string /v1/chat/completions. {"effort": "low"} сияқты немесе жай жол ретіндегі сол мән. Екі өріс те жіберілсе, 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 Пайымдау жоқ. Жауап пайымдау мәтінін алып жүрмейді.
low Қысқа пайымдау.
medium default Орташа тереңдік.
high max Ең терең деңгей. Мән жібермейтін сұрау осы деңгейде болады.
  • Мәндер бас және кіші әріпке қарамай оқылады.
  • default мәні medium дегенді білдіреді. Өрісті қалдырып кету high дегенді білдіреді.
  • Shannon модельдері (shannon-*) тереңдікті әр сұрауда өздері орнатады; GET /v1/models олар үшін reasoning_effort: false көрсетеді.

/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, немесе budget_tokens жоқ enabled high
thinking өрісі жоқ high

Пайымдау мәтіні қайда келеді

Пайымдау мәтіні әрқашан жауаптан бөлек. Әр форматтың оған өз орны бар:

Endpoint Стримделмейді Стримделеді
/v1/chat/completions choices[0].message.reasoning_content: жол, немесе модель ештеңе шығармаса null. choices[0].delta.reasoning_content бар чанктар, delta.content бар чанктардан бұрын.
/v1/responses message элементінен бұрын output элементі {"type": "reasoning", "summary": [{"type": "summary_text", "text": "…"}]}. Пайымдау болмаса, элемент болмайды. reasoning элементі бар response.output_item.added, содан кейін response.reasoning_summary_text.delta оқиғалары және бір response.reasoning_summary_text.done.
/v1/messages Бірінші мазмұн блогы {"type": "thinking", "thinking": "…"}, содан кейін text блогы. Пайымдау болмаса, thinking блогы болмайды. thinking мазмұн блогы: content_block_start, thinking_delta бар content_block_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}
  }
}

Модель бойынша қайдан іздеу керек:

Модельдер Мәтін қайда келеді
Hosted open-weight модельдер Әр endpoint-те, стримделсе де, стримделмесе де. Effort мәні off сұрау, немесе response_format / text.format бар сұрау пайымдау мәтінінсіз жауап алады.
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro Әр endpoint-те, стримделсе де, стримделмесе де, модель пайымдау мәтінін шығарған сайын.
shannon-2-lite, shannon-2-pro /v1/chat/completions, стримделмейді: message.reasoning_content ішінде. Стримделеді, tools немесе response_format жоқ сұрауда: модель пайымдап жатқанда стрим : thinking түсініктеме жолдарын алып жүреді, содан кейін жауап чанктары келеді. /v1/messages, стримделеді: мәтін блогынан бұрын thinking блогы.
shannon-1.6-pro, shannon-coder-1 Стримделген жауаптарда және tools бар сұрау жауаптарында, модель пайымдау мәтінін шығарған сайын.

/v1/responses бойынша стримделмеген жауап Shannon 3 тобы мен hosted open-weight модельдер үшін reasoning элементін алып жүреді.

Стримді оқу

Стримде алдымен пайымдау мәтіні жеке дельталарда келеді, одан кейін жауап. Екеуін бөлек басып шығарыңыз немесе сақтаңыз:

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 модельдің бірінші чанкі, пайымдау болсын, жауап болсын, delta.role: "assistant" мәнін де алып жүреді. Стриминг

Пайымдау токендері және төлем

Hosted open-weight модельдерде пайымдау токендері — шығыс токендері: олар модельдің шығыс бағасымен есептеледі, ал шығыс саны оларды қосып алады. Мұнда usage пайымдау үлесін көрсетеді:

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 Пайымдау мен жауап бірге. Бұл форматта бөлек санау жоқ.
  • Hosted open-weight модельдерде max_tokens жауап мәтінін шектейді. Пайымдау токендері оған есептелмейді.
  • Пайымдау шығыс ретінде есептелетіндіктен, effort деңгейі де шығын параметрі болып табылады: off пайымдау токендерін шығармайды.
  • Shannon модельдері prompt_tokens, completion_tokens және total_tokens мәндерін (/v1/messages бойынша input_tokens және output_tokens) пайымдау үлесінсіз көрсетеді және әр токенге бір тегіс баға қояды. Модельдер және бағалар

Келесі сұраудағы пайымдау

Пайымдауды кері жіберу міндетті емес. Жіберген сөйлесуіңіздегі thinking блогы немесе reasoning элементі модельге берілмейді, сондықтан assistant кезеңін онымен де, онсыз да қайтаруға болады. thinking блогында 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 жол емес.

Аутентификация, баланс және сервер қателері кез келген сұрау сияқты. Қателерді өңдеу