Гузариш ба мундариҷа
Chat Completions

Chat Completions

POST /v1/chat/completions гуфтугӯро қабул мекунад ва паёми навбатии моделро дар формати OpenAI Chat Completions бармегардонад. Онро аз ҳар SDK-и OpenAI ё тавассути HTTP-и оддӣ истифода баред; ин саҳифа маълумотномаи майдон ба майдон аст.

POST https://api.shannon-ai.com/v1/chat/completions

Хурдтарин дархост id-и модел ва як паёми корбар аст.

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="shannon-3",
    messages=[{"role": "user", "content": "Say hello in one sentence."}],
)

print(response.choices[0].message.content)

Ҷавоб як объекти JSON аст:

200 JSON
{
  "id": "chatcmpl-5f0c1e7a9b3d4c62a8e1f07d2b46c9a3",
  "object": "chat.completion",
  "created": 1791625200,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello, it is good to meet you.",
        "reasoning_content": "The user wants a greeting in one sentence. Keep it short and friendly."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1184,
    "completion_tokens": 46,
    "total_tokens": 1230
  }
}

Сарлавҳаҳо

Сарлавҳаҳои дархост

Сарлавҳа Қимат Тавсиф
Authorization Bearer YOUR_API_KEY Калиди API-и шумо. x-api-key: YOUR_API_KEY ба ҷои он дар ҳар endpoint қабул мешавад.
Content-Type application/json Ҳатмӣ. Ҳар қимати дигар 415 бармегардонад.
x-request-id Ихтиёрӣ. Id-и худи шумо барои дархост. Он дар ҷавоб бетағйир бармегардад.

Сарлавҳаҳои ҷавоб

Сарлавҳа Тавсиф
x-request-id Дар ҳар ҷавоб, аз ҷумла хатогиҳо ва ҷараёнҳо: қимате, ки шумо фиристодед, ё 12 аломати шонздаҳӣ вақте ки чизе нафиристодед. Ҳангоми хабар додани мушкилӣ онро қайд кунед.
content-type application/json, ё text/event-stream вақте ки stream — true аст.

Майдонҳои дархост

Танҳо messages ҳатмист. Сутуни Татбиқ мекунад моделҳоеро номбар мекунад, ки дар онҳо майдон ҷавобро тағйир медиҳад. Моделҳои open-weight-и хостшуда дувоздаҳ id-и рӯйхати моделҳо мебошанд; оилаи Shannon 3 shannon-3, shannon-3-pro, shannon-3.1 ва shannon-3.1-pro мебошад. Моделҳо ва нархҳо

Майдон Навъ Пешфарз Тавсиф Татбиқ мекунад
model string shannon-1.6-lite Модели ҷавобдиҳанда: id аз рӯйхати моделҳо. Онро бо ҳар дархост фиристед. Мутобиқат ба регистр ҳассос нест. Id-и нашрнашуда 400 unknown model бармегардонад. Ҳамаи моделҳо
messages array Ҳатмӣ. Гуфтугӯ, паёми кӯҳнатарин аввал. Поёнтар Паёмҳоро бинед. Ҳамаи моделҳо
stream boolean false true ҷавобро ҳангоми навишта шуданаш ҳамчун рӯйдодҳои фиристодаи сервер мефиристад. Ҳамаи моделҳо
max_tokens integer 4096 Ҳадди болоии ҷавоб, бо токен. Қимате берун аз 1 то 65,536 ба ин диапазон оварда мешавад. Ҳамчунин ин миқдорест, ки ҳангоми иҷрои дархост аз балансатон ҷудо карда мешавад. Поёнтар Дарозии баромадро бинед. Моделҳои open-weight-и хостшуда, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
max_completion_tokens integer Ҳамонанди max_tokens. Вақте ки ҳарду фиристода мешаванд, max_tokens истифода мешавад. Моделҳои open-weight-и хостшуда, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
temperature number Ҳарорати намунагирӣ. Дар моделҳои open-weight-и хостшуда пешфарз 1 аст ва қиматҳо дар байни 0 ва 2 нигоҳ дошта мешаванд. Моделҳои open-weight-и хостшуда, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
top_p number 0.95 Намунагирии nucleus. Қиматҳо дар байни 0 ва 1 нигоҳ дошта мешаванд. Моделҳои open-weight-и хостшуда
seed integer Seed-и намунагир, ҳар адади бутун. Бе он seed аз модел ва гуфтугӯ ҳосил мешавад, бинобар ин ду бор фиристодани як дархост ҳамон seed-ро истифода мебарад. Моделҳои open-weight-и хостшуда
stop string | array Сатр ё массиви сатрҳо. То 4 истифода мешавад. Ҷавоб пеш аз аввалинаш, ки пайдо мешавад, тамом мешавад; худи матни таваққуф баргардонда намешавад. Моделҳои open-weight-и хостшуда
reasoning_effort string high Модел пеш аз ҷавоб чӣ қадар reasoning мекунад: off, low, medium ё high. none ва minimal маънои off-ро доранд, default маънои medium-ро, max маънои high-ро. Ҳар қимати дигар 400 бармегардонад. Моделҳои open-weight-и хостшуда
reasoning object Ҳамин танзим дар шакли объект: {"effort": "low"}. Вақте ки ҳарду фиристода мешаванд, reasoning_effort истифода мешавад. Моделҳои open-weight-и хостшуда
tools array Функсияҳое, ки модел даъват карда метавонад, ҳар кадом ҳамчун {"type": "function", "function": {"name", "description", "parameters"}}. Даъватҳои модел дар tool_calls бармегарданд; коди шумо онҳоро иҷро мекунад. Ҳамаи моделҳо
tool_choice string | object auto "auto" ихтиёрро ба модел мегузорад. "required" онро ба даъвати абзор маҷбур мекунад. {"type": "function", "function": {"name": "…"}} онро ба даъвати ҳамон абзор маҷбур мекунад. Моделҳои open-weight-и хостшуда
response_format object {"type": "json_object"} барои ҷавоби JSON, ё {"type": "json_schema", "json_schema": {…}} барои ҷавобе, ки схемаи шуморо пайравӣ мекунад. Ҳамаи сатҳҳои Shannon; моделҳои open-weight-и хостшуда мувофиқи рӯйхати ҳар id
web_search boolean false true ба модел имкон медиҳад, ки пеш аз ҷавоб дар веб ҷустуҷӯ кунад. shannon-1.6-*, shannon-2-*, оилаи Shannon 3

