मजकुराकडे जा
प्रमाणीकरण

प्रमाणीकरण

प्रत्येक रिक्वेस्ट तुमची 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 सह, की आणि बेस 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 शिवाय बेस 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 वाचू शकतो.

की सुरक्षित ठेवणे

  • की सर्व्हरवर ठेवा. ती वेब पाने, मोबाइल अ‍ॅप्स किंवा सार्वजनिक रेपॉझिटरीमध्ये टाकू नका: जो कोणी ती मिळवेल तो तुमचा संपूर्ण बॅलन्स खर्च करू शकतो.
  • की कोडमध्ये लिहिण्याऐवजी environment variable किंवा सीक्रेट स्टोअरमधून लोड करा.
  • की लीक झाली असण्याची शक्यता असल्यास, की आणि वापर वर ती रोटेट करा. जुनी की लगेच चालणे थांबते.
  • लीक झाल्यानंतर, की आणि वापर वरील रिक्वेस्ट यादी वाचा. ती कीने गेल्या 30 दिवसांत केलेली प्रत्येक रिक्वेस्ट दाखवते.