Slaan oor na inhoud
Oorsig

Oorsig

Die kaart van die API: elke eindpunt, hoe 'n versoek en 'n fout lyk, hoe oproepe betaal word, en wat om te weet wanneer jy van 'n OpenAI- of Anthropic-SDK af kom.

Eindpunte

Elke eindpunt woon onder een basis-URL en word oor HTTPS bedien.

Basis-URL
https://api.shannon-ai.com
Eindpunt Formaat Waarvoor dit dien
POST /v1/chat/completions OpenAI Chat Completions Stuur 'n gesprek, kry die volgende antwoord. Met of sonder stroming.
POST /v1/messages Anthropic Messages Dieselfde, in die versoek- en antwoordvorme van Anthropic-SDK's.
POST /v1/responses OpenAI Responses Dieselfde, in die Responses-vorme. Die eindpunt hou geen toestand nie: stuur die gesprek met elke versoek.
GET /v1/models OpenAI-modellys Lys die modelle met konteksvenster, pryse en vermoëns. Het geen sleutel nodig nie.
POST /v1/tokenize Shannon API Tel die tokens van 'n teks of van 'n klets-versoek vir 'n gehuisveste oopgewig-model. Gratis.
POST /v1/messages/count_tokens Anthropic-tokentelling Tel die insettokens van 'n Messages-versoek vir 'n gehuisveste oopgewig-model. Gratis.

Die drie eindpunte wat teks lewer, bereik dieselfde modelle. Kies die een waarvan die formaat jou kode reeds gebruik.

Versoekbeginsels

Header Beskrywing
Authorization: Bearer <key> Jou API-sleutel. Vereis op elke eindpunt behalwe GET /v1/models, tensy jy x-api-key stuur.
x-api-key: <key> Dieselfde sleutel in die header wat Anthropic-SDK's stuur. Gelees op elke eindpunt.
Content-Type: application/json Vereis op elke POST. Daarsonder is die antwoord 415.
x-request-id: <your id> Opsioneel. Jou eie id vir die versoek; dit kom terug in die antwoord-header x-request-id. Daarsonder skep die API een van 12 heksadesimale karakters.
  • Die liggaam van elke POST is een JSON-objek, tot 32 MiB.
  • 'n Veld wat die API nie ken nie, veroorsaak geen fout nie en het geen effek nie. 'n Versoek wat vir 'n ander verskaffer geskryf is, misluk nie weens 'n ekstra veld nie.
  • 'n Bekende veld met die verkeerde JSON-tipe, of 'n ontbrekende vereiste veld, word met 422 beantwoord. 'n Liggaam wat nie geldige JSON is nie, word met 400 beantwoord.
  • model is een van die id's op Modelle en pryse. Hoof- en kleinletters maak nie saak nie.

'n Antwoord is JSON, of 'n stroom van bediener-gestuurde gebeure wanneer die versoek stream op true stel. Elke eindpunt antwoord in sy eie formaat. Elke antwoord het die header x-request-id.

Wat 'n versoek deurloop

'n Versoek word in 'n vaste volgorde nagegaan voordat 'n model loop. Die eerste toets wat misluk, antwoord, so 'n 401 sê jou nog niks oor die liggaam nie.

Foutvorm

'n Fout is 'n JSON-objek met 'n error wat type en message hou. /v1/messages draai dit soos Anthropic-SDK's verwag; elke ander pad gebruik die OpenAI-vorm.

{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: gpt-4o"
  }
}
  • Lees type en message. code en param is net by sommige foute teenwoordig: behandel hulle as opsioneel. param is altyd null.
  • Nadat 'n stroom begin het, is die status reeds 200. 'n Mislukking kom dan as 'n foutraam binne die stroom aan.
  • Elke foutantwoord dra die header x-request-id.
Status Tipe Wanneer
400 invalid_request_error Die liggaam is nie geldige JSON nie, die model-id is onbekend, of die model neem nie 'n soort inset wat jy gestuur het nie.
401 authentication_error Die sleutel ontbreek of is nie geldig nie.
404 not_found_error Die pad bestaan nie.
405 api_error Die pad bestaan, die metode is verkeerd.
413 invalid_request_error Die liggaam is groter as 32 MiB.
415 invalid_request_error Content-Type is nie application/json nie.
422 invalid_request_error 'n Veld het die verkeerde JSON-tipe of 'n vereiste veld ontbreek.
429 rate_limit_error Die balans dek nie die versoek nie, meer as 120 versoeke het in 'n minuut aangekom, die Shannon Coder-oproepe van die venster is opgebruik, of die model is besig. Die boodskap sê watter.
5xx api_error Status 500, 502, 503 of 504: die versoek was geldig en kon nie beantwoord word nie. Stuur dit weer. 'n 500 kan die tipe server_error dra.