Дигар майдонҳои OpenAI, ба монанди n, user, stream_options, parallel_tool_calls, presence_penalty, frequency_penalty, logit_bias, logprobs, metadata, store ва prompt_cache_key, қабул мешаванд, то коди мавҷудаи клиент бетағйир кор кунад. Онҳо ҷавобро тағйир намедиҳанд: ҳамеша як choice вуҷуд дорад ва ҷараён ҳамеша бо usage анҷом меёбад.

Майдон бо навъи JSON-и нодуруст, масалан "max_tokens": "100", 422 бармегардонад. Дархост бе messages низ ҳамин тавр.

Абзорҳо, баромади сохторӣ, reasoning ва ҷустуҷӯи веб ҳар кадом саҳифаи худро доранд: Даъвати функсия, Баромадҳои сохторӣ, Сатҳи кӯшиши reasoning, Ҷустуҷӯи веб.

Дархост бо имконот

Ин дархост паёми system, майдонҳои намунагирӣ ва сатҳи кӯшиши reasoning-ро муқаррар мекунад. Он модели open-weight-и хостшударо истифода мебарад, ки ҳамаи инҳоро татбиқ мекунад.

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="DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
    messages=[
        {"role": "system", "content": "You are a physics teacher. Answer in two sentences."},
        {"role": "user", "content": "Why is the sky blue?"},
    ],
    max_tokens=512,
    temperature=0.3,
    top_p=0.9,
    seed=7,
    stop=["\n\n"],
    reasoning_effort="low",
)

message = response.choices[0].message
print(message.reasoning_content)  # the reasoning
print(message.content)            # the answer
print(response.usage)

Ҷавоб ҳамон шаклеро дорад, ки дар боло. usage-и он дар моделҳои open-weight-и хостшуда ду тафсилоти иловагӣ дорад: токенҳои prompt, ки аз кэш хонда шудаанд, ва токенҳое, ки барои reasoning сарф шудаанд.

200 JSON
{
  "usage": {
    "prompt_tokens": 31,
    "completion_tokens": 62,
    "total_tokens": 93,
    "prompt_tokens_details": {
      "cached_tokens": 0
    },
    "completion_tokens_details": {
      "reasoning_tokens": 21
    }
  }
}

Дарозии баромад

max_tokens ду корро мекунад. Якум, ин шумораи токенҳоест, ки ҳангоми оғози дархост аз балансатон ҷудо карда мешавад. Вақте ки ҷавоб тамом мешавад, ин миқдор бо токенҳои дархост истифодашуда иваз карда мешавад. Агар max_tokens аз боқимондаи балансатон калонтар бошад, дархост 429 Quota exceeded бармегардонад, ҳатто агар худи ҷавоб ҷо мегирифт. Барои камтар ҷудо кардан max_tokens-и камтар фиристед.

