Tsallake zuwa abun ciki
Dubawa

Dubawa

Taswirar API: kowane endpoint, yadda request da kuskure suke, yadda ake biyan kira, da abin da ya kamata ku sani idan kuna zuwa daga OpenAI ko Anthropic SDK.

Endpoints

Kowane endpoint yana ƙarƙashin base URL ɗaya kuma ana yi masa hidima ta HTTPS.

Base URL
https://api.shannon-ai.com
Endpoint Tsari Menene amfaninsa
POST /v1/chat/completions OpenAI Chat Completions Ku aika tattaunawa, ku sami amsa ta gaba. Da streaming ko ba tare da shi ba.
POST /v1/messages Anthropic Messages Haka ma, a siffofin request da amsa na Anthropic SDKs.
POST /v1/responses OpenAI Responses Haka ma, a siffofin Responses. Endpoint ɗin ba ya riƙe state: ku aika tattaunawa da kowace request.
GET /v1/models Jerin models na OpenAI Ku lissafa models tare da context window, farashi da capabilities. Ba ya buƙatar maɓalli.
POST /v1/tokenize Shannon API Ku ƙirga tokens na rubutu ko na request na taɗi ga hosted open-weight model. Kyauta.
POST /v1/messages/count_tokens Ƙirgan tokens na Anthropic Ku ƙirga input tokens na request na Messages ga hosted open-weight model. Kyauta.

Endpoints uku da ke samar da rubutu suna isa ga models iri ɗaya. Ku zaɓi wanda tsarinsa code ɗinku ke amfani da shi tuni.

Muhimman abubuwan request

Header Bayani
Authorization: Bearer <key> Maɓallin API ɗinku. Wajibi ne a kowane endpoint in ban da GET /v1/models, sai dai idan kun aika x-api-key.
x-api-key: <key> Maɓalli iri ɗaya a header da Anthropic SDKs ke aikawa. Ana karantawa a kowane endpoint.
Content-Type: application/json Wajibi a kowane POST. Ba tare da shi ba amsar ita ce 415.
x-request-id: <your id> Zaɓi. Id ɗinku na request ɗin; yana dawowa a header na amsa x-request-id. Idan babu shi API yana ƙirƙirar ɗaya na haruffan hexadecimal 12.
  • Jikin kowane POST JSON object ɗaya ne, har zuwa 32 MiB.
  • Field da API bai sani ba ba ya haifar da kuskure kuma ba ya da tasiri. Request da aka rubuta wa wani provider ba ya gazawa saboda ƙarin field.
  • Field da aka sani mai nau'in JSON mara kyau, ko field da ake buƙata da ya ɓace, ana amsa shi da 422. Jiki wanda ba JSON mai inganci ba ana amsa shi da 400.
  • model ɗaya ne daga ids da ke Models & farashi. Manyan haruffa da ƙanana ba su da muhimmanci.

Amsa JSON ce, ko stream na server-sent events idan request ya saita stream zuwa true. Kowane endpoint yana amsawa a tsarinsa. Kowace amsa tana da header x-request-id.

Abin da request ke wucewa

Ana duba request bisa tsari tsayayye kafin model ya gudana. Binciken farko da ya gaza shi ke amsawa, don haka 401 bai gaya muku komai game da jiki tukuna ba.

Siffar kuskure

Kuskure JSON object ne mai error wanda ke ɗauke da type da message. /v1/messages yana nannaɗe shi yadda Anthropic SDKs ke tsammani; kowace sauran hanya tana amfani da siffar OpenAI.

{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: gpt-4o"
  }
}
  • Ku karanta type da message. code da param suna nan a wasu kurakurai kaɗai: ku ɗauke su a matsayin zaɓi. param koyaushe null ne.
  • Bayan stream ya fara, matsayin ya riga ya zama 200. Gazawa sai ta zo a matsayin error frame a cikin stream.
  • Kowace amsar kuskure tana ɗauke da header x-request-id.
Matsayi Nau'i Lokaci
400 invalid_request_error Jikin ba JSON mai inganci ba ne, ba a san model id ba, ko model ba ya karɓar nau'in input da kuka aika.
401 authentication_error Maɓalli ya ɓace ko ba shi da inganci.
404 not_found_error Hanyar ba ta wanzu.
405 api_error Hanyar tana nan, method ɗin ba daidai ba ne.
413 invalid_request_error Jikin ya fi 32 MiB girma.
415 invalid_request_error Content-Type ba application/json ba ne.
422 invalid_request_error Field yana da nau'in JSON mara kyau ko kuma field da ake buƙata ya ɓace.
429 rate_limit_error Balance bai isa request ba, fiye da requests 120 sun iso a minti ɗaya, an gama kiran Shannon Coder na taga, ko model yana aiki da yawa. Saƙon yana faɗin wanne.
5xx api_error Matsayi 500, 502, 503 ko 504: request yana da inganci kuma ba a iya amsa shi ba. Ku sake aika shi. 500 na iya ɗaukar nau'in server_error.

