Joan edukira
Ikuspegi orokorra

Ikuspegi orokorra

APIaren mapa: endpoint guztiak, eskaera eta errore baten itxura, deiak nola ordaintzen diren, eta zer jakin behar duzun OpenAI edo Anthropic SDK batetik zatozenean.

Endpoint-ak

Endpoint guztiak base URL bakar baten azpian daude eta HTTPS bidez zerbitzatzen dira.

Base URL-a
https://api.shannon-ai.com
Endpoint-a Formatua Zertarako den
POST /v1/chat/completions OpenAI Chat Completions Bidali elkarrizketa bat, jaso hurrengo erantzuna. Streamingarekin edo gabe.
POST /v1/messages Anthropic Messages Gauza bera, Anthropic SDK-en eskaera- eta erantzun-formetan.
POST /v1/responses OpenAI Responses Gauza bera, Responses formetan. Endpoint-ak ez du egoerarik gordetzen: bidali elkarrizketa eskaera guztiekin.
GET /v1/models OpenAI modelo-zerrenda Zerrendatu modeloak testuinguru-leiho, prezio eta gaitasunekin. Ez du gakorik behar.
POST /v1/tokenize Shannon API Kontatu testu baten edo txat-eskaera baten tokenak pisu irekiko modelo ostatatu baterako. Doakoa.
POST /v1/messages/count_tokens Anthropic token-kontaketa Kontatu Messages eskaera baten sarrera-tokenak pisu irekiko modelo ostatatu baterako. Doakoa.

Testua sortzen duten hiru endpoint-ek modelo berberetara iristen dira. Aukeratu zure kodeak jada erabiltzen duen formatukoa.

Eskaeren oinarriak

Goiburua Deskribapena
Authorization: Bearer <key> Zure API gakoa. Beharrezkoa endpoint guztietan GET /v1/models izan ezik, x-api-key bidaltzen ez baduzu.
x-api-key: <key> Gako bera Anthropic SDK-ek bidaltzen duten goiburuan. Endpoint guztietan irakurtzen da.
Content-Type: application/json Beharrezkoa POST guztietan. Gabe erantzuna 415 da.
x-request-id: <your id> Aukerakoa. Eskaerarentzako zure id propioa; x-request-id erantzun-goiburuan itzultzen da. Gabe, APIak 12 karaktere hexadezimaleko bat sortzen du.
  • Edozein POST-en gorputza JSON objektu bakar bat da, 32 MiB arte.
  • APIak ezagutzen ez duen eremu batek ez du errorerik eragiten eta ez du eraginik. Beste hornitzaile baterako idatzitako eskaerak ez du huts egiten eremu gehigarri batengatik.
  • JSON mota okerra duen eremu ezagun bati, edo beharrezko eremu falta bati, 422 erantzuten zaio. JSON baliodun ez den gorputz bati 400 erantzuten zaio.
  • model Modeloak eta prezioak orrialdeko id-etako bat da. Maiuskulek eta minuskulek ez dute axolarik.

Erantzuna JSON da, edo server-sent events stream bat eskaerak stream true gisa ezartzen duenean. Endpoint bakoitzak bere formatuan erantzuten du. Erantzun guztiek x-request-id goiburua dute.

Eskaera batek zer gainditzen duen

Eskaera bat ordena finko batean egiaztatzen da modeloa exekutatu aurretik. Huts egiten duen lehen egiaztapenak erantzuten du, beraz 401 batek ez dizu oraindik ezer esaten gorputzari buruz.

Errore-forma

Errore bat type eta message dituen error bat duen JSON objektu bat da. /v1/messages-ek Anthropic SDK-ek espero duten moduan biltzen du; beste bide guztiek OpenAI forma erabiltzen dute.

{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: gpt-4o"
  }
}
  • Irakurri type eta message. code eta param errore batzuetan bakarrik daude: hartu aukerakotzat. param beti null da.
  • Stream bat hasi ondoren egoera 200 da jada. Hutsegite bat orduan streamaren barruko errore-frame gisa iristen da.
  • Errore-erantzun guztiek x-request-id goiburua dute.
Egoera Mota Noiz
400 invalid_request_error Gorputza ez da JSON baliodun bat, modelo-id-a ezezaguna da, edo modeloak ez du bidali duzun sarrera-mota hartzen.
401 authentication_error Gakoa falta da edo ez da baliodun.
404 not_found_error Bidea ez dago.
405 api_error Bidea badago, metodoa okerra da.
413 invalid_request_error Gorputza 32 MiB baino handiagoa da.
415 invalid_request_error Content-Type ez da application/json.
422 invalid_request_error Eremu batek JSON mota okerra du edo beharrezko eremu bat falta da.
429 rate_limit_error Saldoak ez du eskaera estaltzen, minutu batean 120 eskaera baino gehiago iritsi dira, leihoko Shannon Coder deiak agortu dira, edo modeloa okupatuta dago. Mezuak zein den esaten du.
5xx api_error 500, 502, 503 edo 504 egoera: eskaera baliodun zen eta ezin izan da erantzun. Bidali berriro. 500 batek server_error mota izan dezake.

