ຂ້າມໄປຫາເນື້ອຫາ
ພາບລວມ

ພາບລວມ

ແຜນທີ່ຂອງ API: ທຸກ endpoint, ຄຳຮ້ອງຂໍ ແລະ ຂໍ້ຜິດພາດໜ້າຕາເປັນແນວໃດ, ການເອີ້ນຖືກຈ່າຍແນວໃດ, ແລະ ສິ່ງທີ່ຄວນຮູ້ເມື່ອທ່ານມາຈາກ SDK ຂອງ OpenAI ຫຼື Anthropic.

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 ຄືກັນ, ໃນຮູບຮ່າງຄຳຮ້ອງຂໍ ແລະ ຄຳຕອບຂອງ SDK Anthropic.
POST /v1/responses OpenAI Responses ຄືກັນ, ໃນຮູບຮ່າງ Responses. endpoint ບໍ່ເກັບສະຖານະ: ສົ່ງການສົນທະນາມາກັບທຸກຄຳຮ້ອງຂໍ.
GET /v1/models ລາຍຊື່ model ຂອງ OpenAI ລາຍຊື່ model ພ້ອມ context window, ລາຄາ ແລະ ຄວາມສາມາດ. ບໍ່ຕ້ອງໃຊ້ key.
POST /v1/tokenize Shannon API ນັບ tokens ຂອງຂໍ້ຄວາມ ຫຼື ຂອງຄຳຮ້ອງຂໍ chat ສຳລັບ hosted open-weight model. ບໍ່ເສຍຄ່າ.
POST /v1/messages/count_tokens ການນັບ token ຂອງ Anthropic ນັບ input tokens ຂອງຄຳຮ້ອງຂໍ Messages ສຳລັບ hosted open-weight model. ບໍ່ເສຍຄ່າ.

ສາມ endpoint ທີ່ສ້າງຂໍ້ຄວາມເຂົ້າເຖິງ model ດຽວກັນ. ເລືອກອັນທີ່ຮູບແບບກົງກັບທີ່ໂຄ້ດຂອງທ່ານໃຊ້ຢູ່ແລ້ວ.

ພື້ນຖານຂອງຄຳຮ້ອງຂໍ

Header ຄຳອະທິບາຍ
Authorization: Bearer <key> API key ຂອງທ່ານ. ຈຳເປັນໃນທຸກ endpoint ຍົກເວັ້ນ GET /v1/models, ເວັ້ນແຕ່ທ່ານສົ່ງ x-api-key.
x-api-key: <key> key ດຽວກັນໃນ header ທີ່ SDK Anthropic ສົ່ງ. ອ່ານໃນທຸກ endpoint.
Content-Type: application/json ຈຳເປັນໃນທຸກ POST. ຖ້າບໍ່ມີ ຄຳຕອບແມ່ນ 415.
x-request-id: <your id> ບໍ່ບັງຄັບ. id ຂອງທ່ານເອງສຳລັບຄຳຮ້ອງຂໍ; ມັນກັບມາໃນ header ຄຳຕອບ x-request-id. ຖ້າບໍ່ມີ API ສ້າງໜຶ່ງອັນເປັນຕົວອັກສອນເລກຖານສິບຫົກ 12 ຕົວ.
  • body ຂອງທຸກ POST ແມ່ນ object JSON ໜຶ່ງອັນ, ສູງສຸດ 32 MiB.
  • ຟີລດ໌ທີ່ API ບໍ່ຮູ້ຈັກບໍ່ເຮັດໃຫ້ເກີດຂໍ້ຜິດພາດ ແລະ ບໍ່ມີຜົນ. ຄຳຮ້ອງຂໍທີ່ຂຽນສຳລັບຜູ້ໃຫ້ບໍລິການອື່ນບໍ່ລົ້ມເຫຼວຍ້ອນຟີລດ໌ເກີນ.
  • ຟີລດ໌ທີ່ຮູ້ຈັກແຕ່ມີປະເພດ JSON ຜິດ, ຫຼື ຂາດຟີລດ໌ທີ່ຈຳເປັນ, ຖືກຕອບດ້ວຍ 422. body ທີ່ບໍ່ແມ່ນ JSON ທີ່ຖືກຕ້ອງຖືກຕອບດ້ວຍ 400.
  • model ແມ່ນໜຶ່ງໃນ id ໃນ Models & pricing. ຕົວພິມນ້ອຍ-ໃຫຍ່ບໍ່ສຳຄັນ.

ຄຳຕອບເປັນ JSON, ຫຼື stream ຂອງ server-sent events ເມື່ອຄຳຮ້ອງຂໍຕັ້ງ stream ເປັນ true. ແຕ່ລະ endpoint ຕອບໃນຮູບແບບຂອງຕົນເອງ. ທຸກຄຳຕອບມີ header x-request-id.

ສິ່ງທີ່ຄຳຮ້ອງຂໍຕ້ອງຜ່ານ

