Dumphani kupita ku zomwe zili
Kuyamba mwachangu

Kuyamba mwachangu

Tumizani pempho loyamba: pezani kiyi yanu, tumizani message imodzi ndi kuwerenga yankho. API imalankhula mitundu ya OpenAI ndi Anthropic, choncho SDK yomwe mukugwiritsa ntchito kale imagwira ntchito mukasintha base URL ndi kiyi yake.

1. Pezani kiyi yanu

Akaunti iliyonse ili ndi API key imodzi. Lowani, tsegulani Keys & usage ndi kuikopera. Kiyi imagwira ntchito pa endpoint iliyonse ndi model iliyonse. Keys & usage

2. Lozani client yanu ku API

Ma endpoint onse ali pansi pa base URL imodzi. OpenAI SDK imailandira ndi /v1 kumapeto; Anthropic SDK imailandira popanda, chifukwa imawonjezera /v1/messages yokha.

Client Base URL
OpenAI SDK ndi ma client ogwirizana ndi OpenAI https://api.shannon-ai.com/v1
Anthropic SDK https://api.shannon-ai.com

Ma endpoint atatu amapanga text. Amafika ku ma model omwewo; sankhani yomwe mtundu wake code yanu imagwiritsa ntchito kale.

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

3. Tumizani pempho loyamba

Tumizani message imodzi ya user ku shannon-3 pa endpoint ya Chat Completions. Sinthani YOUR_API_KEY ndi kiyi yanu.

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 Mtundu Yokhazikika Kufotokozera
model string Id ya model yomwe imayankha. Ma id alembedwa pa Models & pricing.
messages array Zokambirana mpaka pano: ma object okhala ndi role ndi content. Message yomaliza ya user ndi prompt. Yofunika.
max_tokens integer 4096 Output budget ya pempho, kuyambira 1 mpaka 65,536. Pempho limasunga kuchuluka kumeneku pa balance yanu ndipo limaperekedwa mtengo wa zomwe lagwiritsa ntchito kwenikweni.
stream boolean false true imatumiza yankho chigawo ndi chigawo pamene likulembedwa.

Body ya pempho ndi JSON ndipo imafuna header Content-Type: application/json. Mndandanda wonse wa ma field uli patsamba la endpoint. Chat Completions

Yankho

Call yopanda stream imabweza JSON object imodzi yankho likatha. Ma text ndi manambala omwe ali pansipa ndi zitsanzo.

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 Mtundu Kufotokozera
id string chatcmpl- yotsatiridwa ndi zilembo 32 za hexadecimal.
object string Nthawi zonse chat.completion.
created integer Nthawi ya yankho mu masekondi a Unix.
model string Id yofalitsidwa ya model yomwe yayankha, ngakhale mutatumiza alias kapena kalembedwe kena.
choices array Nthawi zonse entry imodzi, ndi index 0.
choices[0].message.role string Nthawi zonse assistant.
choices[0].message.content string | null Yankho. Likhoza kukhala null pamene yankho lili ndi tool_calls.
choices[0].message.reasoning_content string | null Reasoning ya model isanayankhe, kapena null ngati palibe.
choices[0].message.tool_calls array Imakhalapo pokhapokha model ikayitana imodzi mwa ma tool omwe mwalengeza.
choices[0].finish_reason string stop pa yankho, tool_calls pamene model iyitana tool.
usage.prompt_tokens integer Ma token omwe model yawerenga pa yankho ili. Pa shannon-2-* ndi banja la Shannon 3 izi zikhoza kukhala zoposa text yomwe mwatumiza.
usage.completion_tokens integer Ma token omwe model yalemba.
usage.total_tokens integer Chiwerengero chonse. Mtengo wa model ya Shannon umawerengedwa kuchokera ku nambala iyi.
  • usage ili ndi chiwerengero cha ma token, osati ndalama. Zomwe call yatenga pa balance yanu zimaonetsedwa pa pempho lililonse pa Keys & usage; momwe zimawerengedwera zili pa Malire ndi balance. Malire ndi balance
  • Yankho lililonse, ngakhale cholakwika ndi stream, lili ndi header ya x-request-id. Ngati pempho lanu lili ndi header ya x-request-id, mtengo wake umabwerera; apo ayi mtengo ndi zilembo 12 za hexadecimal. Usungeni mu ma log anu: umatchula pempho limodzi limeneli.

Call yomweyo ngati stream

Khazikitsani stream kukhala true kuti muwerenge yankho pamene likulembedwa. Zina zonse mu pempho zimakhala chimodzimodzi.

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 iliyonse ya stream ndi mzere umodzi woyambira ndi data: wokhala ndi JSON object. Frame imodzi, yosindikizidwa pa mizere ingapo:

Frame imodzi
{
  "id": "chatcmpl-9b2f6c1e4a7d4f0f8a3c5d2e1b6a7c90",
  "object": "chat.completion.chunk",
  "created": 1791590400,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "delta": {
        "content": "Hello! "
      },
      "finish_reason": null
    }
  ]
}
Ma frame, motsatira delta finish_reason
Pamene model ikuganiza. Frame zero kapena zingapo. {"reasoning_content": "…"} null
Yankho, chigawo ndi chigawo. Frame zero kapena zingapo. {"content": "…"} null
Frame yomaliza ya JSON. Imanyamulanso usage; simuyenera kuipempha. {} "stop"
Mapeto a stream: mzere data: [DONE].
  • Yankho lili ndi status 200 ndi content-type: text/event-stream. Frame iliyonse ndi mzere data: <json> wotsatiridwa ndi mzere wopanda kanthu.
  • Mzere : ping umafika masekondi 15 aliwonse. Ndi comment yosunga connection yotsegula; ma SSE client amaudumpha.
  • Cholakwika chomwe chachitika stream itatsegulidwa chimafika ngati frame data: {"error": {…}}. Status imakhalabe 200, choncho yang'anani ma frame.

Kutsitsa nthawi yeniyeni

Call ikalephera

Cholakwika ndi JSON object yokhala ndi error yomwe ili ndi type ndi message. Awa ndi mayankho omwe call yoyamba imakumana nawo kawirikawiri.

Status Mtundu Message Tanthauzo lake
401 authentication_error Missing authentication Palibe kiyi yomwe yafika ku API. Tumizani Authorization: Bearer yotsatiridwa ndi kiyi yanu.
401 authentication_error Invalid API key Kiyi si kiyi yamakono ya akaunti. Koperaninso kuchokera ku Keys & usage.
400 invalid_request_error unknown model: <id> model si id yofalitsidwa. Gwiritsani id yochokera ku Models & pricing.
422 invalid_request_error Failed to deserialize the JSON body into the target type… Field ili ndi JSON type yolakwika, kapena messages ikusowa.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan Output budget ya pempho siikwana mu balance yanu.

Zolakwika

Kopitirira kuti