Kuskuren Gudanarwa

Biyan kuɗi da balance

  • Akwai balance ɗaya ga kowane asusu, kuma taɗi da API suna raba shi: plan allowance na yau da farko, sannan credit da aka saya. API ba shi da quota na kansa.
  • Request yana ware output budget ɗinsa (max_tokens, na asali 4,096) sannan a caje shi don tokens da ya yi amfani da su da gaske, a farashin model.
  • Kowace amsa tana bayyana ƙirgan tokens ɗinta a usage. Shafin Maɓallai & amfani yana nuna balance da abin da kowace request ta kashe.
  • Ana yi wa kowace request hidima daidai. Iyaka ɗaya tilo kan yawan requests ita ce flood protection: requests 120 a minti ɗaya ga kowane asusu. Requests da aka aika a lokaci guda suna jira a layi.

Iyakoki da balance Models & farashi Maɓallai & amfani

Fields da suka dogara da model

Kowane model yana karɓar request iri ɗaya. Wasu fields suna aiki a wasu models kaɗai; teburin yana faɗin inda. Shafukan endpoints suna lissafa kowane field.

Field Bayani Wanda ke aiwatarwa
system Umarni ga model: saƙon system a Chat Completions, system a Messages, instructions a 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 tsayayye don sampling. Hosted open-weight models
stop Har zuwa stop sequences 4. Hosted open-weight models
reasoning_effort Yawan reasoning da model ke yi kafin ya amsa. reasoning.effort a Responses, thinking a Messages. Hosted open-weight models
web_search true yana barin model ya bincika yanar gizo don wannan request. Field na wannan API, a Chat Completions da Messages. Models na Shannon in ban da shannon-coder-1
max_tokens Output budget. A kowane model yana saita adadin da ake ware daga balance ɗinku. A matsayin iyaka kan tsawon amsa: hosted open-weight models, shannon-1.6-*, shannon-coder-1

Chat Completions

Idan kuna zuwa daga OpenAI SDK

  • Ku saita base URL zuwa https://api.shannon-ai.com/v1 kuma maɓalli zuwa maɓallinku na Shannon. Kiran Chat Completions da Responses sai suna aiki da SDK yadda yake.
  • Dole model ya zama id na Shannon. Sunan model na wani provider, kamar gpt-4o, ana amsa shi da 400 da unknown model.
  • Reasoning yana zuwa a field na kansa: reasoning_content kusa da content, a saƙo da kuma a stream deltas.
  • Stream koyaushe yana ɗauke da usage a chunk ɗinsa na ƙarshe, tare da finish_reason.
  • Kiran tool a stream yana zuwa a chunk ɗaya tare da cikakken string na arguments.
  • Amsa tana da choice ɗaya.
  • Hanyoyin OpenAI API da ba su cikin teburin da ke sama, kamar /v1/embeddings, ana amsa su da 404.

Idan kuna zuwa daga Anthropic SDK

  • Ku saita base URL zuwa https://api.shannon-ai.com, ba tare da /v1 ba, kuma maɓalli zuwa maɓallinku na Shannon. SDK yana aika shi a matsayin x-api-key.
  • Dole model ya zama id na Shannon.
  • max_tokens zaɓi ne a wannan API. Na asali shi ne 4,096.
  • Amsa tana ɗauke da content blocks na nau'in thinking, text da tool_use. Block na farko ba koyaushe rubutu ba ne: ku zaɓi blocks ta type.
  • stop_reason shi ne end_turn ko tool_use. Stream na model na Shannon na iya ƙarewa da max_tokens ma.
  • Ana karɓar anthropic-version da anthropic-beta, don haka SDK yana aiki ba tare da canji ba. Request ba ya buƙatar su.
  • Kurakurai a /v1/messages suna da siffar Anthropic: {"type": "error", "error": {…}}.

Ana saita kayan rubuta code da ke magana da waɗannan tsare-tsare iri ɗaya: base URL, maɓalli, da id na Shannon a matsayin model. Kayan CLI na rubuta code