Pārskats
API karte: katrs galapunkts, kā izskatās pieprasījums un kļūda, kā tiek apmaksāti izsaukumi un kas jāzina, ja nākat no OpenAI vai Anthropic SDK.
Galapunkti
Katrs galapunkts atrodas zem viena bāzes URL un tiek apkalpots pa HTTPS.
https://api.shannon-ai.com | Endpoints | Formāts | Kam tas paredzēts |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | Nosūtiet sarunu, saņemiet nākamo atbildi. Ar straumēšanu vai bez tās. |
POST /v1/messages | Anthropic Messages | Tas pats, Anthropic SDK pieprasījumu un atbilžu formās. |
POST /v1/responses | OpenAI Responses | Tas pats, Responses formās. Galapunkts nesaglabā stāvokli: sūtiet sarunu ar katru pieprasījumu. |
GET /v1/models | OpenAI modeļu saraksts | Uzskaita modeļus ar konteksta logu, cenām un iespējām. Atslēga nav vajadzīga. |
POST /v1/tokenize | Shannon API | Saskaita teksta vai čata pieprasījuma tokenus hostētam atvērto svaru modelim. Bez maksas. |
POST /v1/messages/count_tokens | Anthropic tokenu skaits | Saskaita Messages pieprasījuma ievades tokenus hostētam atvērto svaru modelim. Bez maksas. |
Trīs galapunkti, kas veido tekstu, sasniedz tos pašus modeļus. Izvēlieties to, kura formātu jūsu kods jau izmanto.
Pieprasījumu pamati
| Galvene | Apraksts |
|---|---|
Authorization: Bearer <key> | Jūsu API atslēga. Obligāta katrā galapunktā, izņemot GET /v1/models, ja vien nesūtāt x-api-key. |
x-api-key: <key> | Tā pati atslēga galvenē, ko sūta Anthropic SDK. Tiek lasīta katrā galapunktā. |
Content-Type: application/json | Obligāta katram POST. Bez tās atbilde ir 415. |
x-request-id: <your id> | Neobligāta. Jūsu pašu pieprasījuma id; tas atgriežas atbildes galvenē x-request-id. Bez tā API izveido id no 12 heksadecimālām rakstzīmēm. |
- Katra
POSTpamatteksts ir viens JSON objekts, līdz 32 MiB. - Lauks, ko API nepazīst, neizraisa kļūdu un neko neietekmē. Pieprasījums, kas rakstīts citam pakalpojumu sniedzējam, neizgāžas lieka lauka dēļ.
- Uz zināmu lauku ar nepareizu JSON tipu vai trūkstošu obligātu lauku atbild ar
422. Uz pamattekstu, kas nav derīgs JSON, atbild ar400. modelir viens no id lapā Modeļi un cenas. Lielie un mazie burti nav svarīgi.
Atbilde ir JSON vai servera sūtīto notikumu straume, ja pieprasījums iestata stream uz true. Katrs galapunkts atbild savā formātā. Katrai atbildei ir galvene x-request-id.
Ko pieprasījums iziet
Pirms modeļa darbības pieprasījums tiek pārbaudīts noteiktā secībā. Atbild pirmā pārbaude, kas neizdodas, tāpēc 401 vēl neko nestāsta par pamattekstu.
| Pārbauda šādā secībā | Statuss, ja neizdodas |
|---|---|
| API atslēga | 401 |
| Pamatteksts: izmērs, satura tips, JSON, lauku tipi | 413 · 415 · 400 · 422 |
| Modeļa id | 400 |
| Flood protection: 120 pieprasījumi minūtē uz kontu | 429 |
| Atlikums: pieprasījuma izvades budžetam jāietilpst | 429 |
Kļūdas forma
Kļūda ir JSON objekts ar error, kas satur type un message. /v1/messages to ietin tā, kā to gaida Anthropic SDK; visi pārējie ceļi izmanto OpenAI formu.
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} {
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} - Lasiet
typeunmessage.codeunparamir tikai dažām kļūdām: uzskatiet tos par neobligātiem.paramvienmēr irnull. - Pēc straumes sākuma statuss jau ir
200. Tad kļūme ierodas kā kļūdas kadrs straumes iekšienē. - Katra kļūdas atbilde nes galveni
x-request-id.
| Statuss | Veids | Kad |
|---|---|---|
400 | invalid_request_error | Pamatteksts nav derīgs JSON, modeļa id nav zināms vai modelis nepieņem jūsu nosūtīto ievades veidu. |
401 | authentication_error | Atslēgas nav vai tā nav derīga. |
404 | not_found_error | Ceļa nav. |
405 | api_error | Ceļš pastāv, metode ir nepareiza. |
413 | invalid_request_error | Pamatteksts ir lielāks par 32 MiB. |
415 | invalid_request_error | Content-Type nav application/json. |
422 | invalid_request_error | Laukam ir nepareizs JSON tips vai trūkst obligāta lauka. |
429 | rate_limit_error | Atlikums nesedz pieprasījumu, minūtē ieradās vairāk nekā 120 pieprasījumu, loga Shannon Coder izsaukumi ir izmantoti vai modelis ir aizņemts. Ziņojums norāda, kurš no gadījumiem. |
5xx | api_error | Statuss 500, 502, 503 vai 504: pieprasījums bija derīgs, bet uz to nevarēja atbildēt. Nosūtiet to vēlreiz. 500 var nest tipu server_error. |
Apstrāde un atlikums
- Katram kontam ir viens atlikums, ko dala čats un API: vispirms šīs dienas plāna kvota, tad iegādātais kredīts. API nav savas kvotas.
- Pieprasījums rezervē savu izvades budžetu (
max_tokens, noklusējums 4,096) un pēc tam tiek rēķināts par tokeniem, ko tas patiešām izmantoja, par modeļa cenu. - Katra atbilde ziņo savu tokenu skaitu laukā
usage. Lapa Atslēgas un izmantošana rāda atlikumu un to, cik maksāja katrs pieprasījums. - Katrs pieprasījums tiek apkalpots vienlīdz. Vienīgais pieprasījumu biežuma ierobežojums ir flood protection: 120 pieprasījumi minūtē uz kontu. Paralēli sūtīti pieprasījumi gaida rindā.
Ierobežojumi un atlikums Modeļi un cenas Atslēgas un izmantošana
Lauki, kas atkarīgi no modeļa
Katrs modelis pieņem to pašu pieprasījumu. Daži lauki darbojas tikai dažiem modeļiem; tabula norāda, kuriem. Galapunktu lapas uzskaita katru lauku.
| Lauks | Apraksts | Piemēro |
|---|---|---|
system | Norādījumi modelim: ziņojums system galapunktā Chat Completions, system galapunktā Messages, instructions galapunktā Responses. | Hostētie atvērto svaru modeļi, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | Paraugu ņemšanas temperatūra. | Hostētie atvērto svaru modeļi, shannon-1.6-*, shannon-coder-1 |
top_p | Nucleus paraugu ņemšana. | Hostētie atvērto svaru modeļi |
seed | Fiksēts sēklas skaitlis paraugu ņemšanai. | Hostētie atvērto svaru modeļi |
stop | Līdz 4 apturēšanas secībām. | Hostētie atvērto svaru modeļi |
reasoning_effort | Cik daudz modelis spriež pirms atbildes. reasoning.effort galapunktā Responses, thinking galapunktā Messages. | Hostētie atvērto svaru modeļi |
web_search | true ļauj modelim šim pieprasījumam meklēt tīmeklī. Šī API lauks galapunktos Chat Completions un Messages. | Shannon modeļi, izņemot shannon-coder-1 |
max_tokens | Izvades budžets. Katram modelim tas nosaka no atlikuma rezervēto summu. | Kā atbildes garuma ierobežojums: hostētie atvērto svaru modeļi, shannon-1.6-*, shannon-coder-1 |
Ja nākat no OpenAI SDK
- Iestatiet bāzes URL uz
https://api.shannon-ai.com/v1un atslēgu uz savu Shannon atslēgu. Tad Chat Completions un Responses izsaukumi darbojas ar SDK tādu, kāds tas ir. modeljābūt Shannon id. Uz cita pakalpojumu sniedzēja modeļa nosaukumu, piemēram,gpt-4o, atbild ar400ununknown model.- Spriešana nāk atsevišķā laukā:
reasoning_contentblakuscontent, ziņojumā un straumes delta. - Straume savā pēdējā daļā vienmēr nes
usagekopā arfinish_reason. - Rīka izsaukums straumē ierodas kā viena daļa ar pilnu
argumentsvirkni. - Atbildē ir viena izvēle.
- Uz OpenAI API ceļiem, kas nav augstāk esošajā tabulā, piemēram,
/v1/embeddings, atbild ar404.
Ja nākat no Anthropic SDK
- Iestatiet bāzes URL uz
https://api.shannon-ai.com, bez/v1, un atslēgu uz savu Shannon atslēgu. SDK to sūta kāx-api-key. modeljābūt Shannon id.max_tokensšajā API nav obligāts. Tā noklusējums ir 4,096.- Atbilde satur satura blokus ar tipu
thinking,textuntool_use. Pirmais bloks ne vienmēr ir teksts: izvēlieties blokus pēctype. stop_reasonirend_turnvaitool_use. Shannon modeļa straume var beigties arī armax_tokens.anthropic-versionunanthropic-betatiek pieņemti, tāpēc SDK darbojas bez izmaiņām. Pieprasījumam tie nav vajadzīgi.- Kļūdām galapunktā
/v1/messagesir Anthropic forma:{"type": "error", "error": {…}}.
Kodēšanas rīki, kas runā šajos formātos, tiek iestatīti tāpat: bāzes URL, atslēga un Shannon id kā modelis. CLI kodēšanas rīki