Pāriet uz saturu
Autentifikācija

Autentifikācija

Katrs pieprasījums nes jūsu API atslēgu galvenē. Viena atslēga kontam darbojas katrā galapunktā un katram modelim, divās galvenes formās.

Galvene · OpenAI SDK
Authorization: Bearer YOUR_API_KEY
Galvene · Anthropic SDK
x-api-key: YOUR_API_KEY

Pieņemtās galvenes

Abas galvenes tiek lasītas katrā /v1 galapunktā, neatkarīgi no tā, kādu formātu galapunkts runā. Sūtiet vienu no tām.

Galvene Apraksts
Authorization: Bearer <key> Pārbauda pirmo. Rakstiet Bearer ar lielo B un vienu atstarpi pirms atslēgas. OpenAI SDK sūta šo galveni.
x-api-key: <key> Tiek lasīta, ja pieprasījumā nav galvenes Authorization: Bearer. Anthropic SDK sūta šo galveni.

Ar OpenAI SDK iestatiet atslēgu un bāzes URL; SDK sūta Authorization: Bearer.

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!"}
    ]
)

print(response.choices[0].message.content)

Ar Anthropic SDK iestatiet atslēgu un bāzes URL bez /v1; SDK sūta x-api-key.

import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com"
)

message = client.messages.create(
    model="shannon-3",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, Shannon!"}
    ]
)

print("".join(block.text for block in message.content if block.type == "text"))

Kuriem galapunktiem vajadzīga atslēga

Endpoints Atslēga
POST /v1/chat/completions Obligāta
POST /v1/messages Obligāta
POST /v1/responses Obligāta
POST /v1/tokenize Obligāta
POST /v1/messages/count_tokens Obligāta
GET /v1/models Nav vajadzīga

Jūsu atslēga

  • Atslēga ir sk-, kam seko 43 rakstzīmes no A–Z, a–z, 0–9, - un _: kopā 46 rakstzīmes.
  • Katram kontam ir tieši viena atslēga. Tā tiek izveidota, pirmo reizi atverot lapu Atslēgas un izmantošana.
  • Atslēga dod pilnu piekļuvi API jūsu kontam: katram galapunktam, katram modelim un visam atlikumam.
  • Atslēgai nav derīguma termiņa. Tā darbojas, līdz to nomaināt vai atsaucat.

Nomaiņa un atsaukšana

Atslēgu nomaināt un atsaucat lapā Atslēgas un izmantošana. Atslēgas un izmantošana

Darbība Kas notiek
Nomainīt Tiek izsniegta jauna atslēga, un vecā pārstāj darboties. Jaunā darbojas uzreiz.
Atsaukt Atslēga pārstāj darboties, un jauna netiek izsniegta. Nomainiet to, lai atkal iegūtu darbojošos atslēgu.
  • Abas darbojas uzreiz: nākamais pieprasījums ar veco atslēgu tiek atbildēts ar 401. Uzskatiet 60 sekundes par augšējo robežu, pēc kuras vecā atslēga tiek noraidīta visur.
  • Visi konta klienti izmanto vienu un to pašu atslēgu, tāpēc nomaiņa skar tos visus. Jauno atslēgu ievietojiet savos klientos uzreiz pēc nomaiņas.
  • Atlikums, izmantošana un flood protection pieder kontam, nevis atslēgai. Jauna atslēga turpina ar to pašu atlikumu un to pašu pieprasījumu skaitu pašreizējai minūtei.

Kļūdas

Katrai autentifikācijas kļūmei ir statuss 401 un tips authentication_error. Gadījumus atšķir ziņojums.

Statuss Veids Ziņojums Kad
401 authentication_error Missing authentication Pieprasījumā nav ne galvenes Authorization: Bearer, ne galvenes x-api-key, kas sākas ar sk-. Tāda pati atbilde ir arī uz bearer mazajiem burtiem un uz Authorization vērtību bez Bearer.
401 authentication_error Invalid API key Atslēga nav konta pašreizējā atslēga: tā ir nepareizi ievadīta, tā ir atsaukta vai aizstāta ar nomaiņu.
{
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key",
    "code": "invalid_api_key",
    "param": null
  }
}
  • Uz katra ceļa, izņemot /v1/messages, objektā error ir arī code: "invalid_api_key", arī trūkstošai atslēgai, un param: null.
  • Atslēga tiek pārbaudīta, pirms tiek nolasīts pamatteksts. Pieprasījums bez derīgas atslēgas saņem 401 pat tad, ja tā pamatteksts ir nederīgs vai pārāk liels.
  • Authorization: Bearer vērtība, kas nesākas ar sk-, netiek uzskatīta par API atslēgu. Tā saņem 401 ar ziņojumu, ka tokens ir nederīgs vai beidzies.

Pārlūki un CORS

  • API atbild uz pārlūku starpizcelsmes pieprasījumiem tikai noteiktam izcelsmes avotu sarakstam. JavaScript citas izcelsmes lapā nevar nolasīt /v1 atbildes.
  • Izsauciet API no sava servera un lieciet savai lapai sazināties ar savu serveri. Tā atslēga paliek ārpus lapas pirmkoda.
  • Servera puses kods un komandrindas rīki šo neietekmē: šo noteikumu piemēro tikai pārlūki.
  • Pierakstīšanās vietnē shannon-ai.com neautentificē /v1 pieprasījumus. Sīkdatnes tur netiek lasītas; atslēga ir vienīgie akreditācijas dati.
  • Atļautam izcelsmes avotam (origin) pārlūks drīkst sūtīt content-type, authorization, x-api-key, anthropic-version, anthropic-beta, openai-beta un x-request-id, un drīkst lasīt atbildes galveni x-request-id.

Atslēgas drošība

  • Glabājiet atslēgu serverī. Nevietojiet to tīmekļa lapās, mobilajās lietotnēs vai publiskos repozitorijos: ikviens, kam tā ir, var iztērēt visu jūsu atlikumu.
  • Ielādējiet atslēgu no vides mainīgā vai noslēpumu krātuves, nevis rakstiet to kodā.
  • Ja atslēga varētu būt noplūdusi, nomainiet to lapā Atslēgas un izmantošana. Vecā atslēga pārstāj darboties uzreiz.
  • Pēc noplūdes izlasiet pieprasījumu sarakstu lapā Atslēgas un izmantošana. Tajā redzams katrs pieprasījums, ko atslēga veikusi pēdējo 30 dienu laikā.