အကြောင်းအရာသို့ ကျော်သွားရန်
အနှစ်ချုပ်

အနှစ်ချုပ်

API ၏ မြေပုံ- endpoint တိုင်း၊ request နှင့် အမှားတို့ မည်သို့ပုံစံရှိသည်၊ calls များအတွက် မည်သို့ပေးချေရသည်၊ နှင့် OpenAI သို့မဟုတ် Anthropic SDK မှ လာသောအခါ သိထားရမည့်အရာများ။

Endpoints

Endpoint တိုင်းသည် base URL တစ်ခုအောက်တွင် ရှိပြီး HTTPS ဖြင့် ဝန်ဆောင်မှုပေးသည်။

Base URL
https://api.shannon-ai.com
Endpoint Format အသုံးဝင်ပုံ
POST /v1/chat/completions OpenAI Chat Completions စကားပြောဆိုမှုတစ်ခု ပို့ပြီး နောက်အဖြေကို ရယူပါ။ streaming ဖြင့် သို့မဟုတ် မပါဘဲ။
POST /v1/messages Anthropic Messages အတူတူပင်၊ Anthropic SDK များ၏ request နှင့် ပြန်ကြားချက်ပုံစံဖြင့်။
POST /v1/responses OpenAI Responses အတူတူပင်၊ Responses ပုံစံဖြင့်။ endpoint သည် state မသိမ်းပါ- request တိုင်းနှင့်အတူ စကားပြောဆိုမှုကို ပို့ပါ။
GET /v1/models OpenAI model list context window၊ ဈေးနှုန်းနှင့် capabilities ပါသော model များကို စာရင်းပြုစုပါ။ key မလိုအပ်ပါ။
POST /v1/tokenize Shannon API host လုပ်ထားသော open-weight model အတွက် စာသား သို့မဟုတ် chat request တစ်ခု၏ tokens ကို ရေတွက်ပါ။ အခမဲ့။
POST /v1/messages/count_tokens Anthropic token count host လုပ်ထားသော open-weight model တစ်ခုအတွက် Messages request ၏ input token အရေအတွက်ကို ရေတွက်ပေးသည်။ အခမဲ့။

စာသားထုတ်လုပ်သော endpoint သုံးခုသည် တူညီသော model များသို့ ရောက်သည်။ သင့် code သုံးနေပြီးသား format ပါသည့် endpoint ကို ရွေးပါ။

Request အခြေခံ

Header ဖော်ပြချက်
Authorization: Bearer <key> သင့် API key။ x-api-key ကို မပို့လျှင် GET /v1/models မှလွဲ၍ endpoint တိုင်းတွင် လိုအပ်သည်။
x-api-key: <key> Anthropic SDK များ ပို့သော header တွင် တူညီသော key။ Endpoint တိုင်းတွင် ဖတ်သည်။
Content-Type: application/json POST တိုင်းတွင် လိုအပ်သည်။ မပါလျှင် ပြန်ကြားချက်မှာ 415 ဖြစ်သည်။
x-request-id: <your id> ရွေးချယ်နိုင်သည်။ request အတွက် သင့်ကိုယ်ပိုင် id၊ ပြန်ကြားချက် header x-request-id တွင် ပြန်လာသည်။ မပါလျှင် API က hexadecimal စာလုံး 12 လုံးပါသော id တစ်ခု ဖန်တီးပေးသည်။
  • POST တိုင်း၏ body သည် 32 MiB အထိ JSON object တစ်ခုဖြစ်သည်။
  • API မသိသော field သည် အမှားမဖြစ်စေဘဲ အကျိုးသက်ရောက်မှုလည်း မရှိပါ။ အခြား provider အတွက် ရေးထားသော request သည် အပို field တစ်ခုကြောင့် မကျရှုံးပါ။
  • JSON type မှားနေသော သိရှိပြီးသား field သို့မဟုတ် လိုအပ်သော field မပါခြင်းကို 422 ဖြင့် ဖြေသည်။ မှန်ကန်သော JSON မဟုတ်သည့် body ကို 400 ဖြင့် ဖြေသည်။
  • model သည် Models & pricing ရှိ id များထဲမှ တစ်ခုဖြစ်သည်။ စာလုံးအကြီးအသေးသည် အရေးမကြီးပါ။

ပြန်ကြားချက်သည် JSON ဖြစ်သည်၊ သို့မဟုတ် request က stream ကို true ဟု သတ်မှတ်လျှင် server-sent events ၏ stream ဖြစ်သည်။ Endpoint တစ်ခုစီသည် ကိုယ်ပိုင် format ဖြင့် ဖြေသည်။ ပြန်ကြားချက်တိုင်းတွင် header x-request-id ပါသည်။

request တစ်ခု ဖြတ်သန်းရသည့်အရာများ

model မ run မီ request ကို သတ်မှတ်ထားသော အစီအစဉ်ဖြင့် စစ်ဆေးသည်။ မအောင်မြင်သော ပထမစစ်ဆေးမှုက ဖြေကြားသဖြင့် 401 သည် body အကြောင်း ဘာမျှ မပြောပါ။

