Tlola ho ea ho litaba
Qalo e potlakileng

Qalo e potlakileng

Etsa kopo ea pele: fumana senotlolo sa hau, romela molaetsa o le mong mme u bale karabo. API e bua mebopeho ea OpenAI le Anthropic, kahoo SDK eo u e sebelisang e sebetsa ka mor'a hore u fetole base URL le senotlolo sa eona.

1. Fumana senotlolo sa hau

Akhaonte e 'ngoe le e 'ngoe e na le senotlolo se le seng sa API. Kena, bula Keys & usage mme u se kopitse. Senotlolo se sebetsa ho endpoint e 'ngoe le e 'ngoe le model e 'ngoe le e 'ngoe. Keys & usage

2. Supa client ea hau ho API

Li-endpoint tsohle li ka tlase ho base URL e le 'ngoe. SDK ea OpenAI e e nka e na le /v1 qetellong; SDK ea Anthropic e e nka ntle le eona, hobane e ikentsetsa /v1/messages.

Client Base URL
Li-SDK tsa OpenAI le li-client tse lumellanang le OpenAI https://api.shannon-ai.com/v1
Li-SDK tsa Anthropic https://api.shannon-ai.com

Li-endpoint tse tharo li hlahisa mongolo. Li fihla ho li-model tse tšoanang; khetha eo sebopeho sa eona se seng se sebelisoang ke code ea hau.

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

3. Romela kopo ea pele

Romela molaetsa o le mong oa user ho shannon-3 ho endpoint ea Chat Completions. Nkela YOUR_API_KEY sebaka ka senotlolo sa hau.

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 Mofuta Default Tlhaloso
model string Id ea model e arabang. Li-id li thathamisitsoe ho Models & pricing.
messages array Moqoqo ho fihlela hajoale: lintho tse nang le role le content. Molaetsa oa ho qetela oa user ke prompt. E hlokahala.
max_tokens integer 4096 Output budget ea kopo, ho tloha ho 1 ho isa ho 65,536. Kopo e behela palo ena thoko ho balance ea hau mme e lefisoa seo e se sebelisitseng ka 'nete.
stream boolean false true e romela karabo sekhechana ka sekhechana ha e ntse e ngoloa.

Body ea kopo ke JSON mme e hloka header Content-Type: application/json. Lenane le felletseng la li-field le leqepheng la endpoint. Chat Completions

Karabo

Kopo e se nang stream e khutlisa ntho e le 'ngoe ea JSON ha karabo e phethahetse. Mengolo le linomoro tse ka tlase ke mehlala.

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 Mofuta Tlhaloso
id string chatcmpl- e latelwa ke litlhaku tse 32 tsa hexadecimal.
object string Kamehla ke chat.completion.
created integer Nako ea karabo ka metsotsoana ea Unix.
model string Id e phatlalalitsoeng ea model e arabileng, esita le ha u rometse alias kapa mongolo o mong.
choices array Kamehla entry e le 'ngoe, e nang le index 0.
choices[0].message.role string Kamehla ke assistant.
choices[0].message.content string | null Karabo. E ka ba null ha karabo e nka tool_calls.
choices[0].message.reasoning_content string | null Reasoning ea model pele ho karabo ea eona, kapa null ha ho e 'ngoe.
choices[0].message.tool_calls array E teng feela ha model e bitsa e 'ngoe ea lisebelisoa tseo u li phatlalalitseng.
choices[0].finish_reason string stop bakeng sa karabo, tool_calls ha model e bitsa tool.
usage.prompt_tokens integer Tokens tseo model e li balileng bakeng sa karabo ena. Ho shannon-2-* le lelapa la Shannon 3 sena se ka feta mongolo oo u o rometseng.
usage.completion_tokens integer Tokens tseo model e li ngotseng.
usage.total_tokens integer Kakaretso. Tefo ea model ea Shannon e baloa ho tloha palong ena.
  • usage e na le palo ea tokens, hase chelete. Seo kopo e se nkileng ho balance ea hau se bontšoa ka kopo ho Keys & usage; hore na se baloa joang ho leqepheng la Meeli le balance. Meeli le balance
  • Karabo e 'ngoe le e 'ngoe, esita le phoso le stream, e na le header x-request-id. Haeba kopo ea hau e na le header ea x-request-id, boleng ba eona bo khutla; ho seng joalo boleng ke litlhaku tse 12 tsa hexadecimal. E boloke ho li-log tsa hau: e reha kopo ena e le 'ngoe.

