අන්තර්ගතයට යන්න
සත්‍යාපනය

සත්‍යාපනය

සෑම ඉල්ලීමක්ම ඔබේ API key එක header එකක ගෙන යයි. ගිණුමකට එක key එකක් සෑම endpoint එකකම සහ සෑම model එකකම ක්‍රියා කරයි, header ආකාර දෙකෙන් ඕනෑම එකකින්.

Header · OpenAI SDKs
Authorization: Bearer YOUR_API_KEY
Header · Anthropic SDKs
x-api-key: YOUR_API_KEY

පිළිගන්නා headers

Endpoint එක කථා කරන format එක කුමක් වුවත්, සෑම /v1 endpoint එකකම headers දෙකම කියවයි. ඉන් එකක් යවන්න.

Header විස්තරය
Authorization: Bearer <key> මුලින්ම පරීක්ෂා කෙරේ. Bearer ලියන්නේ ලොකු B අකුරකින් සහ key එකට පෙර එක space එකක් සහිතවය. OpenAI SDKs මෙම header එක යවයි.
x-api-key: <key> ඉල්ලීමේ Authorization: Bearer header එකක් නැති විට කියවයි. Anthropic SDKs මෙම header එක යවයි.

OpenAI SDK එකක් සමඟ, key එක සහ 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 එකක් සමඟ, key එක සහ /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"))

Key එකක් අවශ්‍ය endpoints මොනවාද

Endpoint Key
POST /v1/chat/completions අවශ්‍යයි
POST /v1/messages අවශ්‍යයි
POST /v1/responses අවශ්‍යයි
POST /v1/tokenize අවශ්‍යයි
POST /v1/messages/count_tokens අවශ්‍යයි
GET /v1/models අවශ්‍ය නැත

ඔබේ key එක

  • Key එකක් යනු sk- ට පසුව A–Z, a–z, 0–9, - සහ _ වලින් අක්ෂර 43ක්: මුළු අක්ෂර 46ක්.
  • සෑම ගිණුමකටම හරියටම එක key එකක් ඇත. එය Keys & usage පළමු වරට විවෘත කරන විට සාදනු ලැබේ.
  • Key එක ඔබේ ගිණුම සඳහා API වෙත සම්පූර්ණ ප්‍රවේශය ලබා දෙයි: සෑම endpoint එකක්ම, සෑම model එකක්ම සහ සම්පූර්ණ ශේෂය.
  • Key එකකට කල් ඉකුත් වන දිනයක් නැත. ඔබ එය මාරු කරන හෝ අවලංගු කරන තෙක් එය ක්‍රියා කරයි.

මාරු කිරීම සහ අවලංගු කිරීම

ඔබ key එක මාරු කරන්නේ සහ අවලංගු කරන්නේ Keys & usage පිටුවේදීය. යතුරු සහ භාවිතය

ක්‍රියාව සිදුවන දේ
මාරු කරන්න අලුත් key එකක් නිකුත් කෙරෙන අතර පරණ key එක ක්‍රියා කිරීම නවතී. අලුත් key එක වහාම ක්‍රියා කරයි.
අවලංගු කරන්න Key එක ක්‍රියා කිරීම නවතින අතර අලුත් key එකක් නිකුත් නොකෙරේ. නැවත ක්‍රියා කරන key එකක් ලබා ගැනීමට මාරු කරන්න.
  • දෙකම වහාම බලපැවැත්වේ: පරණ key එක සමඟ ඊළඟ ඉල්ලීමට 401 ලැබේ. පරණ key එක සෑම තැනකම ප්‍රතික්ෂේප වන තෙක් ඉහළ සීමාව ලෙස තත්පර 60ක් සලකන්න.
  • ගිණුමේ සෑම client එකක්ම එකම key එක භාවිතා කරයි, එබැවින් මාරු කිරීමක් ඒ සියල්ලටම බලපායි. ඔබ මාරු කළ වහාම අලුත් key එක ඔබේ clients වලට ඇතුළත් කරන්න.
  • ශේෂය, භාවිතය සහ flood protection අයත් වන්නේ key එකට නොව ගිණුමටය. අලුත් key එකක් එම ශේෂයෙන්ම සහ වත්මන් විනාඩියේ එම ඉල්ලීම් ගණනින්ම දිගටම ක්‍රියා කරයි.

