Preskoči na vsebino
Pregled

Pregled

Zemljevid API-ja: vsaka končna točka, kako izgledata zahtevek in napaka, kako se klici plačujejo in kaj je treba vedeti, če prihajate iz SDK-ja OpenAI ali Anthropic.

Končne točke

Vsaka končna točka je pod enim osnovnim URL-jem in se streže prek HTTPS.

Osnovni URL
https://api.shannon-ai.com
Končni točka (Endpoint) Format Za kaj je
POST /v1/chat/completions OpenAI Chat Completions Pošljite pogovor, prejmite naslednji odgovor. S pretakanjem ali brez.
POST /v1/messages Anthropic Messages Isto, v oblikah zahtevka in odgovora SDK-jev Anthropic.
POST /v1/responses OpenAI Responses Isto, v oblikah Responses. Končna točka ne hrani stanja: z vsakim zahtevkom pošljite pogovor.
GET /v1/models Seznam modelov OpenAI Navede modele s kontekstnim oknom, cenami in zmožnostmi. Ključa ne potrebuje.
POST /v1/tokenize Shannon API Preštejte tokene besedila ali zahtevka za klepet za gostovani model z odprtimi utežmi. Brezplačno.
POST /v1/messages/count_tokens Štetje tokenov Anthropic Preštejte vhodne tokene zahtevka Messages za gostovani model z odprtimi utežmi. Brezplačno.

Tri končne točke, ki ustvarjajo besedilo, dosegajo iste modele. Izberite tisto, katere format koda že uporablja.

Osnove zahtevkov

Glava Opis
Authorization: Bearer <key> Vaš API ključ. Obvezen na vsaki končni točki razen GET /v1/models, razen če pošljete x-api-key.
x-api-key: <key> Isti ključ v glavi, ki jo pošiljajo SDK-ji Anthropic. Prebere se na vsaki končni točki.
Content-Type: application/json Obvezno pri vsakem POST. Brez nje je odgovor 415.
x-request-id: <your id> Neobvezno. Vaš lasten id zahtevka; vrne se v glavi odgovora x-request-id. Brez njega ga API ustvari sam, dolg 12 šestnajstiških znakov.
  • Telo vsakega POST je en objekt JSON, velik do 32 MiB.
  • Polje, ki ga API ne pozna, ne povzroči napake in nima učinka. Zahtevek, napisan za drugega ponudnika, zaradi dodatnega polja ne odpove.
  • Na znano polje z napačnim tipom JSON ali manjkajoče obvezno polje se odgovori z 422. Na telo, ki ni veljaven JSON, se odgovori z 400.
  • model je eden od id na strani Models & pricing. Velike in male črke niso pomembne.

Odgovor je JSON ali tok dogodkov, ki jih pošilja strežnik (server-sent events), kadar zahtevek nastavi stream na true. Vsaka končna točka odgovarja v svojem formatu. Vsak odgovor ima glavo x-request-id.

Kaj zahtevek mora prestati

Zahtevek se pred zagonom modela preveri v stalnem vrstnem redu. Odgovori prvo preverjanje, ki ne uspe, zato vam 401 o telesu še ne pove ničesar.

Oblika napake

Napaka je objekt JSON z error, ki vsebuje type in message. /v1/messages ga ovije tako, kot ga pričakujejo SDK-ji Anthropic; vsaka druga pot uporablja obliko OpenAI.

{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: gpt-4o"
  }
}
  • Preberite type in message. code in param sta prisotna samo pri nekaterih napakah: obravnavajte ju kot neobvezna. param je vedno null.
  • Ko se tok začne, je status že 200. Napaka nato prispe kot okvir napake znotraj toka.
  • Vsak odgovor z napako vsebuje glavo x-request-id.
Stanje Vrsta Kdaj
400 invalid_request_error Telo ni veljaven JSON, id modela je neznan ali model ne sprejema vrste vhoda, ki ste jo poslali.
401 authentication_error Ključ manjka ali ni veljaven.
404 not_found_error Pot ne obstaja.
405 api_error Pot obstaja, metoda je napačna.
413 invalid_request_error Telo je večje od 32 MiB.
415 invalid_request_error Content-Type ni application/json.
422 invalid_request_error Polje ima napačen tip JSON ali manjka obvezno polje.
429 rate_limit_error Stanje ne pokrije zahtevka, v minuti je prispelo več kot 120 zahtevkov, klici Shannon Coder v oknu so porabljeni ali pa je model zaseden. Sporočilo pove, kaj od tega.
5xx api_error Status 500, 502, 503 ali 504: zahtevek je bil veljaven, vendar nanj ni bilo mogoče odgovoriti. Pošljite ga znova. 500 lahko nosi tip server_error.

