ഉള്ളടക്കത്തിലേക്ക് പോകുക
ഓഥെന്റിക്കേഷൻ

ഓഥെന്റിക്കേഷൻ

ഓരോ റിക്വസ്റ്റും നിങ്ങളുടെ API കീ ഒരു ഹെഡറിൽ വഹിക്കുന്നു. ഒരു അക്കൗണ്ടിന് ഒരു കീ എല്ലാ എൻഡ്‌പോയിന്റിലും എല്ലാ മോഡലിലും പ്രവർത്തിക്കും, രണ്ട് ഹെഡർ രൂപങ്ങളിൽ ഏതിലും.

ഹെഡർ · OpenAI SDK-കൾ
Authorization: Bearer YOUR_API_KEY
ഹെഡർ · Anthropic SDK-കൾ
x-api-key: YOUR_API_KEY

സ്വീകരിക്കുന്ന ഹെഡറുകൾ

എൻഡ്‌പോയിന്റ് ഏത് ഫോർമാറ്റ് സംസാരിച്ചാലും, രണ്ട് ഹെഡറുകളും എല്ലാ /v1 എൻഡ്‌പോയിന്റിലും വായിക്കും. അവയിൽ ഒന്ന് അയയ്ക്കുക.

ഹെഡർ വിവരണം
Authorization: Bearer <key> ആദ്യം പരിശോധിക്കുന്നു. Bearer വലിയ B ഉപയോഗിച്ച് എഴുതുക, കീയ്ക്ക് മുമ്പ് ഒരു സ്പേസ് ഇടുക. OpenAI SDK-കൾ ഈ ഹെഡർ അയയ്ക്കുന്നു.
x-api-key: <key> റിക്വസ്റ്റിൽ Authorization: Bearer ഹെഡർ ഇല്ലെങ്കിൽ വായിക്കും. Anthropic SDK-കൾ ഈ ഹെഡർ അയയ്ക്കുന്നു.

OpenAI SDK ഉപയോഗിച്ച്, കീയും base URL-ഉം സജ്ജമാക്കുക; SDK 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)

Anthropic SDK ഉപയോഗിച്ച്, കീയും /v1 ഇല്ലാത്ത base URL-ഉം സജ്ജമാക്കുക; SDK 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"))

ഏതൊക്കെ എൻഡ്‌പോയിന്റുകൾക്ക് കീ വേണം

എൻഡ്‌പോയിന്റ് കീ
POST /v1/chat/completions ആവശ്യമാണ്
POST /v1/messages ആവശ്യമാണ്
POST /v1/responses ആവശ്യമാണ്
POST /v1/tokenize ആവശ്യമാണ്
POST /v1/messages/count_tokens ആവശ്യമാണ്
GET /v1/models ആവശ്യമില്ല

നിങ്ങളുടെ കീ

  • കീ എന്നത് sk--നെ തുടർന്ന് A–Z, a–z, 0–9, -, _ എന്നിവയിൽ നിന്നുള്ള 43 അക്ഷരങ്ങളാണ്: ആകെ 46 അക്ഷരങ്ങൾ.
  • ഓരോ അക്കൗണ്ടിനും കൃത്യമായി ഒരു കീ ഉണ്ട്. കീകളും ഉപയോഗവും ആദ്യമായി തുറക്കുമ്പോൾ ഇത് സൃഷ്ടിക്കപ്പെടുന്നു.
  • കീ നിങ്ങളുടെ അക്കൗണ്ടിനായി API-യിലേക്ക് പൂർണ്ണ ആക്സസ് നൽകുന്നു: എല്ലാ എൻഡ്‌പോയിന്റും, എല്ലാ മോഡലും, മുഴുവൻ ബാലൻസും.
  • കീയ്ക്ക് കാലഹരണ തീയതി ഇല്ല. നിങ്ങൾ റൊട്ടേറ്റ് ചെയ്യുകയോ റദ്ദാക്കുകയോ ചെയ്യുംവരെ ഇത് പ്രവർത്തിക്കും.

റൊട്ടേറ്റ് ചെയ്യുക, റദ്ദാക്കുക

