အနှစ်ချုပ်
API ၏ မြေပုံ- endpoint တိုင်း၊ request နှင့် အမှားတို့ မည်သို့ပုံစံရှိသည်၊ calls များအတွက် မည်သို့ပေးချေရသည်၊ နှင့် OpenAI သို့မဟုတ် Anthropic SDK မှ လာသောအခါ သိထားရမည့်အရာများ။
Endpoints
Endpoint တိုင်းသည် base URL တစ်ခုအောက်တွင် ရှိပြီး HTTPS ဖြင့် ဝန်ဆောင်မှုပေးသည်။
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 အကြောင်း ဘာမျှ မပြောပါ။
| ဤအစီအစဉ်ဖြင့် စစ်ဆေးသည် | မအောင်မြင်သောအခါ status |
|---|---|
| API key | 401 |
| Body- အရွယ်အစား၊ content type၊ JSON ဖြစ်မှု၊ field အမျိုးအစားများ | 413 · 415 · 400 · 422 |
| Model id | 400 |
| Flood protection- account တစ်ခုလျှင် တစ်မိနစ်ကို request 120 အထိ | 429 |
| လက်ကျန်ငွေ- request ၏ output budget သည် ဆန့်ရမည် | 429 |
အမှားပုံစံ
အမှားသည် type နှင့် message ပါသော error ပါဝင်သည့် JSON object ဖြစ်သည်။ /v1/messages သည် Anthropic SDK များ မျှော်လင့်သည့်ပုံစံဖြင့် ထုပ်ပိုးပြီး အခြား path တိုင်းသည် OpenAI ပုံစံကို သုံးသည်။
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} {
"type": "error",
"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 |
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 သည်
argumentsstring အပြည့်အစုံပါသော 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