Kopo e tšoanang e le stream

Beha stream ho true ho bala karabo ha e ntse e ngoloa. Tsohle tse ling kopong li lula li tšoana.

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 e 'ngoe le e 'ngoe ea stream ke mohala o le mong o qalang ka data: mme o na le ntho ea JSON. Frame e le 'ngoe, e gatisitsoeng mela e mengata:

Frame e le 'ngoe
{
  "id": "chatcmpl-9b2f6c1e4a7d4f0f8a3c5d2e1b6a7c90",
  "object": "chat.completion.chunk",
  "created": 1791590400,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "delta": {
        "content": "Hello! "
      },
      "finish_reason": null
    }
  ]
}
Li-frame, ka tatellano delta finish_reason
Ha model e ntse e nahana. Li-frame tse ka bang zero kapa tse ngata. {"reasoning_content": "…"} null
Karabo, sekhechana ka sekhechana. Li-frame tse ka bang zero kapa tse ngata. {"content": "…"} null
Frame ea ho qetela ea JSON. E boetse e nka usage; ha u hloke ho e kopa. {} "stop"
Qetello ea stream: mohala oa data: [DONE].
  • Karabo e na le boemo ba 200 le content-type: text/event-stream. Frame e 'ngoe le e 'ngoe ke mohala data: <json> o latelwang ke mohala o se nang letho.
  • Mohala oa : ping o fihla ka mor'a metsotsoana e 15 e 'ngoe le e 'ngoe. Ke maikutlo a bulang connection; li-client tsa SSE lia o tlola.
  • Ho hloleha ka mor'a hore stream e bulehe ho fihla e le frame data: {"error": {…}}. Boemo bo lula bo le 200, kahoo hlahloba li-frame.

Phallela

Haeba kopo e hloleha

Phoso ke ntho ea JSON e nang le error e nang le type le message. Tsena ke likarabo tseo kopo ea pele hangata e kopanang le tsona.

Boemo Mofuta Molaetsa Seo se se bolelang
401 authentication_error Missing authentication Ha ho senotlolo se fihlileng ho API. Romela Authorization: Bearer e latelwang ke senotlolo sa hau.
401 authentication_error Invalid API key Senotlolo hase senotlolo sa hajoale sa akhaonte. Se kopitse hape ho tsoa Keys & usage.
400 invalid_request_error unknown model: <id> model hase id e phatlalalitsoeng. Sebelisa id ho tsoa Models & pricing.
422 invalid_request_error Failed to deserialize the JSON body into the target type… Field e na le mofuta o fosahetseng oa JSON, kapa messages ha e eo.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan Output budget ea kopo ha e kene ho balance ea hau.

Diphoso

Moo u ka yang teng ka mor'a moo

  • Li-model le litheko — Khetha model: li-id, context window le litheko.
  • Chat Completions — Field e 'ngoe le e 'ngoe ea kopo, field ea karabo le event ea stream ea endpoint eo u e bitsitseng.
  • Phallela — Li-frame tsa stream, mela ea keep-alive le liphoso ka hare ho stream.
  • Mekhosi ya mesebetsi — Lumella model hore e bitse li-function tsa hau.
  • Meeli le balance — Seo kopo e se behelang thoko le seo e se jang, le hore na u ka romela likopo tse kae.
  • API Playground — Leka likopo ka browser ka senotlolo sa hau.