အမှားပုံစံ

အမှားသည် type နှင့် message ပါသော error ပါဝင်သည့် JSON object ဖြစ်သည်။ /v1/messages သည် Anthropic SDK များ မျှော်လင့်သည့်ပုံစံဖြင့် ထုပ်ပိုးပြီး အခြား path တိုင်းသည် OpenAI ပုံစံကို သုံးသည်။

{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: gpt-4o"
  }
}
  • type နှင့် message ကို ဖတ်ပါ။ code နှင့် param သည် အချို့အမှားများတွင်သာ ပါသည်- ရွေးချယ်နိုင်သည်ဟု သဘောထားပါ။ param သည် အမြဲ null ဖြစ်သည်။
  • stream စတင်ပြီးနောက် status သည် 200 ဖြစ်ပြီးသားဖြစ်သည်။ ထို့နောက် ကျရှုံးမှုသည် stream အတွင်း error frame အဖြစ် ရောက်လာသည်။
  • အမှားပြန်ကြားချက်တိုင်းတွင် header x-request-id ပါသည်။
Status Type ဖြစ်ပေါ်ချိန်
400 invalid_request_error body သည် မှန်ကန်သော JSON မဟုတ်၊ model id ကို မသိ၊ သို့မဟုတ် သင်ပို့ခဲ့သော input အမျိုးအစားကို model က မလက်ခံပါ။
401 authentication_error key မပါ သို့မဟုတ် မမှန်ကန်ပါ။
404 not_found_error path မရှိပါ။
405 api_error path ရှိသော်လည်း method မှားနေသည်။
413 invalid_request_error body သည် 32 MiB ထက် ပိုကြီးသည်။
415 invalid_request_error Content-Type သည် application/json မဟုတ်ပါ။
422 invalid_request_error field တစ်ခု၏ JSON type မှားနေသည် သို့မဟုတ် လိုအပ်သော field မပါပါ။
429 rate_limit_error လက်ကျန်ငွေက request ကို မဖုံးလွှမ်းနိုင်၊ တစ်မိနစ်အတွင်း request 120 ထက်ပို၍ ရောက်လာ၊ window ၏ Shannon Coder calls ကုန်သွား၊ သို့မဟုတ် model အလုပ်များနေသည်။ မက်ဆေ့ချ်က ဘယ်ဟာဆိုတာ ပြောပြသည်။
5xx api_error Status 500၊ 502၊ 503 သို့မဟုတ် 504- request မှန်ကန်သော်လည်း ဖြေ၍မရခဲ့ပါ။ ပြန်ပို့ပါ။ 500 တွင် type server_error ပါနိုင်သည်။

အမှားကိုင်တွယ်မှု

ငွေတောင်းခံမှုနှင့် လက်ကျန်ငွေ

  • account တစ်ခုလျှင် လက်ကျန်ငွေ တစ်ခုရှိပြီး chat နှင့် API တို့ မျှဝေသုံးသည်- ယနေ့ plan allowance ကို အရင်၊ ထို့နောက် ဝယ်ယူထားသော credit။ API တွင် ကိုယ်ပိုင် quota မရှိပါ။
  • request သည် ၎င်း၏ output budget (max_tokens၊ default 4,096) ကို ဖယ်ထားပြီး အမှန်တကယ်သုံးခဲ့သော tokens အတွက် model ၏ ဈေးနှုန်းဖြင့် ကျသင့်ငွေတောင်းသည်။
  • ပြန်ကြားချက်တိုင်းသည် ၎င်း၏ token ရေတွက်မှုများကို usage တွင် ဖော်ပြသည်။ Keys & usage စာမျက်နှာတွင် လက်ကျန်ငွေနှင့် request တစ်ခုစီ၏ ကုန်ကျစရိတ်ကို ပြသည်။
  • request တိုင်းကို ညီတူညီမျှ ဝန်ဆောင်မှုပေးသည်။ request နှုန်းအတွက် တစ်ခုတည်းသော ကန့်သတ်ချက်မှာ flood protection ဖြစ်ပြီး account တစ်ခုလျှင် တစ်မိနစ်လျှင် request 120 ဖြစ်သည်။ အပြိုင်ပို့သော request များသည် တန်းစီစောင့်သည်။

ကန့်သတ်ချက်များနှင့် လက်ကျန်ငွေ Model များနှင့် ဈေးနှုန်း Keys & usage

Model ပေါ်မူတည်သော field များ

Model တိုင်းသည် တူညီသော request ကို လက်ခံသည်။ field အနည်းငယ်သည် အချို့ model များတွင်သာ အကျိုးသက်ရောက်သည်၊ ဇယားတွင် ဘယ်နေရာဟု ဖော်ပြသည်။ endpoint စာမျက်နှာများတွင် field တိုင်းကို စာရင်းပြထားသည်။