കീകളും ഉപയോഗവും പേജിൽ നിങ്ങൾ കീ റൊട്ടേറ്റ് ചെയ്യുകയും റദ്ദാക്കുകയും ചെയ്യുന്നു. കീകളും ഉപയോഗവും

പ്രവൃത്തി എന്ത് സംഭവിക്കുന്നു
റൊട്ടേറ്റ് ചെയ്യുക പുതിയ കീ നൽകുകയും പഴയ കീ പ്രവർത്തനം നിർത്തുകയും ചെയ്യുന്നു. പുതിയ കീ ഉടൻ പ്രവർത്തിക്കും.
റദ്ദാക്കുക കീ പ്രവർത്തനം നിർത്തുന്നു, പുതിയ കീ നൽകുന്നില്ല. വീണ്ടും പ്രവർത്തിക്കുന്ന കീ ലഭിക്കാൻ റൊട്ടേറ്റ് ചെയ്യുക.
  • രണ്ടും ഉടൻ പ്രാബല്യത്തിൽ വരും: പഴയ കീ ഉപയോഗിച്ചുള്ള അടുത്ത റിക്വസ്റ്റിന് 401 മറുപടി ലഭിക്കും. പഴയ കീ എല്ലായിടത്തും നിരസിക്കപ്പെടാൻ 60 സെക്കൻഡ് ഉയർന്ന പരിധിയായി കണക്കാക്കുക.
  • അക്കൗണ്ടിലെ എല്ലാ ക്ലയന്റുകളും ഒരേ കീ ഉപയോഗിക്കുന്നു, അതിനാൽ റൊട്ടേഷൻ എല്ലാവരെയും ബാധിക്കും. റൊട്ടേറ്റ് ചെയ്ത ഉടൻ പുതിയ കീ നിങ്ങളുടെ ക്ലയന്റുകളിൽ ഇടുക.
  • ബാലൻസ്, ഉപയോഗം, ഫ്ലഡ് പ്രൊട്ടക്ഷൻ എന്നിവ കീയുടേതല്ല, അക്കൗണ്ടിന്റേതാണ്. പുതിയ കീ അതേ ബാലൻസും നിലവിലെ മിനിറ്റിലെ അതേ റിക്വസ്റ്റ് എണ്ണവുമായി തുടരുന്നു.

എററുകൾ

ഓരോ ഓതന്റിക്കേഷൻ പരാജയത്തിനും സ്റ്റാറ്റസ് 401-ഉം ടൈപ്പ് authentication_error-ഉം ആണ്. സന്ദേശം കേസുകളെ വേർതിരിച്ചറിയാൻ സഹായിക്കുന്നു.

സ്റ്റാറ്റസ് ടൈപ്പ് സന്ദേശം എപ്പോൾ
401 authentication_error Missing authentication റിക്വസ്റ്റിൽ Authorization: Bearer ഹെഡറോ sk- എന്ന് തുടങ്ങുന്ന x-api-key ഹെഡറോ ഇല്ല. ചെറിയക്ഷരത്തിലുള്ള bearer-നും Bearer ഇല്ലാത്ത Authorization മൂല്യത്തിനും ലഭിക്കുന്ന മറുപടിയും ഇതുതന്നെ.
401 authentication_error Invalid API key കീ ഒരു അക്കൗണ്ടിന്റെ നിലവിലെ കീ അല്ല: അത് തെറ്റായി ടൈപ്പ് ചെയ്തതാണ്, റദ്ദാക്കിയതാണ്, അല്ലെങ്കിൽ റൊട്ടേഷൻ വഴി മാറ്റിയതാണ്.
{
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key",
    "code": "invalid_api_key",
    "param": null
  }
}
  • /v1/messages ഒഴികെയുള്ള എല്ലാ പാതകളിലും, കീ ഇല്ലാത്ത സാഹചര്യത്തിലും, error ഒബ്ജക്റ്റിൽ code: "invalid_api_key", param: null എന്നിവയും ഉണ്ടാകും.
  • ബോഡി വായിക്കുന്നതിന് മുമ്പ് കീ പരിശോധിക്കുന്നു. സാധുവായ കീ ഇല്ലാത്ത റിക്വസ്റ്റിന്റെ ബോഡി അസാധുവോ വളരെ വലുതോ ആണെങ്കിലും 401 ലഭിക്കും.
  • sk- എന്ന് തുടങ്ങാത്ത Authorization: Bearer മൂല്യം API കീ ആയി കണക്കാക്കില്ല. ടോക്കൺ അസാധുവാണ് അല്ലെങ്കിൽ കാലഹരണപ്പെട്ടു എന്ന സന്ദേശത്തോടെ 401 ലഭിക്കും.

