Тойм
API-ийн газрын зураг: endpoint бүр, хүсэлт ба алдаа ямар харагддаг, дуудлагын төлбөр хэрхэн төлөгддөг, мөн OpenAI эсвэл Anthropic SDK-аас ирэхэд юуг мэдэх вэ.
Endpoint-ууд
Endpoint бүр нэг үндсэн URL дор байх бөгөөд HTTPS-ээр үйлчилнэ.
https://api.shannon-ai.com | Endpoint | Формат | Юунд хэрэглэх |
|---|---|---|
POST /v1/chat/completions | OpenAI Chat Completions | Харилцан яриаг илгээж, дараагийн хариуг авна. Stream-тэй эсвэл stream-гүй. |
POST /v1/messages | Anthropic Messages | Ижил зүйл, Anthropic SDK-уудын хүсэлт ба хариуны хэлбэрээр. |
POST /v1/responses | OpenAI Responses | Ижил зүйл, Responses хэлбэрээр. Endpoint төлөв хадгалдаггүй: хүсэлт бүрт харилцан яриаг илгээнэ. |
GET /v1/models | OpenAI загварын жагсаалт | Загваруудыг контекст цонх, үнэ, чадвартай нь жагсаана. Түлхүүр шаардахгүй. |
POST /v1/tokenize | Shannon API | Hosted open-weight загварт зориулж текст эсвэл чат хүсэлтийн токеныг тоолно. Үнэгүй. |
POST /v1/messages/count_tokens | Anthropic токен тоолох | Hosted open-weight загварт зориулж Messages хүсэлтийн оролтын токеныг тоолно. Үнэгүй. |
Текст үүсгэдэг гурван endpoint ижил загваруудад хүрнэ. Таны код аль форматыг аль хэдийн ашигладаг бол түүнийг сонгоно уу.
Хүсэлтийн үндэс
| Header | Тайлбар |
|---|---|
Authorization: Bearer <key> | Таны API түлхүүр. x-api-key илгээхээс бусад тохиолдолд GET /v1/models-оос бусад endpoint бүрд шаардлагатай. |
x-api-key: <key> | Anthropic SDK-уудын илгээдэг header-ээр ижил түлхүүр. Endpoint бүр дээр уншигдана. |
Content-Type: application/json | POST бүрд шаардлагатай. Түүнгүй бол хариу 415. |
x-request-id: <your id> | Заавал биш. Хүсэлтийн таны өөрийн id; хариуны x-request-id header-т буцаж ирнэ. Түүнгүй бол API 12 арван зургаатын тэмдэгттэй id үүсгэнэ. |
POSTбүрийн body нь 32 MiB хүртэлх нэг JSON объект.- API-ийн мэдэхгүй талбар алдаа үүсгэхгүй, нөлөө ч үзүүлэхгүй. Өөр үйлчилгээ үзүүлэгчид зориулж бичсэн хүсэлт илүү талбараас болж амжилтгүй болохгүй.
- Мэдэгдэж буй талбар JSON төрөл буруу, эсвэл шаардлагатай талбар байхгүй бол
422-оор хариулна. Хүчинтэй JSON биш body-д400-аар хариулна. modelнь Models & pricing дээрх id-ийн нэг. Том, жижиг үсэг хамаагүй.
Хариу нь JSON, эсвэл хүсэлт stream-ийг true болгосон үед server-sent events stream. Endpoint бүр өөрийн форматаар хариулна. Хариу бүр x-request-id header-тэй.
Хүсэлт юуг давдаг
Загвар ажиллахаас өмнө хүсэлтийг тогтсон дарааллаар шалгана. Амжилтгүй болсон эхний шалгалт хариулах тул 401 нь body-ийн талаар одоохондоо юу ч хэлэхгүй.
| Шалгах, энэ дарааллаар | Амжилтгүй болсон үеийн статус |
|---|---|
| API түлхүүр | 401 |
| Body: хэмжээ, content type, JSON, талбарын төрөл | 413 · 415 · 400 · 422 |
| Загварын id | 400 |
| Flood protection: бүртгэл тутамд минутад 120 хүсэлт | 429 |
| Үлдэгдэл: хүсэлтийн гаралтын төсөв багтах ёстой | 429 |
Алдааны бүтэц
Алдаа нь type ба message агуулсан error-тэй JSON объект. /v1/messages үүнийг Anthropic SDK-уудын хүлээдэг хэлбэрээр ороосон; бусад бүх зам OpenAI хэлбэрийг ашиглана.
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} {
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "unknown model: gpt-4o"
}
} typeбаmessage-ийг уншина уу.codeбаparamзарим алдаанд л байна: заавал биш гэж үзнэ.paramнь үргэлжnull.- Stream эхэлсний дараа статус аль хэдийн
200байна. Дараа нь гарсан алдаа stream доторх алдааны frame хэлбэрээр ирнэ. - Алдааны хариу бүр
x-request-idheader-тэй.
| Төлөв | Төрөл | Хэзээ |
|---|---|---|
400 | invalid_request_error | Body хүчинтэй JSON биш, загварын id үл мэдэгдэх, эсвэл загвар таны илгээсэн нэг төрлийн оролтыг авдаггүй. |
401 | authentication_error | Түлхүүр байхгүй эсвэл хүчинтэй биш. |
404 | not_found_error | Зам байхгүй. |
405 | api_error | Зам байгаа, method буруу. |
413 | invalid_request_error | Body 32 MiB-ээс том. |
415 | invalid_request_error | Content-Type нь application/json биш. |
422 | invalid_request_error | Талбар JSON төрөл буруу эсвэл шаардлагатай талбар байхгүй. |
429 | rate_limit_error | Үлдэгдэл хүсэлтийг хангахгүй, нэг минутад 120-оос олон хүсэлт ирсэн, цонхны Shannon Coder дуудлага дууссан, эсвэл загвар завгүй. Мессеж аль нь болохыг хэлнэ. |
5xx | api_error | Статус 500, 502, 503 эсвэл 504: хүсэлт хүчинтэй байсан боловч хариулж чадаагүй. Дахин илгээнэ үү. 500 нь server_error төрөлтэй байж болно. |
Төлбөр ба үлдэгдэл
- Бүртгэл бүрт нэг үлдэгдэл байх бөгөөд чат ба API хуваалцана: эхлээд өнөөдрийн төлөвлөгөөний эрх, дараа нь худалдаж авсан зээл. API-д өөрийн квот байхгүй.
- Хүсэлт гаралтын төсвөө (
max_tokens, үндсэн утга 4,096) нөөцөлж, дараа нь бодитоор ашигласан токеныг загварын үнээр тооцно. - Хариу бүр токены тоогоо
usage-д мэдээлнэ. Keys & usage хуудас үлдэгдэл ба хүсэлт бүрийн зардлыг харуулна. - Хүсэлт бүрт тэгш үйлчилнэ. Хүсэлтийн хурдны цорын ганц хязгаар нь flood protection: бүртгэл тутамд минутад 120 хүсэлт. Зэрэг илгээсэн хүсэлтүүд дараалалд хүлээнэ.
Хязгаар ба үлдэгдэл Загвар ба үнэ Түлхүүр ба хэрэглээ
Загвараас хамаарах талбарууд
Загвар бүр ижил хүсэлт авна. Цөөн талбар зарим загвар дээр л үйлчилнэ; хүснэгт хаана болохыг нэрлэнэ. Endpoint хуудсууд бүх талбарыг жагсаасан.
| Талбар | Тайлбар | Хэрэгжүүлэгч |
|---|---|---|
system | Загварт өгөх заавар: Chat Completions дээр system мессеж, Messages дээр system, Responses дээр instructions. | Hosted open-weight загварууд, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
temperature | Sampling temperature. | Hosted open-weight загварууд, shannon-1.6-*, shannon-coder-1 |
top_p | Nucleus sampling. | Hosted open-weight загварууд |
seed | Sampling-ийн тогтмол seed. | Hosted open-weight загварууд |
stop | 4 хүртэл зогсоох дараалал. | Hosted open-weight загварууд |
reasoning_effort | Загвар хариулахаасаа өмнө хэр их reasoning хийх. Responses дээр reasoning.effort, Messages дээр thinking. | Hosted open-weight загварууд |
web_search | true нь энэ хүсэлтэд загварт вэбээс хайхыг зөвшөөрнө. Chat Completions ба Messages дээрх энэ API-ийн өөрийн талбар. | shannon-coder-1-ээс бусад Shannon загварууд |
max_tokens | Гаралтын төсөв. Бүх загвар дээр үлдэгдлээс нөөцлөх хэмжээг тогтооно. | Хариултын уртын хязгаар болгон: hosted open-weight загварууд, shannon-1.6-*, shannon-coder-1 |
OpenAI SDK-аас ирж байгаа бол
- Үндсэн URL-ийг
https://api.shannon-ai.com/v1болгож, түлхүүрийг өөрийн Shannon түлхүүр болгоно уу. Дараа нь Chat Completions ба Responses дуудлага SDK-тай хэвээр нь ажиллана. modelнь Shannon id байх ёстой.gpt-4oзэрэг өөр үйлчилгээ үзүүлэгчийн загварын нэрэнд400баunknown model-оор хариулна.- Reasoning тусдаа талбарт ирнэ: мессеж болон stream delta-д
content-ийн хажуудreasoning_content. - Stream сүүлийн chunk-даа
finish_reason-ийн хамтusage-ийг үргэлж агуулна. - Stream дэх tool дуудлага бүрэн
argumentsstring-тэй нэг chunk болон ирнэ. - Хариу нэг choice агуулна.
- Дээрх хүснэгтэд байхгүй OpenAI API-ийн замууд, жишээлбэл
/v1/embeddings,404-өөр хариулна.
Anthropic SDK-аас ирж байгаа бол
- Үндсэн URL-ийг
/v1-гүйhttps://api.shannon-ai.comболгож, түлхүүрийг өөрийн Shannon түлхүүр болгоно уу. SDK үүнийгx-api-keyболгон илгээнэ. modelнь Shannon id байх ёстой.- Энэ API дээр
max_tokensзаавал биш. Үндсэн утга 4,096. - Хариу
thinking,text,tool_useтөрлийн content block агуулна. Эхний block нь үргэлж текст биш: block-уудыгtype-аар сонгоно уу. stop_reasonньend_turnэсвэлtool_use. Shannon загварын streammax_tokens-оор бас дуусч болно.anthropic-versionбаanthropic-beta-г хүлээн авдаг тул SDK өөрчлөлтгүй ажиллана. Хүсэлтэд тэдгээр шаардлагагүй./v1/messagesдээрх алдаа Anthropic хэлбэртэй:{"type": "error", "error": {…}}.
Эдгээр форматаар ажилладаг coding хэрэгслүүдийг адилхан тохируулна: үндсэн URL, түлхүүр, загвар болгон Shannon id. CLI кодчилолын хэрэгслүүд