រំលងទៅមាតិកា
ទិដ្ឋភាពទូទៅ

ទិដ្ឋភាពទូទៅ

ផែនទីរបស់ API៖ រាល់ endpoint រូបរាងនៃ request និង error របៀបដែលការហៅត្រូវបានបង់ថ្លៃ និងអ្វីដែលគួរដឹងនៅពេលអ្នកមកពី OpenAI ឬ Anthropic SDK។

Endpoint

រាល់ endpoint ស្ថិតក្រោម base URL មួយ ហើយត្រូវបានបម្រើតាម HTTPS។

Base URL
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 មិនទាន់ប្រាប់អ្វីអំពីខ្លឹមសារទេ។

រូបរាងនៃ error

error គឺជា JSON object ដែលមាន error ដែលមាន type និង message។ /v1/messages រុំវាតាមរបៀបដែល Anthropic SDK រំពឹង ចំណែក path ផ្សេងទៀតទាំងអស់ប្រើរូបរាង OpenAI។

{
  "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

Chat Completions

មកពី 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