ബ്രൗസറുകളും CORS-ഉം

  • ഉറപ്പിച്ച ഒരു ഒറിജിൻ പട്ടികയ്ക്ക് മാത്രമേ API ക്രോസ്-ഒറിജിൻ ബ്രൗസർ റിക്വസ്റ്റുകൾക്ക് മറുപടി നൽകുകയുള്ളൂ. മറ്റൊരു ഒറിജിനിലെ പേജിലുള്ള JavaScript-ന് /v1 മറുപടികൾ വായിക്കാൻ കഴിയില്ല.
  • API നിങ്ങളുടെ സെർവറിൽ നിന്ന് വിളിക്കുക, നിങ്ങളുടെ പേജ് നിങ്ങളുടെ സെർവറുമായി സംവദിക്കട്ടെ. ഇത് കീ പേജ് സോഴ്സിൽ വരാതിരിക്കാനും സഹായിക്കുന്നു.
  • സെർവർ-സൈഡ് കോഡിനെയും കമാൻഡ്-ലൈൻ ടൂളുകളെയും ഇത് ബാധിക്കില്ല: ഈ നിയമം ബ്രൗസറുകൾ മാത്രമേ നടപ്പാക്കുന്നുള്ളൂ.
  • shannon-ai.com-ൽ സൈൻ ഇൻ ചെയ്തത് /v1 റിക്വസ്റ്റുകളെ ഓതന്റിക്കേറ്റ് ചെയ്യുന്നില്ല. അവിടെ കുക്കികൾ വായിക്കില്ല; കീ മാത്രമാണ് ക്രെഡൻഷ്യൽ.
  • അനുവദിച്ച ഒരു ഒറിജിനിൽ നിന്ന്, ബ്രൗസറിന് content-type, authorization, x-api-key, anthropic-version, anthropic-beta, openai-beta, x-request-id എന്നിവ അയയ്ക്കാം, മറുപടി ഹെഡർ x-request-id വായിക്കുകയും ചെയ്യാം.

കീ സുരക്ഷിതമായി സൂക്ഷിക്കൽ

  • കീ ഒരു സെർവറിൽ സൂക്ഷിക്കുക. വെബ് പേജുകളിലോ മൊബൈൽ ആപ്പുകളിലോ പബ്ലിക് റിപ്പോസിറ്ററികളിലോ ഇടരുത്: അത് കൈവശമുള്ള ആർക്കും നിങ്ങളുടെ മുഴുവൻ ബാലൻസും ചെലവാക്കാൻ കഴിയും.
  • കീ കോഡിൽ എഴുതുന്നതിന് പകരം എൻവയോൺമെന്റ് വേരിയബിളിൽ നിന്നോ സീക്രട്ട് സ്റ്റോറിൽ നിന്നോ ലോഡ് ചെയ്യുക.
  • കീ ചോർന്നിരിക്കാൻ സാധ്യതയുണ്ടെങ്കിൽ, കീകളും ഉപയോഗവും പേജിൽ റൊട്ടേറ്റ് ചെയ്യുക. പഴയ കീ ഉടൻ പ്രവർത്തനം നിർത്തും.
  • ചോർച്ചയ്ക്ക് ശേഷം, കീകളും ഉപയോഗവും പേജിലെ റിക്വസ്റ്റ് പട്ടിക വായിക്കുക. കഴിഞ്ഞ 30 ദിവസത്തിൽ കീ നടത്തിയ എല്ലാ റിക്വസ്റ്റുകളും അതിൽ കാണാം.