Gafee gaa n'ọdịnaya
Mmalite ngwa ngwa

Mmalite ngwa ngwa

Mee request mbụ: nweta key gị, zipụ otu ozi ma gụọ azịza. API na-asụ formats OpenAI na Anthropic, ya mere SDK i jiri ugbu a na-arụ ọrụ mgbe ị gbanwere base URL na key ya.

1. Nweta key gị

Akaụntụ ọ bụla nwere otu API key. Banye, mepee Keys & usage ma kọpịa ya. Key na-arụ ọrụ na endpoint ọ bụla na model ọ bụla. Keys & usage

2. Duzie client gị gaa API

Endpoints niile dị n'okpuru otu base URL. OpenAI SDK na-anara ya na /v1 na njedebe; Anthropic SDK na-anara ya na-enweghị, n'ihi na ọ na-agbakwunye /v1/messages n'onwe ya.

Client Base URL
OpenAI SDKs na clients dakọtara na OpenAI https://api.shannon-ai.com/v1
Anthropic SDKs https://api.shannon-ai.com

Endpoints atọ na-emepụta text. Ha na-eru otu models; họrọ nke format ya koodu gị na-eji ugbu a.

Endpoint Format
POST /v1/chat/completions OpenAI Chat Completions
POST /v1/messages Anthropic Messages
POST /v1/responses OpenAI Responses

3. Zipụ request mbụ

Zipụ otu user message gaa shannon-3 na Chat Completions endpoint. Dochie YOUR_API_KEY na key gị.

POST https://api.shannon-ai.com/v1/chat/completions

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

response = client.chat.completions.create(
    model="shannon-3",
    messages=[
        {"role": "user", "content": "Hello, Shannon!"}
    ],
    max_tokens=1024
)

print(response.choices[0].message.content)
Field Ụdị Default Nkọwa
model string Id nke model na-aza. Ids dị na Models & pricing.
messages array Mkparịta ụka ruo ugbu a: objects nwere role na content. user message ikpeazụ bụ prompt. Achọrọ.
max_tokens integer 4096 Output budget nke request, site na 1 ruo 65,536. Request na-edebe ego a site na balance gị ma a na-akwụ ụgwọ maka ihe o jiri n'ezie.
stream boolean false true na-ezipu azịza otu akụkụ otu akụkụ ka a na-ede ya.

Request body bụ JSON ma chọọ header Content-Type: application/json. Ndepụta zuru ezu nke fields dị na peeji endpoint. Chat Completions

Azịza ahụ

Call na-enweghị stream na-eweghachi otu JSON object mgbe azịza zuru ezu. Ederede na ọnụọgụ dị n'okpuru bụ ihe atụ.

200 JSON
{
  "id": "chatcmpl-9b2f6c1e4a7d4f0f8a3c5d2e1b6a7c90",
  "object": "chat.completion",
  "created": 1791590400,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! What would you like to work on?",
        "reasoning_content": "A greeting. A short, friendly reply fits."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1386,
    "completion_tokens": 74,
    "total_tokens": 1460
  }
}
Field Ụdị Nkọwa
id string chatcmpl- sochiri mkpụrụedemede hexadecimal 32.
object string Mgbe niile chat.completion.
created integer Oge azịza na Unix seconds.
model string Id e bipụtara nke model zara, ọbụlagodi mgbe ị zipụrụ alias ma ọ bụ ụdị ederede ọzọ.
choices array Mgbe niile otu entry, nwere index 0.
choices[0].message.role string Mgbe niile assistant.
choices[0].message.content string | null Azịza ahụ. Ọ nwere ike ịbụ null mgbe azịza nwere tool_calls.
choices[0].message.reasoning_content string | null Reasoning nke model tupu azịza ya, ma ọ bụ null mgbe ọ nweghị.
choices[0].message.tool_calls array Dị naanị mgbe model na-akpọ otu n'tools i kwupụtara.
choices[0].finish_reason string stop maka azịza, tool_calls mgbe model na-akpọ tool.
usage.prompt_tokens integer Tokens model gụrụ maka azịza a. Na shannon-2-* na Shannon 3 family nke a nwere ike ịkarị text i zipụrụ.
usage.completion_tokens integer Tokens model dere.
usage.total_tokens integer Ngụkọta. A na-agbakọ ụgwọ nke Shannon model site na ọnụọgụ a.
  • usage nwere ọnụọgụ tokens, ọ bụghị ego. Ihe call wepụrụ na balance gị na-egosi kwa request na Keys & usage; otu esi agbakọ ya dị na Limits na balance. Limits na balance
  • Azịza ọ bụla, ma njehie ma stream, nwere header x-request-id. Ọ bụrụ na request gị nwere header x-request-id, uru ya na-alọghachi; ma ọ bụghị uru ahụ bụ mkpụrụedemede hexadecimal 12. Debe ya na logs gị: ọ na-akpọ aha otu request a.