Field ဖော်ပြချက် အသုံးပြုသော model
system model အတွက် ညွှန်ကြားချက်များ- Chat Completions တွင် system message၊ Messages တွင် system၊ Responses တွင် instructions ဖြစ်သည်။ Host လုပ်ထားသော open-weight မော်ဒယ်များ၊ shannon-1.6-*၊ shannon-2-*၊ shannon-coder-1
temperature Sampling temperature။ Host လုပ်ထားသော open-weight မော်ဒယ်များ၊ shannon-1.6-*၊ shannon-coder-1
top_p Nucleus sampling။ Host လုပ်ထားသော open-weight မော်ဒယ်များ
seed sampling အတွက် ပုံသေ seed တစ်ခု သတ်မှတ်ရန်။ Host လုပ်ထားသော open-weight မော်ဒယ်များ
stop ရပ်တန့်စေသော stop sequence 4 ခုအထိ။ Host လုပ်ထားသော open-weight မော်ဒယ်များ
reasoning_effort model သည် မဖြေမီ reasoning မည်မျှ လုပ်သည်။ Responses တွင် reasoning.effort၊ Messages တွင် thinking။ Host လုပ်ထားသော open-weight မော်ဒယ်များ
web_search true သည် ဤ request အတွက် model ကို web တွင် ရှာဖွေခွင့်ပေးသည်။ Chat Completions နှင့် Messages ပေါ်ရှိ ဤ API ၏ field တစ်ခု။ shannon-coder-1 မှလွဲ၍ Shannon models
max_tokens output budget။ Model တိုင်းတွင် သင့်လက်ကျန်ငွေမှ ဖယ်ထားသောပမာဏကို သတ်မှတ်သည်။ အဖြေအရှည်၏ ကန့်သတ်ချက်အဖြစ်- host လုပ်ထားသော open-weight models, shannon-1.6-*, shannon-coder-1

Chat Completions

OpenAI SDK မှ လာသူများအတွက်

  • base URL ကို https://api.shannon-ai.com/v1 ဟု သတ်မှတ်ပြီး key ကို သင့် Shannon key ဟု သတ်မှတ်ပါ။ ထို့နောက် Chat Completions နှင့် Responses calls များသည် SDK ကို ပြောင်းလဲခြင်းမရှိဘဲ အလုပ်လုပ်သည်။
  • model သည် Shannon id ဖြစ်ရမည်။ gpt-4o ကဲ့သို့ အခြား provider ၏ model အမည်ကို 400 နှင့် unknown model ဖြင့် ဖြေသည်။
  • Reasoning သည် ကိုယ်ပိုင် field ဖြင့် လာသည်- message ထဲနှင့် stream delta များတွင် content ဘေးရှိ reasoning_content။
  • stream သည် usage ကို finish_reason နှင့်အတူ နောက်ဆုံး chunk တွင် အမြဲသယ်ဆောင်သည်။
  • stream ထဲတွင် tool call သည် arguments string အပြည့်အစုံပါသော chunk တစ်ခုအဖြစ် ရောက်လာသည်။
  • ပြန်ကြားချက်တစ်ခုတွင် choice တစ်ခု ပါသည်။
  • အထက်ဇယားတွင် မပါသော OpenAI API ၏ path များ၊ ဥပမာ /v1/embeddings ကို 404 ဖြင့် ဖြေသည်။

Anthropic SDK မှ လာသူများအတွက်

  • base URL ကို /v1 မပါဘဲ https://api.shannon-ai.com ဟု သတ်မှတ်ပြီး key ကို သင့် Shannon key ဟု သတ်မှတ်ပါ။ SDK က ၎င်းကို x-api-key အဖြစ် ပို့သည်။
  • model သည် Shannon id ဖြစ်ရမည်။
  • ဤ API တွင် max_tokens သည် ရွေးချယ်နိုင်သည်။ Default မှာ 4,096 ဖြစ်သည်။
  • ပြန်ကြားချက်တွင် type thinking၊ text နှင့် tool_use ပါသော content block များ ပါသည်။ ပထမ block သည် စာသားမဟုတ်နိုင်ပါ- block များကို type ဖြင့် ရွေးပါ။
  • stop_reason သည် end_turn သို့မဟုတ် tool_use ဖြစ်သည်။ Shannon model ၏ stream သည် max_tokens ဖြင့်လည်း အဆုံးသတ်နိုင်သည်။
  • anthropic-version နှင့် anthropic-beta ကို လက်ခံသဖြင့် SDK သည် မပြောင်းလဲဘဲ အလုပ်လုပ်သည်။ request တွင် ၎င်းတို့ မလိုအပ်ပါ။
  • /v1/messages ပေါ်ရှိ အမှားများသည် Anthropic ပုံစံရှိသည်- {"type": "error", "error": {…}}။

ဤ format များကို အသုံးပြုသော coding tool များကို တူညီစွာ တပ်ဆင်သည်- base URL၊ key နှင့် model အဖြစ် Shannon id တစ်ခု။ CLI coding tools