Pereiti prie turinio
Apžvalga

Apžvalga

API žemėlapis: kiekvienas galinis taškas, kaip atrodo užklausa ir klaida, kaip mokama už kreipinius ir ką žinoti, kai ateinate iš OpenAI ar Anthropic SDK.

Galiniai taškai

Kiekvienas galinis taškas yra po vienu baziniu URL ir aptarnaujamas per HTTPS.

Bazinis URL
https://api.shannon-ai.com
Galutinis taškas Formatas Kam skirta
POST /v1/chat/completions OpenAI Chat Completions Siųskite pokalbį, gaukite kitą atsakymą. Su srautiniu perdavimu arba be jo.
POST /v1/messages Anthropic Messages Tas pats, Anthropic SDK užklausos ir atsakymo formomis.
POST /v1/responses OpenAI Responses Tas pats, Responses formomis. Galinis taškas būsenos nesaugo: pokalbį siųskite su kiekviena užklausa.
GET /v1/models OpenAI modelių sąrašas Modelių sąrašas su konteksto langu, kainomis ir galimybėmis. Rakto nereikia.
POST /v1/tokenize Shannon API Suskaičiuokite teksto arba pokalbio užklausos tokenus talpinamam atvirų svorių modeliui. Nemokama.
POST /v1/messages/count_tokens Anthropic tokenų skaičiavimas Suskaičiuokite Messages užklausos įvesties tokenus talpinamam atvirų svorių modeliui. Nemokama.

Trys tekstą kuriantys galiniai taškai pasiekia tuos pačius modelius. Rinkitės tą, kurio formatą jūsų kodas jau naudoja.

Užklausų pagrindai

Antraštė Aprašymas
Authorization: Bearer <key> Jūsų API raktas. Privalomas kiekviename galiniame taške, išskyrus GET /v1/models, nebent siunčiate x-api-key.
x-api-key: <key> Tas pats raktas antraštėje, kurią siunčia Anthropic SDK. Skaitoma kiekviename galiniame taške.
Content-Type: application/json Privaloma kiekvienam POST. Be jos atsakymas yra 415.
x-request-id: <your id> Neprivaloma. Jūsų paties užklausos id; jis grįžta atsakymo antraštėje x-request-id. Be jo API sukuria 12 šešioliktainių simbolių id.
  • Kiekvieno POST turinys yra vienas JSON objektas, iki 32 MiB.
  • Laukas, kurio API nežino, klaidos nesukelia ir neturi poveikio. Kitam tiekėjui parašyta užklausa dėl papildomo lauko nepavyksta.
  • Į žinomą lauką su netinkamu JSON tipu arba trūkstamą privalomą lauką atsakoma 422. Į turinį, kuris nėra tinkamas JSON, atsakoma 400.
  • model yra vienas iš puslapio Modeliai ir kainos id. Didžiosios ir mažosios raidės neturi reikšmės.

Atsakymas yra JSON arba serverio siunčiamų įvykių srautas, kai užklausoje stream nustatyta į true. Kiekvienas galinis taškas atsako savo formatu. Kiekvienas atsakymas turi antraštę x-request-id.

Ką užklausa praeina

Prieš paleidžiant modelį užklausa tikrinama nustatyta tvarka. Atsako pirmoji nepavykusi patikra, todėl 401 dar nieko nesako apie turinį.

Klaidos forma

Klaida yra JSON objektas su error, kuriame yra type ir message. /v1/messages jį apgaubia taip, kaip tikisi Anthropic SDK; visi kiti keliai naudoja OpenAI formą.

{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: gpt-4o"
  }
}
  • Skaitykite type ir message. code ir param yra tik kai kuriose klaidose: laikykite juos neprivalomais. param visada yra null.
  • Kai srautas jau prasidėjo, būsena jau yra 200. Tada nesėkmė ateina kaip klaidos kadras sraute.
  • Kiekviename klaidos atsakyme yra antraštė x-request-id.
Būsena Tipas Kada
400 invalid_request_error Turinys nėra tinkamas JSON, modelio id nežinomas arba modelis nepriima jūsų išsiųsto įvesties tipo.
401 authentication_error Rakto nėra arba jis netinkamas.
404 not_found_error Tokio kelio nėra.
405 api_error Kelias yra, metodas netinkamas.
413 invalid_request_error Turinys didesnis nei 32 MiB.
415 invalid_request_error Content-Type nėra application/json.
422 invalid_request_error Laukas turi netinkamą JSON tipą arba trūksta privalomo lauko.
429 rate_limit_error Balansas nepadengia užklausos, per minutę atvyko daugiau nei 120 užklausų, lango Shannon Coder kreipiniai išnaudoti arba modelis užimtas. Pranešime nurodoma, kuris atvejis.
5xx api_error Būsena 500, 502, 503 arba 504: užklausa buvo tinkama, bet atsakyti į ją nepavyko. Siųskite dar kartą. 500 gali turėti tipą server_error.

