Simira kuzvirimo
Kutanga nekukurumidza

Kutanga nekukurumidza

Itai request yekutanga: tora key yako, tumira message imwe uye uverenge mhinduro. API inotaura OpenAI ne-Anthropic formats, saka SDK yauri kushandisa kare inoshanda mushure mekuchinja base URL ne-key yayo.

1. Tora key yako

Account imwe neimwe ine API key imwe. Pinda, vhura Keys & usage uye uikope. Key inoshanda pa-endpoint imwe neimwe nema-model ese. Keys & usage

2. Taridzira client yako ku-API

Ma-endpoint ese ari pasi pe-base URL imwe. OpenAI SDK inoitora ine /v1 kumagumo; Anthropic SDK inoitora isina, nekuti pachayo inowedzera /v1/messages.

Client Base URL
OpenAI SDKs ne-OpenAI-compatible clients https://api.shannon-ai.com/v1
Anthropic SDKs https://api.shannon-ai.com

Ma-endpoint matatu anogadzira text. Anosvika kuma-model akafanana; sarudza iro rine format yatoshandiswa ne-code yako.

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

3. Tumira request yekutanga

Tumira user message imwe ku-shannon-3 pa-Chat Completions endpoint. Tsiva YOUR_API_KEY ne-key yako.

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 Mhando Default Tsananguro
model string Id ye-model inopindura. Ma-id akanyorwa pa-Models & pricing.
messages array Hurukuro kusvika zvino: objects dzine role ne-content. user message yekupedzisira ndiyo prompt. Inodiwa.
max_tokens integer 4096 Output budget ye-request, kubva ku-1 kusvika ku-65,536. Request inochengeta huwandu uhwu kubva mu-balance yako uye inobhadharwa zvayakashandisa chaizvo.
stream boolean false true inotumira mhinduro chimedu nechimedu ichiri kunyorwa.

Request body i-JSON uye inoda header Content-Type: application/json. Rondedzero yakazara ye-fields iri papeji re-endpoint. Chat Completions

Mhinduro

Call isina stream inodzosa JSON object imwe kana mhinduro yapera. Ma-text nenhamba dziri pazasi i-mienzaniso.

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 Mhando Tsananguro
id string chatcmpl- inoteverwa ne-hexadecimal characters 32.
object string Inogara iri chat.completion.
created integer Nguva yemhinduro mumasekonzi e-Unix.
model string Published id ye-model yakapindura, kunyange kana wakatumira alias kana manyorerwo mamwe.
choices array Inogara iri entry imwe, ine index 0.
choices[0].message.role string Inogara iri assistant.
choices[0].message.content string | null Mhinduro. Inogona kuva null kana mhinduro ichitakura tool_calls.
choices[0].message.reasoning_content string | null Reasoning ye-model pamberi pemhinduro yayo, kana null kana isipo.
choices[0].message.tool_calls array Iripo chete kana model ichidanidzira imwe ye-tools dzawakaratidza.
choices[0].finish_reason string stop yemhinduro, tool_calls kana model ichidanidzira tool.
usage.prompt_tokens integer Tokens dzakaverengwa ne-model pamhinduro iyi. Pa-shannon-2-* nemhuri ye-Shannon 3 izvi zvinogona kuva zvakawanda kupfuura text yawatumira.
usage.completion_tokens integer Tokens dzakanyorwa ne-model.
usage.total_tokens integer Huwandu hwese. Mutengo we-Shannon model unoverengwa kubva panhamba iyi.
  • usage ine huwandu hwe-tokens, kwete mari. Zvakatorwa ne-call kubva mu-balance yako zvinoratidzwa pa-request imwe neimwe pa-Keys & usage; kuti zvinoverengwa sei kuri pa-Limits ne-balance. Limits ne-balance
  • Mhinduro imwe neimwe, kunyange error ne-stream, ine header x-request-id. Kana request yako ichitakura x-request-id header, value yayo inodzoka; kana kwete value i-hexadecimal characters 12. Ichengete mu-logs dzako: inotumidza request iyi imwe chete.

Call imwechete se-stream

Isa stream ku-true kuverenga mhinduro ichiri kunyorwa. Zvimwe zvese mu-request zvinoramba zvakadaro.

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 imwe neimwe ye-stream i-mutsara mumwe unotanga ne-data: uye une JSON object. Frame imwe, yakaprintwa pamitsara yakawanda:

Frame imwe
{
  "id": "chatcmpl-9b2f6c1e4a7d4f0f8a3c5d2e1b6a7c90",
  "object": "chat.completion.chunk",
  "created": 1791590400,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "delta": {
        "content": "Hello! "
      },
      "finish_reason": null
    }
  ]
}
Frames, nenhevedzano delta finish_reason
Apo model ichifunga. Zero kana ma-frame akawanda. {"reasoning_content": "…"} null
Mhinduro, chimedu nechimedu. Zero kana ma-frame akawanda. {"content": "…"} null
JSON frame yekupedzisira. Inotakurawo usage; hauna kufanira kuikumbira. {} "stop"
Kupera kwe-stream: mutsara data: [DONE].
  • Mhinduro ine status 200 ne-content-type: text/event-stream. Frame imwe neimwe i-mutsara data: <json> unoteverwa nemutsara usina chinhu.
  • Mutsara : ping unouya masekonzi 15 ega ega. Comment inochengeta connection yakavhurika; SSE clients dzinoisiya.
  • Kundikana mushure mekuti stream yavhurwa kunouya se-frame data: {"error": {…}}. Status inoramba iri 200, saka tarisa ma-frame.

Kuyerera

Kana call ikakundikana

Error i-JSON object ine error ine type ne-message. Idzi ndidzo mhinduro dzinosangana nadzo call yekutanga nguva dzakawanda.

Status Mhando Message Zvinorehwa
401 authentication_error Missing authentication Hapana key yakasvika ku-API. Tumira Authorization: Bearer inoteverwa ne-key yako.
401 authentication_error Invalid API key Key haisi key yazvino ye-account. Ikopere zvakare kubva ku-Keys & usage.
400 invalid_request_error unknown model: <id> model haisi published id. Shandisa id kubva ku-Models & pricing.
422 invalid_request_error Failed to deserialize the JSON body into the target type… Field ine JSON type isiriyo, kana messages haisipo.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan Output budget ye-request haikwani mu-balance yako.

Zvikanganiso

Kwekuenda zvinotevera

  • Ma-model nemitengo — Sarudza model: ids, context windows nemitengo.
  • Chat Completions — Request field imwe neimwe, reply field ne-stream event ye-endpoint yawadanidzira.
  • Kuyerera — Ma-frame e-stream, keep-alive lines ne-errors mukati me-stream.
  • Kudanwa kwemabasa — Siya model ichidanidzira functions dzako.
  • Limits ne-balance — Zvinochengetwa ne-request nemutengo wayo, uye ma-request mangani aungatumira.
  • API Playground — Edza ma-request mu-browser ne-key yako.