ወደ ይዘቱ እለፍ
ማረጋገጫ

ማረጋገጫ

እያንዳንዱ ጥያቄ የAPI ቁልፍዎን በheader ይይዛል። በመለያ አንድ ቁልፍ በእያንዳንዱ endpoint እና በእያንዳንዱ ሞዴል ላይ ይሰራል፣ ከሁለት የheader ቅርጾች በአንዱ።

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

የሚቀበሉ headers

ሁለቱም headers በእያንዳንዱ /v1 endpoint ላይ ይነበባሉ፣ endpointው የትኛውን ቅርጸት ቢናገርም። ከሁለቱ አንዱን ይላኩ።

Header መግለጫ
Authorization: Bearer <key> መጀመሪያ ይፈተሻል። Bearerን በትልቅ B እና ከቁልፉ በፊት በአንድ ክፍተት ይጻፉ። የOpenAI SDKs ይህንን header ይልካሉ።
x-api-key: <key> ጥያቄው Authorization: Bearer header ሲጎድለው ይነበባል። Anthropic SDKs ይህንን header ይልካሉ።

በ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"))

የትኞቹ endpoints ቁልፍ ይፈልጋሉ

ኤንድ-ፖይንት (Endpoint) ቁልፍ
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 ቁምፊዎች።
  • እያንዳንዱ መለያ በትክክል አንድ ቁልፍ አለው። Keys & usageን መጀመሪያ ሲከፍቱ ይፈጠራል።
  • ቁልፉ ለመለያዎ ወደ API ሙሉ መዳረሻ ይሰጣል፦ ሁሉም endpoint፣ ሁሉም ሞዴል እና ቀሪ ሂሳቡ በሙሉ።
  • ቁልፍ የሚያበቃበት ቀን የለውም። እስኪቀይሩት ወይም እስኪሰርዙት ድረስ ይሰራል።

መቀየርና መሰረዝ

ቁልፉን የሚቀይሩትና የሚሰርዙት በKeys & usage ገጽ ላይ ነው። Keys & usage

እርምጃ ምን ይሆናል
ቀይር አዲስ ቁልፍ ይሰጣል እና የድሮው ቁልፍ መስራት ያቆማል። አዲሱ ቁልፍ ወዲያውኑ ይሰራል።
ሰርዝ ቁልፉ መስራት ያቆማል እና አዲስ ቁልፍ አይሰጥም። እንደገና የሚሰራ ቁልፍ ለማግኘት ይቀይሩ።
  • ሁለቱም ወዲያውኑ ተግባራዊ ይሆናሉ፦ በድሮው ቁልፍ የሚቀጥለው ጥያቄ በ401 ይመለሳል። የድሮው ቁልፍ በሁሉም ቦታ እስኪከለከል ድረስ 60 ሰከንድ እንደ ከፍተኛ ገደብ ይቁጠሩ።
  • የመለያው እያንዳንዱ ክላይንት ተመሳሳይ ቁልፍ ይጠቀማል፣ ስለዚህ መቀየር ሁሉንም ይነካል። ከቀየሩ በኋላ አዲሱን ቁልፍ ወዲያውኑ ወደ ክላይንቶችዎ ያስገቡ።
  • ቀሪ ሂሳብ፣ አጠቃቀም እና flood protection የመለያው ናቸው እንጂ የቁልፉ አይደሉም። አዲስ ቁልፍ በተመሳሳይ ቀሪ ሂሳብ እና ለአሁኑ ደቂቃ በተመሳሳይ የጥያቄ ቆጠራ ይቀጥላል።

ስህተቶች

እያንዳንዱ የማረጋገጫ ውድቀት ሁኔታ 401 እና ዓይነት authentication_error አለው። መልእክቱ ጉዳዮቹን ይለያል።

ሁኔታ ዓይነት መልእክት መቼ
401 authentication_error Missing authentication ጥያቄው Authorization: Bearer header የለውም፣ በsk- የሚጀምር x-api-key header ወይም የለውም። ይህ ለትንሽ ፊደል 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 ቁልፍ አይቆጠርም። tokenው ልክ እንዳልሆነ ወይም እንዳለፈበት መልእክት ያለው 401 ያገኛል።

አሳሾችና CORS

  • API ለcross-origin የአሳሽ ጥያቄዎች የሚመልሰው ለተወሰነ የorigins ዝርዝር ብቻ ነው። በሌላ origin ገጽ ላይ ያለ JavaScript የ/v1 ምላሾችን ማንበብ አይችልም።
  • APIን ከሰርቨርዎ ይጥሩ እና ገጽዎ ከሰርቨርዎ ጋር እንዲነጋገር ያድርጉ። ይህ ቁልፉን ከገጹ ምንጭ ውጭ ያደርገዋል።
  • የሰርቨር-ጎን ኮድ እና የcommand-line መሣሪያዎች አይነኩም፦ ይህ ደንብ በአሳሾች ብቻ ይተገበራል።
  • በshannon-ai.com መግባት የ/v1 ጥያቄዎችን አያረጋግጥም። ኩኪዎች እዚያ አይነበቡም፤ ቁልፉ ብቸኛው ማረጋገጫ ነው።
  • ለተፈቀደ origin፣ አሳሽ content-type, authorization, x-api-key, anthropic-version, anthropic-beta, openai-beta እና x-request-id ሊልክ ይችላል፣ እና የምላሹን header x-request-id ሊያነብ ይችላል።

ቁልፉን በደህንነት መያዝ

  • ቁልፉን በሰርቨር ላይ ያስቀምጡ። ወደ ድር ገጾች፣ የሞባይል መተግበሪያዎች ወይም የህዝብ repositories አያስገቡ፦ የያዘው ሰው ቀሪ ሂሳብዎን በሙሉ ሊያወጣ ይችላል።
  • ቁልፉን በኮድ ውስጥ ከመጻፍ ይልቅ ከenvironment variable ወይም ከሚስጥር ማከማቻ ይጫኑ።
  • ቁልፉ የወጣ ከሆነ በKeys & usage ላይ ይቀይሩት። የድሮው ቁልፍ ወዲያውኑ መስራት ያቆማል።
  • ከመውጣት በኋላ በKeys & usage ላይ የጥያቄ ዝርዝሩን ያንብቡ። ቁልፉ ባለፉት 30 ቀናት ያደረጋቸውን ሁሉንም ጥያቄዎች ያሳያል።