දෝෂ

සෑම සත්‍යාපන අසාර්ථකත්වයකම status 401 සහ type authentication_error වේ. පණිවිඩය මගින් අවස්ථා වෙන්කර හඳුනාගත හැක.

තත්ත්වය වර්ගය පණිවිඩය කවදාද
401 authentication_error Missing authentication ඉල්ලීමේ Authorization: Bearer header එකක් හෝ sk- වලින් ආරම්භ වන x-api-key header එකක් නැත. සිම්පල් අකුරින් ලියූ bearer සඳහාත්, Bearer නොමැති Authorization අගයක් සඳහාත් ලැබෙන පිළිතුර ද මෙයයි.
401 authentication_error Invalid API key Key එක ගිණුමක වත්මන් key එක නොවේ: එය වැරදියට ටයිප් කර ඇත, අවලංගු කර ඇත, නැතහොත් මාරු කිරීමකින් (rotation) ප්‍රතිස්ථාපනය වී ඇත.
{
  "error": {
    "type": "authentication_error",
    "message": "Invalid API key",
    "code": "invalid_api_key",
    "param": null
  }
}
  • /v1/messages හැර සෑම path එකකම error object එකේ code: "invalid_api_key" ද ඇත, key එක නොමැති විටත්, සහ param: null ද ඇත.
  • Body එක කියවීමට පෙර key එක පරීක්ෂා කෙරේ. වලංගු key එකක් නොමැති ඉල්ලීමකට, එහි body එක වලංගු නොවූවත් හෝ ඉතා විශාල වුවත් 401 ලැබේ.
  • sk- වලින් ආරම්භ නොවන Authorization: Bearer අගයක් API key එකක් ලෙස සලකන්නේ නැත. එයට token එක වලංගු නොවන බව හෝ කල් ඉකුත් වූ බව දැනුම් දෙන පණිවිඩයක් සහිත 401 ලැබේ.

Browsers සහ CORS

  • API එක cross-origin browser ඉල්ලීම්වලට පිළිතුරු දෙන්නේ origins වල ස්ථාවර ලැයිස්තුවකට පමණි. වෙනත් origin එකක පිටුවක JavaScript වලට /v1 පිළිතුරු කියවිය නොහැක.
  • API එක ඔබේ server එකෙන් call කර ඔබේ පිටුව ඔබේ server එක සමඟ සන්නිවේදනය කරවන්න. එය key එක පිටුවේ source එකෙන් ද බැහැර කරයි.
  • Server-side code සහ command-line මෙවලම්වලට බලපෑමක් නැත: මෙම නීතිය ක්‍රියාත්මක කරන්නේ browsers පමණි.
  • shannon-ai.com හි sign-in එකක් /v1 ඉල්ලීම් සත්‍යාපනය නොකරයි. Cookies එහිදී කියවන්නේ නැත; key එක පමණක් credential එකයි.
  • අවසර ඇති origin එකක් සඳහා, browser එකකට content-type, authorization, x-api-key, anthropic-version, anthropic-beta, openai-beta සහ x-request-id යැවිය හැකි අතර, පිළිතුරේ x-request-id header එක කියවිය හැක.

Key එක ආරක්ෂිතව තබා ගැනීම

  • Key එක server එකක තබා ගන්න. එය වෙබ් පිටු, mobile apps හෝ public repositories තුළ තබන්න එපා: එය අතැති ඕනෑම කෙනෙකුට ඔබේ සම්පූර්ණ ශේෂය වියදම් කළ හැක.
  • Key එක code එකේ ලිවීම වෙනුවට environment variable එකකින් හෝ secret store එකකින් load කරන්න.
  • Key එක කාන්දු වී ඇති විය හැකි නම්, Keys & usage හිදී එය මාරු කරන්න. පරණ key එක වහාම ක්‍රියා කිරීම නවතී.
  • කාන්දුවකින් පසු, Keys & usage හි ඉල්ලීම් ලැයිස්තුව කියවන්න. එයින් පසුගිය දින 30 තුළ key එක මගින් කළ සෑම ඉල්ලීමක්ම පෙන්වයි.