ຄຳຮ້ອງຂໍຖືກກວດຕາມລຳດັບຄົງທີ່ກ່ອນ model ຈະເຮັດວຽກ. ການກວດທຳອິດທີ່ບໍ່ຜ່ານຈະເປັນຜູ້ຕອບ, ດັ່ງນັ້ນ 401 ຍັງບໍ່ບອກຫຍັງກ່ຽວກັບ body.

ຮູບຮ່າງຂອງຂໍ້ຜິດພາດ

ຂໍ້ຜິດພາດແມ່ນ object JSON ທີ່ມີ error ເຊິ່ງເກັບ type ແລະ message. /v1/messages ຫໍ່ມັນຕາມທີ່ SDK Anthropic ຄາດຫວັງ; path ອື່ນທັງໝົດໃຊ້ຮູບຮ່າງ OpenAI.

{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: gpt-4o"
  }
}
  • ອ່ານ type ແລະ message. code ແລະ param ມີໃນບາງຂໍ້ຜິດພາດເທົ່ານັ້ນ: ຖືວ່າເປັນທາງເລືອກ. param ເປັນ null ສະເໝີ.
  • ຫຼັງຈາກ stream ເລີ່ມແລ້ວ, status ເປັນ 200 ແລ້ວ. ຄວາມລົ້ມເຫຼວຈຶ່ງມາເປັນ error frame ພາຍໃນ stream.
  • ທຸກຄຳຕອບຂໍ້ຜິດພາດມີ header x-request-id.
ສະຖານະ ປະເພດ ເມື່ອໃດ
400 invalid_request_error body ບໍ່ແມ່ນ JSON ທີ່ຖືກຕ້ອງ, id ຂອງ model ບໍ່ຮູ້ຈັກ, ຫຼື model ບໍ່ຮັບປະເພດ input ທີ່ທ່ານສົ່ງ.
401 authentication_error ຂາດ key ຫຼື 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 ຟີລດ໌ມີປະເພດ JSON ຜິດ ຫຼື ຂາດຟີລດ໌ທີ່ຈຳເປັນ.
429 rate_limit_error ຍອດເງິນບໍ່ພໍສຳລັບຄຳຮ້ອງຂໍ, ມີຄຳຮ້ອງຂໍເກີນ 120 ອັນໃນໜຶ່ງນາທີ, ການເອີ້ນ Shannon Coder ຂອງ window ຖືກໃຊ້ໝົດ, ຫຼື model ກຳລັງຍຸ່ງ. ຂໍ້ຄວາມບອກວ່າອັນໃດ.
5xx api_error Status 500, 502, 503 ຫຼື 504: ຄຳຮ້ອງຂໍຖືກຕ້ອງ ແຕ່ຕອບບໍ່ໄດ້. ສົ່ງມັນອີກ. 500 ອາດມີປະເພດ server_error.

ການຈັດການຂໍ້ຜິດພາດ

ການຄິດເງິນ ແລະ ຍອດເງິນ

  • ມີໜຶ່ງຍອດເງິນຕໍ່ບັນຊີ, ແລະ chat ກັບ API ໃຊ້ຮ່ວມກັນ: ໂຄວຕາຂອງແຜນມື້ນີ້ກ່ອນ, ແລ້ວຈຶ່ງເຄຣດິດທີ່ຊື້ເພີ່ມ. API ບໍ່ມີໂຄວຕາຂອງຕົນເອງ.
  • ຄຳຮ້ອງຂໍກັນງົບ output ຂອງມັນ (max_tokens, ຄ່າເລີ່ມຕົ້ນ 4,096) ແລ້ວຖືກຄິດເງິນຕາມ tokens ທີ່ໃຊ້ຈິງ, ໃນລາຄາຂອງ model.
  • ທຸກຄຳຕອບລາຍງານຈຳນວນ tokens ໃນ usage. ໜ້າ Keys & usage ສະແດງຍອດເງິນ ແລະ ຄ່າໃຊ້ຈ່າຍຂອງແຕ່ລະຄຳຮ້ອງຂໍ.
  • ທຸກຄຳຮ້ອງຂໍໄດ້ຮັບການບໍລິການເທົ່າທຽມກັນ. ຂີດຈຳກັດດຽວທີ່ກ່ຽວກັບອັດຕາຄຳຮ້ອງຂໍແມ່ນ flood protection: 120 ຄຳຮ້ອງຂໍຕໍ່ນາທີຕໍ່ບັນຊີ. ຄຳຮ້ອງຂໍທີ່ສົ່ງແບບຂະໜານລໍຖ້າໃນຄິວ.

ຂີດຈຳກັດ ແລະ ຍອດເງິນ Model ແລະ ລາຄາ Keys & usage

ຟີລດ໌ທີ່ຂຶ້ນກັບ model

ທຸກ model ຮັບຄຳຮ້ອງຂໍດຽວກັນ. ບາງຟີລດ໌ມີຜົນສະເພາະບາງ model; ຕາຕະລາງບອກວ່າບ່ອນໃດ. ໜ້າຂອງແຕ່ລະ endpoint ລາຍຊື່ທຸກຟີລດ໌.