shannon-coder-1 дар ин endpoint ба таври дигар ҳисоб карда мешавад: ҳар дархост яке аз даъватҳои Shannon Coder-и нақшаи шумост ва барои он токен ҷудо карда намешавад. Маҳдудиятҳо ва баланс

Дуюм, он дарозии ҷавобро дар ин моделҳо маҳдуд мекунад:

Моделҳо max_tokens чӣ кор мекунад
shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 Ҷавоб ҳангоми расидан ба ҳад қатъ мешавад. Ҷараён он гоҳ бо finish_reason length анҷом меёбад.
Моделҳои open-weight-и хостшуда Матни ҷавоб дар max_tokens қатъ мешавад. Reasoning бо он ҳисоб карда намешавад. Қиматҳои аз 256 камтар ҳамчун 256 амал мекунанд.

Бе max_tokens ё max_completion_tokens қимат 4,096 аст. Дар shannon-coder-1 он 65,536 аст.

Паёмҳо

Ҳар паём объекти бо role ва content аст. content сатр аст, ё массиви қисмҳо вақте ки паём бештар аз матн дорад.

Нақш Тавсиф Татбиқ мекунад
system Дастур барои модел. Онро аввал гузоред. Дар сатҳҳои Shannon аввалин паёми system истифода мешавад. Моделҳои open-weight-и хостшуда, shannon-1.6-*, shannon-2-*, shannon-coder-1
developer Ҳамчун system хонда мешавад. Моделҳои open-weight-и хостшуда
user Он чи шумо мепурсед. Дар сатҳҳои Shannon паёми охирини user prompt аст ва паёмҳои пеш аз он таърихи гуфтугӯ мебошанд. Ҳамаи моделҳо
assistant Ҷавобҳои қаблии модел. Вақте ки пас аз он натиҷаи абзор мефиристед, tool_calls-и онро нигоҳ доред. Ҳамаи моделҳо
tool Натиҷаи даъвати абзор: tool_call_id id-и даъватро дорад ва content натиҷаро ҳамчун сатр. Ҳамаи моделҳо

Бо id-и оилаи Shannon 3 дастурҳоеро, ки бояд риоя шаванд, ба паёми user гузоред.

Дар сатҳҳои Shannon дархост бе матни корбар ва бе tools 400 No user message provided бармегардонад.

Қисмҳои мундариҷа

Қисм Тавсиф Дастрас дар
{"type": "text", "text": "…"} Матни оддӣ. Ҳамаи моделҳо
{"type": "image_url", "image_url": {"url": "…"}} Тасвир, ҳамчун URL-и data: бо мундариҷаи base64 ё ҳамчун URL-и http(s). Оилаи Shannon 3, shannon-1.6-lite, shannon-1.6-pro ва моделҳои open-weight-и хостшуда, ки вуруди тасвирро нишон медиҳанд
{"type": "file", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} Ҳуҷҷат (PDF, Word, PowerPoint ё Excel), ҳамчун base64 ё тавассути URL. Оилаи Shannon 3

Андозаҳо, маҳдудиятҳо ва рӯйхати пурраи шаклҳо саҳифаи худро доранд. Тасвирҳо ва файлҳо

Объекти ҷавоб

Майдон Навъ Тавсиф
id string chatcmpl- ва пас аз он 32 аломати шонздаҳӣ.
object string Ҳамеша chat.completion.
created integer Вақти ҷавоб, бо сонияҳои Unix.
model string Id-и асосии моделе, ки ҷавоб дод. Он метавонад аз id-и фиристодаи шумо дар имло фарқ кунад.
choices array Ҳамеша дақиқан як choice, бо index 0.
choices[0].message.role string Ҳамеша assistant.
choices[0].message.content string | null Матни ҷавоб. Бо tool_calls он дар сатҳҳои Shannon null аст; моделҳои open-weight-и хостшуда метавонанд матнро дар паҳлӯи даъватҳо фиристанд.
choices[0].message.reasoning_content string | null Reasoning-е, ки модел пеш аз ҷавоб навишт, ё null вақте ки нест.
choices[0].message.tool_calls array Танҳо вақте ҳозир аст, ки модел абзорҳоро даъват мекунад. Ҳар сабт id, type function ва function-ро бо name ва arguments ҳамчун сатри JSON дорад.
choices[0].message.annotations array Танҳо дар дархости дорои web_search: true, ки ҷустуҷӯяш чизе ёфтааст. Барои ҳар манбаъе, ки нишонаи дар content номбар мекунад, як url_citation, бо url, title, start_index ва end_index (мавқеи нишона, ки бо аломатҳо ҳисоб шудааст, анҷом дохил намешавад).
choices[0].finish_reason string Чаро ҷавоб тамом шуд. Сабабҳои анҷомро бинед.
usage object Токенҳои дархост. Usage-ро бинед.
sources array Танҳо дар дархости дорои web_search: true, ки ҷустуҷӯяш чизе ёфтааст: натиҷаҳое, ки ба модел дода шудаанд, ҳар кадом бо index, title ва url. [1] дар ҷавоб сабти бо index 1 аст.