Klaidų tvarkymas

Apmokėjimas ir balansas

  • Kiekviena paskyra turi vieną balansą, kurį dalijasi pokalbis ir API: pirmiausia šiandienos plano limitas, paskui nupirktas kreditas. API savo kvotos neturi.
  • Užklausa rezervuoja savo išvesties biudžetą (max_tokens, numatytasis 4,096), o paskui apmokestinama už tikrai panaudotus tokenus pagal modelio kainą.
  • Kiekvienas atsakymas usage pateikia savo tokenų skaičių. Puslapyje Raktai ir naudojimas matyti balansas ir tai, kiek kainavo kiekviena užklausa.
  • Kiekviena užklausa aptarnaujama vienodai. Vienintelė užklausų dažnio riba yra apsauga nuo užplūdimo: 120 užklausų per minutę vienai paskyrai. Lygiagrečiai siunčiamos užklausos laukia eilėje.

Ribos ir balansas Modeliai ir kainos Raktai ir naudojimas

Laukai, priklausantys nuo modelio

Kiekvienas modelis priima tą pačią užklausą. Keli laukai veikia tik kai kuriuose modeliuose; lentelėje nurodyta, kuriuose. Visi laukai išvardyti galinių taškų puslapiuose.

Laukas Aprašymas Taiko
system Nurodymai modeliui: system pranešimas kelyje Chat Completions, system kelyje Messages, instructions kelyje Responses. Talpinami atvirų svorių modeliai, shannon-1.6-*, shannon-2-*, shannon-coder-1
temperature Atrankos temperatūra. Talpinami atvirų svorių modeliai, shannon-1.6-*, shannon-coder-1
top_p Branduolio atranka. Talpinami atvirų svorių modeliai
seed Fiksuota atrankos sėkla. Talpinami atvirų svorių modeliai
stop Iki 4 sustojimo sekų. Talpinami atvirų svorių modeliai
reasoning_effort Kiek modelis mąsto prieš atsakydamas. reasoning.effort kelyje Responses, thinking kelyje Messages. Talpinami atvirų svorių modeliai
web_search true leidžia modeliui šiai užklausai ieškoti internete. Šio API laukas, kelyje Chat Completions ir Messages. Shannon modeliai, išskyrus shannon-coder-1
max_tokens Išvesties biudžetas. Kiekviename modelyje jis nustato iš jūsų balanso rezervuojamą sumą. Kaip atsakymo ilgio riba: talpinami atvirų svorių modeliai, shannon-1.6-*, shannon-coder-1

Chat Completions

Jei ateinate iš OpenAI SDK

  • Bazinį URL nustatykite į https://api.shannon-ai.com/v1, o raktą – į savo Shannon raktą. Tada Chat Completions ir Responses kreipiniai su SDK veikia tokie, kokie yra.
  • model turi būti Shannon id. Kito tiekėjo modelio pavadinimas, pavyzdžiui, gpt-4o, atsakomas 400 ir unknown model.
  • Mąstymas ateina savo lauke: reasoning_content šalia content, pranešime ir srauto delta.
  • Srautas visada pateikia usage paskutiniame gabale, kartu su finish_reason.
  • Įrankio kreipinys sraute ateina vienu gabalu su visa arguments eilute.
  • Atsakyme yra vienas pasirinkimas.
  • OpenAI API keliai, kurių nėra aukščiau esančioje lentelėje, pavyzdžiui, /v1/embeddings, atsakomi 404.

Jei ateinate iš Anthropic SDK

  • Bazinį URL nustatykite į https://api.shannon-ai.com, be /v1, o raktą – į savo Shannon raktą. SDK siunčia jį kaip x-api-key.
  • model turi būti Shannon id.
  • max_tokens šiame API neprivalomas. Numatytoji reikšmė yra 4,096.
  • Atsakyme yra turinio blokų tipų thinking, text ir tool_use. Pirmasis blokas ne visada yra tekstas: blokus rinkitės pagal type.
  • stop_reason yra end_turn arba tool_use. Shannon modelio srautas gali baigtis ir su max_tokens.
  • anthropic-version ir anthropic-beta priimami, todėl SDK veikia nepakeistas. Užklausai jų nereikia.
  • Klaidos kelyje /v1/messages turi Anthropic formą: {"type": "error", "error": {…}}.

Programavimo įrankiai, kalbantys šiais formatais, nustatomi taip pat: bazinis URL, raktas ir Shannon id kaip modelis. CLI programavimo įrankiai