Errore‑kudeaketa

Fakturazioa eta saldoa

  • Kontu bakoitzeko saldo bakarra dago, eta txatak eta API-ak partekatzen dute: lehenik gaurko planaren kupoa, gero erositako kreditua. APIak ez du kupo propiorik.
  • Eskaera batek bere irteera-aurrekontua erreserbatzen du (max_tokens, lehenetsia 4,096) eta gero benetan erabilitako tokenengatik kobratzen da, modeloaren prezioan.
  • Erantzun bakoitzak bere token-kontaketak jakinarazten ditu usage-n. Gakoak eta erabilera orrialdeak saldoa eta eskaera bakoitzak zenbat kostatu duen erakusten du.
  • Eskaera guztiak berdin zerbitzatzen dira. Eskaera-tasaren gaineko muga bakarra flood protection da: minutuko 120 eskaera kontu bakoitzeko. Paraleloan bidalitako eskaerak ilaran itxaroten dute.

Mugak eta saldoa Modeloak eta prezioak Gakoak eta erabilera

Modeloaren araberako eremuak

Modelo guztiek eskaera bera hartzen dute. Eremu batzuek modelo batzuetan bakarrik dute eragina; taulak non adierazten du. Endpoint-orrialdeek eremu guztiak zerrendatzen dituzte.

Eremua Deskribapena Aplikatzen duena
system Modeloarentzako jarraibideak: system mezu bat Chat Completions-en, system Messages-en, instructions Responses-en. Pisu irekiko modelo ostatatuak, shannon-1.6-*, shannon-2-*, shannon-coder-1
temperature Laginketa-tenperatura. Pisu irekiko modelo ostatatuak, shannon-1.6-*, shannon-coder-1
top_p Nukleo-laginketa. Pisu irekiko modelo ostatatuak
seed Laginketarako hazi finko bat. Pisu irekiko modelo ostatatuak
stop 4 gelditze-sekuentzia arte. Pisu irekiko modelo ostatatuak
reasoning_effort Modeloak erantzun aurretik zenbat arrazoitzen duen. reasoning.effort Responses-en, thinking Messages-en. Pisu irekiko modelo ostatatuak
web_search true balioak modeloari eskaera honetarako weba bilatzen uzten dio. API honen eremu bat, Chat Completions eta Messages endpoint-etan. Shannon modeloak, shannon-coder-1 izan ezik
max_tokens Irteera-aurrekontua. Modelo guztietan zure saldotik erreserbatutako kopurua ezartzen du. Erantzunaren luzeraren muga gisa: pisu irekiko modelo ostatatuak, shannon-1.6-*, shannon-coder-1

Chat Completions

OpenAI SDK batetik zatoz

  • Ezarri base URL-a https://api.shannon-ai.com/v1 gisa eta gakoa zure Shannon gako gisa. Chat Completions eta Responses deiek orduan SDK-arekin funtzionatzen dute dagoen bezala.
  • model Shannon id bat izan behar da. Beste hornitzaile baten modelo-izen bati, adibidez gpt-4o, 400 eta unknown model erantzuten zaio.
  • Arrazonamendua eremu propio batean dator: reasoning_content content-en ondoan, mezuan eta stream-deltetan.
  • Stream batek beti usage darama azken chunk-ean, finish_reason-ekin batera.
  • Stream bateko tresna-dei bat chunk bakar gisa iristen da, arguments kate osoarekin.
  • Erantzun batek aukera bakarra du.
  • OpenAI APIaren goiko taulan ez dauden bideei, hala nola /v1/embeddings, 404 erantzuten zaie.

Anthropic SDK batetik zatoz

  • Ezarri base URL-a https://api.shannon-ai.com gisa, /v1 gabe, eta gakoa zure Shannon gako gisa. SDK-ak x-api-key gisa bidaltzen du.
  • model Shannon id bat izan behar da.
  • max_tokens aukerakoa da API honetan. Lehenetsia 4,096 da.
  • Erantzun batek thinking, text eta tool_use motako eduki-blokeak ditu. Lehen blokea ez da beti testua: aukeratu blokeak type bidez.
  • stop_reason end_turn edo tool_use da. Shannon modelo baten stream batek max_tokens-ekin ere amaitu daiteke.
  • anthropic-version eta anthropic-beta onartzen dira, SDK-a aldatu gabe funtzionatzeko. Eskaera batek ez ditu behar.
  • /v1/messages endpoint-eko erroreek Anthropic forma dute: {"type": "error", "error": {…}}.

Formatu hauekin hitz egiten duten programazio-tresnak modu berean konfiguratzen dira: base URL-a, gakoa eta Shannon id bat modelo gisa. Programatzeko CLI tresnak