Сабабҳои анҷом

finish_reason Тавсиф
stop Модел ҷавоби худро тамом кард, ё сатри stop пайдо шуд.
tool_calls Модел як ё якчанд абзорро даъват мекунад. Онҳоро иҷро кунед ва натиҷаҳоро дар паёмҳои tool фиристед.
length Ҷавоб дар ҳадди баромад бурида шуд. Дар ҷараёнҳои shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 ва оилаи Shannon 3 ҳисобот дода мешавад.

Ҷавоби бе streaming stop ё tool_calls-ро ҳисобот медиҳад.

Usage

Майдон Навъ Тавсиф Дастрас дар
usage.prompt_tokens integer Токенҳои вуруд. Ҳамаи моделҳо
usage.completion_tokens integer Токенҳои баромад: reasoning, ҷавоб ва даъватҳои абзор якҷоя. Ҳамаи моделҳо
usage.total_tokens integer prompt_tokens ва completion_tokens дар маҷмӯъ. Ҳамаи моделҳо
usage.prompt_tokens_details.cached_tokens integer Қисми prompt_tokens, ки аз кэши prompt хонда шудааст. Моделҳои open-weight-и хостшуда
usage.completion_tokens_details.reasoning_tokens integer Қисми completion_tokens, ки барои reasoning сарф шудааст. Моделҳои open-weight-и хостшуда

Дар моделҳои open-weight-и хостшуда prompt_tokens паёмҳо ва таърифҳои абзори шумост, ки бо токенайзери худи модел ҳисоб шудаанд, илова бар токенҳои тасвирҳо. Endpoint-ҳои ҳисоби токен пеш аз фиристодани шумо ҳамон рақамро бармегардонанд. Ҳисоби токенҳо

Дар сатҳҳои Shannon prompt_tokens ҳар чизеро, ки модел барои навиштани ҷавоб хонд, ҳисоб мекунад, бинобар ин он аз танҳо матни паёмҳои шумо калонтар аст.

Streaming

Вақте ки stream ба true гузошта шудааст, ҷавоб ҳамчун рӯйдодҳои chat.completion.chunk меояд ва бо data: [DONE] анҷом меёбад. Чанки охирини пеш аз он finish_reason ва usage-ро дорад; stream_options лозим нест. Шаклҳои чанкҳо, хатҳои keep-alive ва хатогиҳо дар дохили ҷараён саҳифаи худро доранд. Стриминг

Хатогиҳо

Хатогӣ объекти JSON бо узви error аст. Санҷишҳо бо ин тартиб иҷро мешаванд: калиди API, бадани дархост, id-и модел, баъд баланс. Ҷадвал он чиро нишон медиҳад, ки ин endpoint аксар вақт бармегардонад. Рӯйхати пурра, бо нишони он ки чӣ бояд такрор шавад, саҳифаи худро дорад. Идораи хатогиҳо

400 JSON
{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: no-such-model"
  }
}
Ҳолат Навъ Паём Кай
401 authentication_error Missing authentication
Invalid API key
Калиди API фиристода нашудааст, ё калид ношинос ё бекор шудааст.
400 invalid_request_error unknown model: <id> model id-и нашршуда нест.
400 invalid_request_error No user message provided Сатҳҳои Shannon: дархост матни корбар ва tools надорад.
400 invalid_request_error <id> does not accept image input Қисми тасвир ба модели open-weight-и хостшуда фиристода шуд, ки вуруди тасвирро надорад.
400 invalid_request_error <id> does not accept response_format response_format ба модели open-weight-и хостшуда бе баромади сохторӣ фиристода шуд.
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high reasoning_effort қимате дорад, ки дар рӯйхат нест.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … messages намерасад, ё майдоне навъи JSON-и нодуруст дорад.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan max_tokens аз боқимондаи балансатон калонтар аст.
429 rate_limit_error Too many requests. Retry in <n>s. Ҳифз аз дархостҳои аз ҳад зиёд: беш аз 120 дархост дар як дақиқа дар аккаунти шумо.
500 server_error The model backend failed to answer. Please retry. Модел ҷавоб насохт. Дархостро бори дигар фиристед.
502 api_error The model backend failed to answer. Please retry. Ҳамин, дар оилаи Shannon 3 ва моделҳои open-weight-и хостшуда.