ទិដ្ឋភាពទូទៅ
ផែនទីរបស់ API៖ រាល់ endpoint រូបរាងនៃ request និង error របៀបដែលការហៅត្រូវបានបង់ថ្លៃ និងអ្វីដែលគួរដឹងនៅពេលអ្នកមកពី OpenAI ឬ Anthropic SDK។
Endpoint
រាល់ endpoint ស្ថិតក្រោម base URL មួយ ហើយត្រូវបានបម្រើតាម HTTPS។
https://api.shannon-ai.com | Endpoint | ទ្រង់ទ្រាយ | ប្រើសម្រាប់អ្វី |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | ផ្ញើការសន្ទនា ទទួលចម្លើយបន្ទាប់។ មាន ឬគ្មាន streaming។ |
POST /v1/messages | Anthropic Messages | ដូចគ្នា ក្នុងរូបរាង request និងចម្លើយរបស់ Anthropic SDK។ |
POST /v1/responses | OpenAI Responses | ដូចគ្នា ក្នុងរូបរាង Responses។ endpoint នេះមិនរក្សា state ទេ៖ សូមផ្ញើការសន្ទនាជាមួយរាល់ request។ |
GET /v1/models | បញ្ជីម៉ូដែលរបស់ OpenAI | រាយម៉ូដែលជាមួយ context window តម្លៃ និងសមត្ថភាព។ មិនត្រូវការ key ទេ។ |
POST /v1/tokenize | Shannon API | រាប់ token នៃអត្ថបទ ឬនៃ request chat សម្រាប់ម៉ូដែល open-weight ដែលបង្ហោះ។ ឥតគិតថ្លៃ។ |
POST /v1/messages/count_tokens | ការរាប់ token របស់ Anthropic | រាប់ input token នៃ request Messages សម្រាប់ម៉ូដែល open-weight ដែលបង្ហោះ។ ឥតគិតថ្លៃ។ |
endpoint ទាំងបីដែលបង្កើតអត្ថបទទៅដល់ម៉ូដែលដូចគ្នា។ សូមជ្រើសរើសមួយដែលទ្រង់ទ្រាយរបស់វាកូដរបស់អ្នកប្រើរួចហើយ។
មូលដ្ឋាននៃ request
| Header | ការពិពណ៌នា |
|---|---|
Authorization: Bearer <key> | API key របស់អ្នក។ ត្រូវការលើគ្រប់ endpoint លើកលែងតែ GET /v1/models លុះត្រាតែអ្នកផ្ញើ x-api-key។ |
x-api-key: <key> | key ដូចគ្នាក្នុង header ដែល Anthropic SDK ផ្ញើ។ ត្រូវបានអានលើគ្រប់ endpoint។ |
Content-Type: application/json | ត្រូវការលើរាល់ POST។ បើគ្មានវា ចម្លើយគឺ 415។ |
x-request-id: <your id> | ជាជម្រើស។ id ផ្ទាល់ខ្លួនរបស់អ្នកសម្រាប់ request៖ វាត្រឡប់មកវិញក្នុង header ចម្លើយ x-request-id។ បើគ្មានវា API បង្កើតមួយដែលមាន 12 តួអក្សរ hexadecimal។ |
- ខ្លឹមសារនៃរាល់
POSTគឺជា JSON object មួយ រហូតដល់ 32 MiB។ - field ដែល API មិនស្គាល់មិនបង្កឱ្យមាន error ហើយគ្មានអានុភាពទេ។ request ដែលសរសេរសម្រាប់អ្នកផ្តល់សេវាផ្សេងមិនបរាជ័យដោយសារ field បន្ថែមទេ។
- field ដែលស្គាល់ប៉ុន្តែមានប្រភេទ JSON ខុស ឬ field ចាំបាច់ដែលបាត់ ត្រូវបានឆ្លើយដោយ
422។ ខ្លឹមសារដែលមិនមែនជា JSON ត្រឹមត្រូវត្រូវបានឆ្លើយដោយ400។ modelគឺជា id មួយនៅលើទំព័រ Models & pricing។ អក្សរធំ និងអក្សរតូចមិនសំខាន់ទេ។
ចម្លើយគឺជា JSON ឬ stream នៃ server-sent event នៅពេល request កំណត់ stream ជា true។ endpoint នីមួយៗឆ្លើយក្នុងទ្រង់ទ្រាយផ្ទាល់ខ្លួន។ រាល់ចម្លើយមាន header x-request-id។
អ្វីដែល request ឆ្លងកាត់
request ត្រូវបានពិនិត្យតាមលំដាប់ថេរ មុនពេលម៉ូដែលដំណើរការ។ ការពិនិត្យដំបូងដែលបរាជ័យនឹងឆ្លើយ ដូច្នេះ 401 មិនទាន់ប្រាប់អ្វីអំពីខ្លឹមសារទេ។
| ពិនិត្យតាមលំដាប់នេះ | Status ពេលបរាជ័យ |
|---|---|
| API key | 401 |
| ខ្លឹមសារ៖ ទំហំ ប្រភេទខ្លឹមសារ JSON ប្រភេទ field | 413 · 415 · 400 · 422 |
| Model id | 400 |
| Flood protection៖ 120 request ក្នុងមួយនាទីក្នុងមួយគណនី | 429 |
| សមតុល្យ៖ output budget របស់ request ត្រូវតែស្ថិតក្នុងសមតុល្យ | 429 |
រូបរាងនៃ error
error គឺជា JSON object ដែលមាន error ដែលមាន type និង message។ /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មានលើតែ error ខ្លះប៉ុណ្ណោះ៖ សូមចាត់ទុកថាជាជម្រើស។paramតែងតែជាnull។ - បន្ទាប់ពី stream ចាប់ផ្តើម status គឺ
200រួចហើយ។ ការបរាជ័យពេលនោះមកដល់ជា error frame នៅក្នុង stream។ - រាល់ចម្លើយ error មាន header
x-request-id។
| ស្ថានភាព | ប្រភេទ | ពេលណា |
|---|---|---|
400 | invalid_request_error | ខ្លឹមសារមិនមែនជា JSON ត្រឹមត្រូវ model id មិនស្គាល់ ឬម៉ូដែលមិនទទួលប្រភេទ input ដែលអ្នកបានផ្ញើ។ |
401 | authentication_error | key បាត់ ឬមិនត្រឹមត្រូវ។ |
404 | not_found_error | path មិនមាន។ |
405 | api_error | path មាន ប៉ុន្តែ method ខុស។ |
413 | invalid_request_error | ខ្លឹមសារធំជាង 32 MiB។ |
415 | invalid_request_error | Content-Type មិនមែនជា application/json ទេ។ |
422 | invalid_request_error | field មានប្រភេទ JSON ខុស ឬ field ចាំបាច់បាត់។ |
429 | rate_limit_error | សមតុល្យមិនគ្របដណ្តប់ request, request លើសពី 120 មកដល់ក្នុងមួយនាទី, ការហៅ Shannon Coder នៃចន្លោះត្រូវបានប្រើអស់ ឬម៉ូដែលរវល់។ សារប្រាប់ថាមួយណា។ |
5xx | api_error | Status 500, 502, 503 ឬ 504៖ request ត្រឹមត្រូវ ប៉ុន្តែមិនអាចឆ្លើយបាន។ សូមផ្ញើវាម្តងទៀត។ 500 អាចមានប្រភេទ server_error។ |
ការទូទាត់ និងសមតុល្យ
- មានសមតុល្យមួយក្នុងមួយគណនី ហើយ chat និង API ប្រើរួមគ្នា៖ កូតាគម្រោងប្រចាំថ្ងៃជាមុនសិន បន្ទាប់មកឥណទានដែលបានទិញ។ API គ្មានកូតាផ្ទាល់ខ្លួនទេ។
- request បម្រុង output budget របស់វា (
max_tokensលំនាំដើម 4,096) ហើយបន្ទាប់មកត្រូវបានគិតថ្លៃសម្រាប់ token ដែលវាប្រើពិតប្រាកដ តាមតម្លៃរបស់ម៉ូដែល។ - រាល់ចម្លើយរាយការណ៍ចំនួន token របស់វាក្នុង
usage។ ទំព័រ Keys & usage បង្ហាញសមតុល្យ និងតម្លៃនៃ request នីមួយៗ។ - រាល់ request ត្រូវបានបម្រើស្មើគ្នា។ ដែនកំណត់តែមួយគត់លើអត្រា request គឺ flood protection៖ 120 request ក្នុងមួយនាទីក្នុងមួយគណនី។ request ដែលផ្ញើស្របគ្នារង់ចាំជាជួរ។
ដែនកំណត់ និងសមតុល្យ ម៉ូដែល និងតម្លៃ Keys & usage
Field ដែលអាស្រ័យលើម៉ូដែល
គ្រប់ម៉ូដែលទទួល request ដូចគ្នា។ field ខ្លះមានអានុភាពលើតែម៉ូដែលខ្លះប៉ុណ្ណោះ៖ តារាងបញ្ជាក់កន្លែងដែលវាមាន។ ទំព័រ endpoint រាយគ្រប់ field។
| Field | ការពិពណ៌នា | អនុវត្តដោយ |
|---|---|---|
system | ការណែនាំសម្រាប់ម៉ូដែល៖ សារ system លើ Chat Completions, system លើ Messages, instructions លើ Responses។ | ម៉ូដែល open-weight ដែលបង្ហោះ, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | សីតុណ្ហភាព sampling។ | ម៉ូដែល open-weight ដែលបង្ហោះ, shannon-1.6-*, shannon-coder-1 |
top_p | Nucleus sampling។ | ម៉ូដែល open-weight ដែលបង្ហោះ |
seed | seed ថេរសម្រាប់ sampling។ | ម៉ូដែល open-weight ដែលបង្ហោះ |
stop | ចំនួន stop sequence រហូតដល់ 4 ដែលអាចកំណត់បាន។ | ម៉ូដែល open-weight ដែលបង្ហោះ |
reasoning_effort | ម៉ូដែលវែកញែកប៉ុនណាមុនពេលវាឆ្លើយ។ reasoning.effort លើ Responses, thinking លើ Messages។ | ម៉ូដែល open-weight ដែលបង្ហោះ |
web_search | true អនុញ្ញាតឱ្យម៉ូដែលស្វែងរកវេបសម្រាប់ request នេះ។ ជា field របស់ API នេះ លើ Chat Completions និង Messages។ | ម៉ូដែល Shannon លើកលែងតែ shannon-coder-1 |
max_tokens | output budget។ លើគ្រប់ម៉ូដែល វាកំណត់ចំនួនដែលបម្រុងពីសមតុល្យរបស់អ្នក។ | ជាដែនកំណត់លើប្រវែងចម្លើយ៖ ម៉ូដែល open-weight ដែលបង្ហោះ, shannon-1.6-*, shannon-coder-1 |
មកពី OpenAI SDK
- កំណត់ base URL ជា
https://api.shannon-ai.com/v1ហើយកំណត់ key ជា Shannon key របស់អ្នក។ ការហៅ Chat Completions និង Responses នឹងដំណើរការជាមួយ SDK ដូចដែលវាជា។ modelត្រូវតែជា Shannon id។ ឈ្មោះម៉ូដែលរបស់អ្នកផ្តល់សេវាផ្សេងដូចជាgpt-4oត្រូវបានឆ្លើយដោយ400និងunknown model។- Reasoning មកក្នុង field ផ្ទាល់ខ្លួន៖
reasoning_contentក្បែរcontentក្នុងសារ និងក្នុង stream delta។ - stream តែងតែមាន
usageក្នុង chunk ចុងក្រោយ រួមជាមួយfinish_reason។ - ការហៅ tool ក្នុង stream មកដល់ជា chunk មួយដែលមាន string
argumentsពេញលេញ។ - ចម្លើយមានជម្រើសមួយ។
- path របស់ OpenAI API ដែលមិនមានក្នុងតារាងខាងលើ ដូចជា
/v1/embeddingsត្រូវបានឆ្លើយដោយ404។
មកពី Anthropic SDK
- កំណត់ base URL ជា
https://api.shannon-ai.comដោយគ្មាន/v1ហើយកំណត់ key ជា Shannon key របស់អ្នក។ SDK ផ្ញើវាជាx-api-key។ modelត្រូវតែជា Shannon id។max_tokensជាជម្រើសលើ API នេះ។ លំនាំដើមរបស់វាគឺ 4,096។- ចម្លើយមាន content block ប្រភេទ
thinking,textនិងtool_use។ block ដំបូងមិនមែនជាអត្ថបទជានិច្ចទេ៖ សូមជ្រើស block តាមtype។ stop_reasonគឺend_turnឬtool_use។ stream របស់ម៉ូដែល Shannon ក៏អាចបញ្ចប់ដោយmax_tokensដែរ។anthropic-versionនិងanthropic-betaត្រូវបានទទួលយក ដូច្នេះ SDK ដំណើរការដដែល។ request មិនចាំបាច់មានពួកវាទេ។- កំហុសលើ
/v1/messagesមានរូបរាង Anthropic៖{"type": "error", "error": {…}}។
ឧបករណ៍សរសេរកូដដែលនិយាយទ្រង់ទ្រាយទាំងនេះត្រូវបានរៀបចំតាមរបៀបដូចគ្នា៖ base URL, key និង Shannon id ជាម៉ូដែល។ ឧបករណ៍សរសេរកូដ CLI