Mandrosoa any amin'ny votoaty
Fanombohana haingana

Fanombohana haingana

Manaova fangatahana voalohany: raiso ny key-nao, alefaso hafatra iray ary vakio ny valiny. Ny API dia miteny amin'ny endrika OpenAI sy Anthropic, ka mandeha ny SDK efa ampiasainao aorian'ny fanovana ny base URL sy ny key-ny.

1. Raiso ny key-nao

Ny kaonty rehetra dia manana API key iray. Midira, sokafy ny Keys & usage ary adikao izany. Mandeha amin'ny endpoint sy model rehetra ny key. Keys & usage

2. Atondrony any amin'ny API ny client-nao

Ny endpoint rehetra dia ao ambanin'ny base URL iray. Ny SDK OpenAI dia maka azy miaraka amin'ny /v1 any amin'ny farany; ny SDK Anthropic kosa maka azy tsy misy, satria izy ihany no manampy ny /v1/messages.

Client Base URL
SDK OpenAI sy client mifanaraka amin'ny OpenAI https://api.shannon-ai.com/v1
SDK Anthropic https://api.shannon-ai.com

Endpoint telo no mamokatra soratra. Mahazo model mitovy izy ireo; fidio izay endrika efa ampiasain'ny kaody-nao.

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

3. Mandefasa fangatahana voalohany

Alefaso hafatra user iray any amin'ny shannon-3 amin'ny endpoint Chat Completions. Soloy ny key-nao ny YOUR_API_KEY.

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)
Saha Karazana Default Famaritana
model string Ny id an'ny model mamaly. Voatanisa ao amin'ny Models & pricing ny id.
messages array Ny resaka hatramin'izao: object misy role sy content. Ny hafatra user farany no prompt. Ilaina.
max_tokens integer 4096 Ny budget output an'ny fangatahana, manomboka amin'ny 1 hatramin'ny 65,536. Ny fangatahana dia mitahiry io habetsaka io avy amin'ny balance-nao ary vidiana araka izay nampiasainy marina.
stream boolean false Ny true dia mandefa ny valiny ampahany isan-tsombiny rehefa soratana.

Ny body ny fangatahana dia JSON ary mila ny header Content-Type: application/json. Ny lisitra feno amin'ny saha dia ao amin'ny pejin'ny endpoint. Chat Completions

Ny valiny

Ny antso tsy misy stream dia mamerina object JSON iray rehefa vita ny valiny. Ohatra ny soratra sy isa etsy ambany.

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
  }
}
Saha Karazana Famaritana
id string chatcmpl- arahin'ny tarehintsoratra hexadecimal 32.
object string Foana chat.completion.
created integer Ny fotoanan'ny valiny amin'ny segondra Unix.
model string Ny id navoaka an'ny model namaly, na dia alias na fanoratana hafa aza no nalefanao.
choices array Foana iray ny entry, miaraka amin'ny index 0.
choices[0].message.role string Foana assistant.
choices[0].message.content string | null Ny valiny. Mety ho null rehefa mitondra tool_calls ny valiny.
choices[0].message.reasoning_content string | null Ny reasoning an'ny model alohan'ny valiny, na null raha tsy misy.
choices[0].message.tool_calls array Misy rehefa miantso tool iray amin'ireo nambaranao ny model ihany.
choices[0].finish_reason string stop ho an'ny valiny, tool_calls rehefa miantso tool ny model.
usage.prompt_tokens integer Ny token novakin'ny model ho an'io valiny io. Amin'ny shannon-2-* sy ny fianakavian'i Shannon 3 dia mety ho be kokoa noho ny soratra nalefanao.
usage.completion_tokens integer Ny token nosoratan'ny model.
usage.total_tokens integer Ny totaly. Ny vidin'ny model Shannon dia kajina avy amin'io isa io.
  • Ny usage dia misy isa token, fa tsy vola. Izay nalain'ny antso tamin'ny balance-nao dia aseho isaky ny fangatahana ao amin'ny Keys & usage; ny fomba fikajiana dia ao amin'ny Fetra sy balance. Fetra sy balance
  • Ny valiny rehetra, anisan'izany ny hadisoana sy ny stream, dia manana header x-request-id. Raha mitondra header x-request-id ny fangatahana-nao dia miverina ny sandany; raha tsy izany dia tarehintsoratra hexadecimal 12 ny sanda. Tehirizo ao amin'ny log-nao izany: manonona ity fangatahana tokana ity.

Ny antso mitovy ho stream

Apetraho ho true ny stream hamakiana ny valiny rehefa soratana. Ny sisa rehetra ao amin'ny fangatahana dia tsy miova.

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)

Ny frame tsirairay ao amin'ny stream dia andalana iray manomboka amin'ny data: ary misy object JSON. Frame iray, voasoratra amin'ny andalana maromaro:

Frame iray
{
  "id": "chatcmpl-9b2f6c1e4a7d4f0f8a3c5d2e1b6a7c90",
  "object": "chat.completion.chunk",
  "created": 1791590400,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "delta": {
        "content": "Hello! "
      },
      "finish_reason": null
    }
  ]
}
Frame, araka ny filaharana delta finish_reason
Raha mbola manao reasoning ny model. Frame aotra na maromaro. {"reasoning_content": "…"} null
Ny valiny, ampahany isan-tsombiny. Frame aotra na maromaro. {"content": "…"} null
Ny frame JSON farany. Mitondra usage koa izy; tsy mila angatahana. {} "stop"
Ny fiafaran'ny stream: ny andalana data: [DONE].
  • Ny valiny dia manana status 200 sy content-type: text/event-stream. Ny frame tsirairay dia andalana data: <json> arahin'ny andalana foana.
  • Ny andalana : ping dia tonga isaky ny 15 segondra. Fanamarihana izany izay mitazona misokatra ny fifandraisana; tsy raharahain'ny client SSE.
  • Ny tsy fahombiazana aorian'ny fisokafan'ny stream dia tonga ho frame data: {"error": {…}}. Mijanona 200 ny status, ka hamarino ny frame.

Fandefasana mivantana

Raha tsy mahomby ny antso

Ny hadisoana dia object JSON misy error mitazona type sy message. Ireto no valiny hita matetika amin'ny antso voalohany.

Status Karazana Hafatra Izay dikany
401 authentication_error Missing authentication Tsy tonga tany amin'ny API ny key. Alefaso ny Authorization: Bearer arahin'ny key-nao.
401 authentication_error Invalid API key Tsy key ankehitriny an'ny kaonty ny key. Adikao indray avy ao amin'ny Keys & usage.
400 invalid_request_error unknown model: <id> Tsy id navoaka ny model. Ampiasao id avy ao amin'ny Models & pricing.
422 invalid_request_error Failed to deserialize the JSON body into the target type… Diso ny karazana JSON an'ny saha iray, na tsy misy ny messages.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan Tsy mifanaraka amin'ny balance-nao ny budget output an'ny fangatahana.

Fitantanana hadisoana

Ho aiza avy eo

  • Model & vidiny — Misafidiana model: id, context window ary vidiny.
  • Chat Completions — Ny saha fangatahana rehetra, saha valiny ary stream event an'ny endpoint nantsoinao.
  • Fandefasana mivantana — Ny frame an'ny stream, andalana keep-alive ary hadisoana ao anaty stream.
  • Antso fiasa — Avelao hiantso ny function-nao ny model.
  • Fetra sy balance — Izay itahirizan'ny fangatahana sy ny vidiny, ary firy ny fangatahana azonao alefa.
  • API Playground — Andramo ao amin'ny browser miaraka amin'ny key-nao ny fangatahana.