Obravnava napak

Obračun in stanje

  • Na račun je eno stanje, klepet in API pa ga delita: najprej današnja dnevna kvota paketa, nato kupljeni kredit. API nima lastne kvote.
  • Zahtevek rezervira svoj izhodni proračun (max_tokens, privzeto 4,096) in mu je nato obračunano toliko tokenov, kolikor jih je res porabil, po ceni modela.
  • Vsak odgovor v usage sporoča števila tokenov. Stran Ključi in poraba prikazuje stanje in strošek vsakega zahtevka.
  • Vsak zahtevek se obravnava enako. Edina omejitev hitrosti zahtevkov je zaščita pred poplavo: 120 zahtevkov na minuto na račun. Zahtevki, poslani vzporedno, čakajo v vrsti.

Omejitve in stanje Modeli in cene Ključi in poraba

Polja, ki so odvisna od modela

Vsak model sprejme isti zahtevek. Nekaj polj učinkuje samo pri nekaterih modelih; tabela navaja, pri katerih. Strani s končnimi točkami navajajo vsa polja.

Polje Opis Uporabljajo
system Navodila za model: sporočilo system pri Chat Completions, system pri Messages, instructions pri Responses. Gostovani modeli z odprtimi utežmi, shannon-1.6-*, shannon-2-*, shannon-coder-1
temperature Temperatura vzorčenja. Gostovani modeli z odprtimi utežmi, shannon-1.6-*, shannon-coder-1
top_p Jedrno vzorčenje (nucleus sampling). Gostovani modeli z odprtimi utežmi
seed Stalno seme za vzorčenje. Gostovani modeli z odprtimi utežmi
stop Do 4 zaporedja za ustavitev. Gostovani modeli z odprtimi utežmi
reasoning_effort Koliko model razmišlja, preden odgovori. reasoning.effort pri Responses, thinking pri Messages. Gostovani modeli z odprtimi utežmi
web_search true modelu dovoli iskanje po spletu za ta zahtevek. Polje tega API-ja, pri Chat Completions in Messages. Modeli Shannon razen shannon-coder-1
max_tokens Izhodni proračun. Pri vsakem modelu določa znesek, rezerviran z vašega stanja. Kot omejitev dolžine odgovora: gostovani modeli z odprtimi utežmi, shannon-1.6-*, shannon-coder-1

Chat Completions

Če prihajate iz SDK-ja OpenAI

  • Osnovni URL nastavite na https://api.shannon-ai.com/v1, ključ pa na svoj ključ Shannon. Klici Chat Completions in Responses nato z SDK delujejo takoj.
  • model mora biti id Shannon. Na ime modela drugega ponudnika, na primer gpt-4o, se odgovori z 400 in unknown model.
  • Razmišljanje pride v lastnem polju: reasoning_content ob content, v sporočilu in v delta kosih toka.
  • Tok vedno nosi usage v zadnjem kosu, skupaj s finish_reason.
  • Klic orodja v toku prispe kot en kos s popolnim nizom arguments.
  • Odgovor ima eno izbiro (choice).
  • Na poti API-ja OpenAI, ki jih ni v zgornji tabeli, na primer /v1/embeddings, se odgovori z 404.

Če prihajate iz SDK-ja Anthropic

  • Osnovni URL nastavite na https://api.shannon-ai.com, brez /v1, ključ pa na svoj ključ Shannon. SDK ga pošlje kot x-api-key.
  • model mora biti id Shannon.
  • max_tokens je pri tem API-ju neobvezen. Privzeto je 4,096.
  • Odgovor vsebuje bloke vsebine tipov thinking, text in tool_use. Prvi blok ni vedno besedilo: bloke izbirajte po type.
  • stop_reason je end_turn ali tool_use. Tok modela Shannon se lahko konča tudi z max_tokens.
  • anthropic-version in anthropic-beta sta sprejeta, zato SDK deluje nespremenjen. Zahtevek ju ne potrebuje.
  • Napake na /v1/messages imajo obliko Anthropic: {"type": "error", "error": {…}}.

Orodja za programiranje, ki govorijo te formate, se nastavijo enako: osnovni URL, ključ in id Shannon kot model. Orodja CLI za programiranje