Fara í efni
Flýtiræsing

Flýtiræsing

Gerðu fyrstu beiðnina: fáðu lykilinn þinn, sendu ein skilaboð og lestu svarið. API talar OpenAI og Anthropic sniðin, svo SDK sem þú notar nú þegar virkar eftir að þú breytir base URL og lykli þess.

1. Fáðu lykilinn þinn

Hver reikningur hefur einn API-lykil. Skráðu þig inn, opnaðu Lyklar og notkun og afritaðu hann. Lykillinn virkar á öllum endapunktum og öllum líkönum. Lyklar og notkun

2. Beindu biðlaranum þínum að API

Allir endapunktar eru undir einu base URL. OpenAI SDK tekur það með /v1 í endann; Anthropic SDK tekur það án, því það bætir /v1/messages við sjálft.

Biðlari Base URL
OpenAI SDK og OpenAI-samhæfir biðlarar https://api.shannon-ai.com/v1
Anthropic SDK https://api.shannon-ai.com

Þrír endapunktar búa til texta. Þeir ná til sömu líkana; veldu þann sem kóðinn þinn notar þegar sniðið á.

Endapunktur Snið
POST /v1/chat/completions OpenAI Chat Completions
POST /v1/messages Anthropic Messages
POST /v1/responses OpenAI Responses

3. Sendu fyrstu beiðnina

Sendu ein user skilaboð til shannon-3 á Chat Completions endapunktinum. Skiptu YOUR_API_KEY út fyrir lykilinn þinn.

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)
Reitur Gerð Sjálfgefið Lýsing
model string Auðkenni líkansins sem svarar. Auðkennin eru talin upp á Líkön og verð.
messages array Samtalið til þessa: hlutir með role og content. Síðustu user skilaboðin eru promptinn. Skylda.
max_tokens integer 4096 Úttaksáætlun beiðninnar, frá 1 til 65,536. Beiðnin tekur þetta magn frá af stöðunni þinni og er gjaldfærð fyrir það sem hún notaði í raun.
stream boolean false true sendir svarið bita fyrir bita meðan það er skrifað.

Beiðnameginmálið er JSON og þarf hausinn Content-Type: application/json. Tæmandi listi reita er á endapunktasíðunni. Chat Completions

Svarið

Kall án stream skilar einum JSON-hlut þegar svarið er fullbúið. Textarnir og tölurnar hér að neðan eru dæmi.

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
  }
}
Reitur Gerð Lýsing
id string chatcmpl- og síðan 32 sextándakerfisstafir.
object string Alltaf chat.completion.
created integer Tími svarsins í Unix-sekúndum.
model string Útgefna auðkenni líkansins sem svaraði, einnig þegar þú sendir alias eða annan rithátt.
choices array Alltaf ein færsla, með index 0.
choices[0].message.role string Alltaf assistant.
choices[0].message.content string | null Svarið. Það getur verið null þegar svarið ber tool_calls.
choices[0].message.reasoning_content string | null Rökhugsun líkansins á undan svarinu, eða null þegar hún er engin.
choices[0].message.tool_calls array Aðeins til staðar þegar líkanið kallar á eitt af tólunum sem þú lýstir.
choices[0].finish_reason string stop fyrir svar, tool_calls þegar líkanið kallar á tól.
usage.prompt_tokens integer Táknin sem líkanið las fyrir þetta svar. Á shannon-2-* og Shannon 3 fjölskyldunni getur þetta verið meira en textinn sem þú sendir.
usage.completion_tokens integer Táknin sem líkanið skrifaði.
usage.total_tokens integer Heildartalan. Gjald Shannon-líkans er reiknað út frá þessari tölu.
  • usage geymir táknatölur, ekki peninga. Það sem kallið tók af stöðunni þinni er sýnt fyrir hverja beiðni á Lyklar og notkun; hvernig það er reiknað er á Mörk og staða. Mörk og staða
  • Hvert svar, líka villa og straumur, hefur hausinn x-request-id. Ef beiðnin þín ber x-request-id haus kemur gildi hans til baka; annars er gildið 12 sextándakerfisstafir. Geymdu það í annálunum þínum: það nefnir þessa einu beiðni.

Sama kall sem straumur

Stilltu stream á true til að lesa svarið meðan það er skrifað. Allt annað í beiðninni helst óbreytt.

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)

Hver rammi straumsins er ein lína sem byrjar á data: og geymir JSON-hlut. Einn rammi, prentaður á nokkrum línum:

Einn rammi
{
  "id": "chatcmpl-9b2f6c1e4a7d4f0f8a3c5d2e1b6a7c90",
  "object": "chat.completion.chunk",
  "created": 1791590400,
  "model": "shannon-3",
  "choices": [
    {
      "index": 0,
      "delta": {
        "content": "Hello! "
      },
      "finish_reason": null
    }
  ]
}
Rammar, í röð delta finish_reason
Meðan líkanið rökhugsar. Enginn eða fleiri rammar. {"reasoning_content": "…"} null
Svarið, bita fyrir bita. Enginn eða fleiri rammar. {"content": "…"} null
Síðasti JSON-ramminn. Hann ber einnig usage; þú þarft ekki að biðja um það. {} "stop"
Lok straumsins: línan data: [DONE].
  • Svarið hefur stöðuna 200 og content-type: text/event-stream. Hver rammi er lína data: <json> og síðan tóm lína.
  • Línan : ping berst á 15 sekúndna fresti. Hún er athugasemd sem heldur tengingunni opinni; SSE-biðlarar sleppa henni.
  • Bilun eftir að straumurinn hefur opnast berst sem rammi data: {"error": {…}}. Staðan helst 200, svo athugaðu rammana.

Streymi

Ef kallið mistekst

Villa er JSON-hlutur með error sem geymir type og message. Þetta eru svörin sem fyrsta kall rekst oftast á.

Staða Gerð Skilaboð Hvað það þýðir
401 authentication_error Missing authentication Enginn lykill barst til API. Sendu Authorization: Bearer og síðan lykilinn þinn.
401 authentication_error Invalid API key Lykillinn er ekki núverandi lykill neins reiknings. Afritaðu hann aftur af Lyklar og notkun.
400 invalid_request_error unknown model: <id> model er ekki útgefið auðkenni. Notaðu auðkenni af Líkön og verð.
422 invalid_request_error Failed to deserialize the JSON body into the target type… Reitur hefur rangt JSON-gagnatag, eða messages vantar.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan Úttaksáætlun beiðninnar rúmast ekki innan stöðunnar þinnar.

Villumeðhöndlun

Hvert á að fara næst

  • Líkön og verð — Veldu líkan: auðkenni, samhengisgluggar og verð.
  • Chat Completions — Allir beiðnireitir, svarreitir og straumatburðir endapunktsins sem þú kallaðir á.
  • Streymi — Rammar straums, keep-alive línur og villur inni í streymi.
  • Aðgerðaköll — Láttu líkanið kalla á föllin þín.
  • Mörk og staða — Hvað beiðni tekur frá og kostar, og hversu margar beiðnir þú mátt senda.
  • API leiksvæði — Prófaðu beiðnir í vafranum með lyklinum þínum.