ຟີລດ໌ ຄຳອະທິບາຍ ໃຊ້ໂດຍ
system ຄຳແນະນຳສຳລັບ model: ຂໍ້ຄວາມ system ໃນ Chat Completions, system ໃນ Messages, instructions ໃນ Responses. Hosted open-weight models, shannon-1.6-*, shannon-2-*, shannon-coder-1
temperature Sampling temperature. Hosted open-weight models, shannon-1.6-*, shannon-coder-1
top_p Nucleus sampling. Hosted open-weight models
seed seed ຄົງທີ່ສຳລັບ sampling. Hosted open-weight models
stop Stop sequence ສູງສຸດ 4 ອັນ. Hosted open-weight models
reasoning_effort model ຄິດຫາເຫດຜົນຫຼາຍເທົ່າໃດກ່ອນຕອບ. reasoning.effort ໃນ Responses, thinking ໃນ Messages. Hosted open-weight models
web_search true ໃຫ້ model ຄົ້ນຫາເວັບສຳລັບຄຳຮ້ອງຂໍນີ້. ຟີລດ໌ຂອງ API ນີ້, ໃນ Chat Completions ແລະ Messages. model Shannon ຍົກເວັ້ນ shannon-coder-1
max_tokens ງົບ output. ໃນທຸກ model ມັນກຳນົດຈຳນວນທີ່ກັນໄວ້ຈາກຍອດເງິນຂອງທ່ານ. ໃນຖານະຂີດຈຳກັດຄວາມຍາວຂອງຄຳຕອບ: hosted open-weight models, shannon-1.6-*, shannon-coder-1

Chat Completions

ມາຈາກ SDK ຂອງ OpenAI

  • ຕັ້ງ base URL ເປັນ https://api.shannon-ai.com/v1 ແລະ key ເປັນ key Shannon ຂອງທ່ານ. ການເອີ້ນ Chat Completions ແລະ Responses ຈະໃຊ້ໄດ້ກັບ SDK ຕາມທີ່ມັນເປັນ.
  • model ຕ້ອງເປັນ id ຂອງ Shannon. ຊື່ model ຂອງຜູ້ໃຫ້ບໍລິການອື່ນ, ເຊັ່ນ gpt-4o, ຖືກຕອບດ້ວຍ 400 ແລະ unknown model.
  • Reasoning ມາໃນຟີລດ໌ຂອງມັນເອງ: reasoning_content ຄຽງຄູ່ content, ໃນຂໍ້ຄວາມ ແລະ ໃນ delta ຂອງ stream.
  • stream ມີ usage ໃນ chunk ສຸດທ້າຍສະເໝີ, ພ້ອມກັບ finish_reason.
  • ການເອີ້ນ tool ໃນ stream ມາເປັນ chunk ດຽວທີ່ມີ string arguments ຄົບຖ້ວນ.
  • ຄຳຕອບມີ choice ດຽວ.
  • path ຂອງ API OpenAI ທີ່ບໍ່ຢູ່ໃນຕາຕະລາງຂ້າງເທິງ, ເຊັ່ນ /v1/embeddings, ຖືກຕອບດ້ວຍ 404.

ມາຈາກ SDK ຂອງ Anthropic

  • ຕັ້ງ base URL ເປັນ https://api.shannon-ai.com, ໂດຍບໍ່ມີ /v1, ແລະ key ເປັນ key Shannon ຂອງທ່ານ. SDK ສົ່ງມັນເປັນ x-api-key.
  • model ຕ້ອງເປັນ id ຂອງ Shannon.
  • max_tokens ເປັນທາງເລືອກໃນ API ນີ້. ຄ່າເລີ່ມຕົ້ນແມ່ນ 4,096.
  • ຄຳຕອບມີ content block ປະເພດ thinking, text ແລະ tool_use. block ທຳອິດບໍ່ແມ່ນຂໍ້ຄວາມສະເໝີໄປ: ເລືອກ block ຕາມ type.
  • stop_reason ແມ່ນ end_turn ຫຼື tool_use. stream ຂອງ model Shannon ຍັງຈົບດ້ວຍ max_tokens ໄດ້.
  • anthropic-version ແລະ anthropic-beta ຖືກຮັບໄວ້, ດັ່ງນັ້ນ SDK ເຮັດວຽກໂດຍບໍ່ຕ້ອງປ່ຽນ. ຄຳຮ້ອງຂໍບໍ່ຈຳເປັນຕ້ອງມີພວກມັນ.
  • ຂໍ້ຜິດພາດໃນ /v1/messages ມີຮູບຮ່າງແບບ Anthropic: {"type": "error", "error": {…}}.

tool ສຳລັບຂຽນໂຄ້ດທີ່ໃຊ້ຮູບແບບເຫຼົ່ານີ້ຖືກຕັ້ງຄ່າແບບດຽວກັນ: base URL, key, ແລະ id ຂອງ Shannon ເປັນ model. ເຄື່ອງມື CLI ສຳລັບຂຽນໂຄ້ດ