Fouthantering

Fakturering en balans

  • Daar is een balans per rekening, en klets en API deel dit: eers vandag se plan-toelaat, dan aangekoopte krediet. Die API het nie 'n kwota van sy eie nie.
  • 'n Versoek reserveer sy uitvoerbegroting (max_tokens, verstek 4,096) en word dan gehef vir die tokens wat dit werklik gebruik het, teen die prys van die model.
  • Elke antwoord meld sy tokengetalle in usage. Die bladsy Sleutels en gebruik wys die balans en wat elke versoek gekos het.
  • Elke versoek word gelyk bedien. Die enigste perk op versoektempo is vloedbeskerming: 120 versoeke per minuut per rekening. Versoeke wat parallel gestuur word, wag in 'n tou.

Perke en balans Modelle en pryse Sleutels en gebruik

Velde wat van die model afhang

Elke model neem dieselfde versoek. 'n Paar velde het net op sommige modelle effek; die tabel noem waar. Die eindpuntbladsye lys elke veld.

Veld Beskrywing Toegepas deur
system Instruksies vir die model: 'n system-boodskap op Chat Completions, system op Messages, instructions op Responses. Gehuisveste oopgewig-modelle, shannon-1.6-*, shannon-2-*, shannon-coder-1
temperature Steekproef-temperatuur. Gehuisveste oopgewig-modelle, shannon-1.6-*, shannon-coder-1
top_p Nucleus-steekproefneming. Gehuisveste oopgewig-modelle
seed 'n Vaste saad vir steekproefneming. Gehuisveste oopgewig-modelle
stop Tot 4 stopreekse. Gehuisveste oopgewig-modelle
reasoning_effort Hoeveel die model redeneer voordat dit antwoord. reasoning.effort op Responses, thinking op Messages. Gehuisveste oopgewig-modelle
web_search true laat die model die web vir hierdie versoek deursoek. 'n Veld van hierdie API, op Chat Completions en Messages. Shannon-modelle behalwe shannon-coder-1
max_tokens Die uitvoerbegroting. Op elke model stel dit die bedrag wat van jou balans gereserveer word. As die perk op die lengte van die antwoord: gehuisveste oopgewig-modelle, shannon-1.6-*, shannon-coder-1

Chat Completions

As jy van 'n OpenAI-SDK af kom

  • Stel die basis-URL op https://api.shannon-ai.com/v1 en die sleutel op jou Shannon-sleutel. Chat Completions- en Responses-oproepe werk dan met die SDK soos dit is.
  • model moet 'n Shannon-id wees. 'n Modelnaam van 'n ander verskaffer, soos gpt-4o, word met 400 en unknown model beantwoord.
  • Redenering kom in 'n veld van sy eie: reasoning_content langs content, in die boodskap en in die stroom-deltas.
  • 'n Stroom dra altyd usage in sy laaste chunk, saam met finish_reason.
  • 'n Gereedskapoproep in 'n stroom kom as een chunk met die volledige arguments-string aan.
  • 'n Antwoord het een keuse.
  • Paaie van die OpenAI API wat nie in die tabel hierbo is nie, soos /v1/embeddings, word met 404 beantwoord.

As jy van 'n Anthropic-SDK af kom

  • Stel die basis-URL op https://api.shannon-ai.com, sonder /v1, en die sleutel op jou Shannon-sleutel. Die SDK stuur dit as x-api-key.
  • model moet 'n Shannon-id wees.
  • max_tokens is opsioneel op hierdie API. Die verstek is 4,096.
  • 'n Antwoord hou inhoudblokke van tipe thinking, text en tool_use. Die eerste blok is nie altyd die teks nie: kies blokke volgens type.
  • stop_reason is end_turn of tool_use. 'n Stroom van 'n Shannon-model kan ook met max_tokens eindig.
  • anthropic-version en anthropic-beta word aanvaar, so die SDK werk ongewysig. 'n Versoek het hulle nie nodig nie.
  • Foute op /v1/messages het die Anthropic-vorm: {"type": "error", "error": {…}}.

Koderingsgereedskap wat hierdie formate praat, word op dieselfde manier opgestel: basis-URL, sleutel, en 'n Shannon-id as die model. CLI-koderingsgereedskap