Otu call ahụ dị ka stream

Tọọ stream na true iji gụọ azịza ka a na-ede ya. Ihe ọzọ niile dị na request na-anọgide otu.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

stream = client.chat.completions.create(
    model="shannon-3",
    messages=[
        {"role": "user", "content": "Hello, Shannon!"}
    ],
    max_tokens=1024,
    stream=True
)

for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Frame ọ bụla nke stream bụ otu ahịrị na-amalite na data: ma nwee JSON object. Otu frame, e bipụtara n'ahịrị dị iche iche:

Otu frame
{
  "id": "chatcmpl-9b2f6c1e4a7d4f0f8a3c5d2e1b6a7c90",
  "object": "chat.completion.chunk",
  "created": 1791590400,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "delta": {
        "content": "Hello! "
      },
      "finish_reason": null
    }
  ]
}
Frames, n'usoro delta finish_reason
Mgbe model na-eche echiche. Frames efu ma ọ bụ karịa. {"reasoning_content": "…"} null
Azịza ahụ, akụkụ site na akụkụ. Frames efu ma ọ bụ karịa. {"content": "…"} null
JSON frame ikpeazụ. Ọ na-ebukwa usage; ịchọghị ịrịọ ya. {} "stop"
Njedebe nke stream: ahịrị data: [DONE].
  • Azịza nwere status 200 na content-type: text/event-stream. Frame ọ bụla bụ ahịrị data: <json> sochiri ahịrị efu.
  • Ahịrị : ping na-abịa kwa sekọnd 15. Ọ bụ comment na-edebe njikọ mepere; SSE clients na-agafe ya.
  • Ọdịda mgbe stream meghere na-abịa dị ka frame data: {"error": {…}}. Status na-anọgide 200, ya mere lelee frames ahụ.

Nzipu ozugbo

Ọ bụrụ na call dara

Njehie bụ JSON object nwere error na-ejide type na message. Ndị a bụ azịza call mbụ na-ezukarị.

Status Ụdị Ozi Ihe ọ pụtara
401 authentication_error Missing authentication Enweghị key bịaruru API. Zipụ Authorization: Bearer sochiri key gị.
401 authentication_error Invalid API key Key abụghị key dị ugbu a nke akaụntụ. Kọpịa ya ọzọ site na Keys & usage.
400 invalid_request_error unknown model: <id> model abụghị id e bipụtara. Jiri id si na Models & pricing.
422 invalid_request_error Failed to deserialize the JSON body into the target type… Field nwere JSON type na-ezighi ezi, ma ọ bụ messages adịghị.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan Output budget nke request abaghị n'ime balance gị.

Njikwa njehie

Ebe ị ga-aga ọzọ

  • Models & ọnụahịa — Họrọ model: ids, context windows na ọnụahịa.
  • Chat Completions — Request field ọ bụla, reply field na stream event nke endpoint i kpọrọ.
  • Nzipu ozugbo — Frames nke stream, keep-alive lines na njehie n'ime stream.
  • Oku ọrụ — Hapụ model ka ọ kpọọ functions gị.
  • Limits na balance — Ihe request na-edebe na ihe ọ na-efu, na ole requests ị nwere ike izipu.
  • Ogige API — Nwaa requests na browser na key gị.