Kalo te përmbajtja
Autentikim

Autentikim

Çdo kërkesë mban çelësin tuaj API në një header. Një çelës për llogari funksionon në çdo endpoint dhe çdo model, në cilëndo nga dy format e header-it.

Header · SDK-të OpenAI
Authorization: Bearer YOUR_API_KEY
Header · SDK-të Anthropic
x-api-key: YOUR_API_KEY

Header-at e pranuar

Të dy header-at lexohen në çdo endpoint /v1, cilindo format që flet endpoint-i. Dërgoni njërin prej tyre.

Header Përshkrimi
Authorization: Bearer <key> Kontrollohet i pari. Shkruani Bearer me B të madhe dhe një hapësirë para çelësit. SDK-të OpenAI e dërgojnë këtë header.
x-api-key: <key> Lexohet kur kërkesa nuk ka header Authorization: Bearer. SDK-të Anthropic e dërgojnë këtë header.

Me një SDK OpenAI, vendosni çelësin dhe URL-në bazë; SDK-ja dërgon 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)

Me një SDK Anthropic, vendosni çelësin dhe URL-në bazë pa /v1; SDK-ja dërgon 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"))

Cilat endpoint-e kërkojnë çelës

Endpoint Çelësi
POST /v1/chat/completions Kërkohet
POST /v1/messages Kërkohet
POST /v1/responses Kërkohet
POST /v1/tokenize Kërkohet
POST /v1/messages/count_tokens Kërkohet
GET /v1/models Nuk nevojitet

Çelësi juaj

  • Një çelës është sk- e ndjekur nga 43 karaktere nga A–Z, a–z, 0–9, - dhe _: gjithsej 46 karaktere.
  • Çdo llogari ka saktësisht një çelës. Krijohet herën e parë që hapni Çelësat dhe përdorimi.
  • Çelësi jep qasje të plotë në API për llogarinë tuaj: çdo endpoint, çdo model dhe gjithë bilancin.
  • Një çelës nuk ka datë skadimi. Funksionon derisa ta rrotulloni ose ta shfuqizoni.

Rrotullimi dhe shfuqizimi

Çelësin e rrotulloni dhe e shfuqizoni te faqja Çelësat dhe përdorimi. Çelësat dhe përdorimi

Veprimi Çfarë ndodh
Rrotullo Lëshohet një çelës i ri dhe çelësi i vjetër ndalon së punuari. Çelësi i ri funksionon menjëherë.
Shfuqizo Çelësi ndalon së punuari dhe nuk lëshohet çelës i ri. Rrotulloni për të marrë përsëri një çelës që funksionon.
  • Të dyja hyjnë në fuqi menjëherë: kërkesa tjetër me çelësin e vjetër merr përgjigje 401. Llogaritni 60 sekonda si kufirin e sipërm para se çelësi i vjetër të refuzohet kudo.
  • Çdo klient i llogarisë përdor të njëjtin çelës, kështu që një rrotullim i arrin të gjithë. Vendoseni çelësin e ri te klientët tuaj menjëherë pas rrotullimit.
  • Bilanci, përdorimi dhe mbrojtja nga vërshimi i kërkesave i përkasin llogarisë, jo çelësit. Një çelës i ri vazhdon me të njëjtin bilanc dhe të njëjtin numër kërkesash për minutën aktuale.

Gabimet

Çdo dështim autentikimi ka statusin 401 dhe llojin authentication_error. Mesazhi i dallon rastet nga njëri-tjetri.

Statusi Lloji Mesazhi Kur
401 authentication_error Missing authentication Kërkesa nuk ka as header Authorization: Bearer as header x-api-key që fillon me sk-. Kjo është edhe përgjigjja për bearer me shkronja të vogla dhe për një vlerë Authorization pa Bearer.
401 authentication_error Invalid API key Çelësi nuk është çelësi aktual i një llogarie: është shkruar gabim, është shfuqizuar, ose është zëvendësuar nga një rrotullim.
{
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key",
    "code": "invalid_api_key",
    "param": null
  }
}
  • Në çdo rrugë përveç /v1/messages objekti error përmban edhe code: "invalid_api_key", edhe për çelës që mungon, dhe param: null.
  • Çelësi kontrollohet para se të lexohet trupi. Një kërkesë pa çelës të vlefshëm merr 401 edhe kur trupi i saj është i pavlefshëm ose shumë i madh.
  • Një vlerë Authorization: Bearer që nuk fillon me sk- nuk trajtohet si çelës API. Merr 401 me një mesazh që tokeni është i pavlefshëm ose ka skaduar.

Shfletuesit dhe CORS

  • API u përgjigjet kërkesave cross-origin të shfletuesit vetëm për një listë fikse origjinash. JavaScript në një faqe të një origjine tjetër nuk mund t'i lexojë përgjigjet /v1.
  • Thirreni API-n nga serveri juaj dhe lëreni faqen tuaj të komunikojë me serverin tuaj. Kjo e mban çelësin edhe jashtë kodit burimor të faqes.
  • Kodi nga ana e serverit dhe mjetet e linjës së komandës nuk preken: këtë rregull e zbatojnë vetëm shfletuesit.
  • Hyrja te shannon-ai.com nuk autentikon kërkesat /v1. Cookies nuk lexohen aty; çelësi është kredenciali i vetëm.
  • Për një origjinë të lejuar, një shfletues mund të dërgojë content-type, authorization, x-api-key, anthropic-version, anthropic-beta, openai-beta dhe x-request-id, dhe mund ta lexojë header-in e përgjigjes x-request-id.

Ruajtja e sigurt e çelësit

  • Mbajeni çelësin në një server. Mos e vendosni në faqe uebi, aplikacione celulare ose repozitorë publikë: kushdo që e ka mund të shpenzojë gjithë bilancin tuaj.
  • Ngarkojeni çelësin nga një variabël mjedisi ose nga një depo sekretesh në vend që ta shkruani në kod.
  • Nëse çelësi mund të ketë rrjedhur, rrotulloni atë te Çelësat dhe përdorimi. Çelësi i vjetër ndalon së punuari menjëherë.
  • Pas një rrjedhjeje, lexoni listën e kërkesave te Çelësat dhe përdorimi. Ajo tregon çdo kërkesë që çelësi ka bërë në 30 ditët e fundit.