Developer guide
API কী দিয়ে প্রমাণীকরণ করা
API কী দেওয়ার হেডার এবং SDK-তে সেট করার base URL
CLEVI গেটওয়ে একটি API কী দিয়ে OpenAI সামঞ্জস্যপূর্ণ পথ এবং Anthropic সামঞ্জস্যপূর্ণ পথে প্রমাণীকরণ করে।
ক্লায়েন্টে সেট করার মান দুটি: কী ধারণকারী প্রমাণীকরণ হেডার এবং SDK-এর base URL। অনুমোদিত হেডার ফর্ম্যাট ও base URL নিয়ম অনুযায়ী ভিন্ন।
সেটআপ সম্পন্ন করার পর মডেলের তালিকা 조회 করলে প্রমাণীকরণ হয়েছে কি না তা সঙ্গে সঙ্গে যাচাই করা যায়।
প্রমাণীকরণ ব্যর্থ হলে 401 এবং প্রমাণীকরণ পাস করার পর অনুমতি বা সীমার শর্ত পূরণ না হলে 403 ফেরত দেওয়া হয়।
কনসোলের API কী স্ক্রিন থেকে API কী ইস্যু করুন। একই স্ক্রিন থেকে কী বাতিল করা এবং ব্যবহারের পরিসর পরিচালনা করা যায়।
প্রমাণীকরণ হেডার
উভয় নিয়মেই একটি অনুরোধ হেডারে API কী রাখতে হয়। X-API-Key হেডার অথবা Authorization হেডারের যেকোনো একটি ব্যবহার করুন; অনুমোদিত ফর্ম্যাট নিয়ম অনুযায়ী ভিন্ন।
| হেডার | OpenAI সামঞ্জস্যপূর্ণ | Anthropic সামঞ্জস্যপূর্ণ |
|---|---|---|
| X-API-Key: <키> | ব্যবহার করা যায় | ব্যবহার করা যায় |
| Authorization: Bearer <키> | ব্যবহার করা যায় | ব্যবহার করা যায় |
| Authorization: <키> (Bearer ছাড়া) | প্রত্যাখ্যাত | ব্যবহার করা যায় |
OpenAI সামঞ্জস্যপূর্ণ পথে Authorization হেডার ব্যবহার করার সময় Bearer প্রিফিক্স প্রয়োজন। প্রিফিক্স ছাড়া শুধু কী পাঠালে গেটওয়ে অনুরোধ প্রত্যাখ্যান করে।
হেডারের নামের ক্ষেত্রে বড় হাতের ও ছোট হাতের অক্ষর আলাদা হিসেবে গণ্য হয় না, তাই Anthropic SDK পাঠানো x-api-key হেডারও অপরিবর্তিতভাবে কাজ করে। উভয় হেডার নির্দিষ্ট করলে X-API-Key-এর মান অগ্রাধিকার পায়।
base URL
আগে ব্যবহার করা SDK-তে শুধু base URL-টি নিচের ঠিকানায় পরিবর্তন করলেই সেটি অপরিবর্তিতভাবে ব্যবহার করা যাবে। দুটি ঠিকানার মধ্যে /v1 অন্তর্ভুক্ত আছে কি না, তা ভিন্ন; তাই নিয়ম অনুযায়ী ঠিকানাটি হুবহু নির্দিষ্ট করুন।
| নিয়ম | base URL | পথের নিয়ম |
|---|---|---|
| OpenAI সামঞ্জস্যপূর্ণ | https://platform.clevi.net/api/v2/aiservice/openai/v1 | /v1 পর্যন্ত base URL-এ অন্তর্ভুক্ত করুন। |
| Anthropic সামঞ্জস্যপূর্ণ | https://platform.clevi.net/api/v2/aiservice/anthropic | Anthropic SDK অনুরোধের পথে সরাসরি /v1 যোগ করে, তাই এটি /v1-এর আগে শেষ হয়। |
প্রমাণীকরণ যাচাই
কী এবং base URL সেট করার পর মডেলের তালিকা দেখলে প্রমাণীকরণ হয়েছে কি না তা যাচাই করা যায়। নিচের উদাহরণে একই অনুরোধ curl, OpenAI SDK এবং Anthropic SDK দিয়ে চালানো হয়েছে। sk-...-এর জায়গায় API কী-এর পৃষ্ঠায় ইস্যু করা কীটি বসান।
curl দিয়ে অনুরোধ করার সময় উভয় ফরম্যাটেই /v1/models পর্যন্ত সম্পূর্ণ পাথ নির্দিষ্ট করুন। প্রথম কমান্ডটি OpenAI-সামঞ্জস্যপূর্ণ পাথে X-API-Key হেডার এবং দ্বিতীয় কমান্ডটি Anthropic-সামঞ্জস্যপূর্ণ পাথে Authorization হেডার ব্যবহার করে।
curl https://platform.clevi.net/api/v2/aiservice/openai/v1/models \
-H "X-API-Key: sk-..."
curl https://platform.clevi.net/api/v2/aiservice/anthropic/v1/models \
-H "Authorization: Bearer sk-..." \
-H "anthropic-version: 2023-06-01"OpenAI SDK-তে base_url-এ /v1-সহ ঠিকানা নির্দিষ্ট করুন।
from openai import OpenAI
client = OpenAI(
api_key="sk-...",
base_url="https://platform.clevi.net/api/v2/aiservice/openai/v1",
)
for model in client.models.list():
print(model.id)Anthropic SDK-তে base_url এমন একটি ঠিকানা হিসেবে নির্দিষ্ট করুন যা /v1-এর আগে শেষ হয়।
প্রমাণীকরণের জন্য SDK যে x-api-key হেডার পাঠায়, সেটিই অপরিবর্তিতভাবে ব্যবহার করুন।
from anthropic import Anthropic
client = Anthropic(
api_key="sk-...",
base_url="https://platform.clevi.net/api/v2/aiservice/anthropic",
)
for model in client.models.list(limit=20).data:
print(model.id)যেকোনো উদাহরণে প্রতিক্রিয়া 200 হলে প্রমাণীকরণ সফল হয়েছে এবং প্রতিক্রিয়ার data-তে এই কী দিয়ে কল করা যায় এমন মডেলের তালিকা থাকে। 401 হলে পরবর্তী বিভাগের ক্রম অনুযায়ী কারণ যাচাই করুন।
প্রমাণীকরণ ব্যর্থতা
কী না থাকলে বা মেয়াদোত্তীর্ণ·বাতিল করা কী পাঠালে 401 ফেরত দেওয়া হয়। OpenAI-সামঞ্জস্যপূর্ণ পাথে কী ছাড়া কল করলে নিচের বডি ফেরত দেওয়া হয়, আর Anthropic-সামঞ্জস্যপূর্ণ পাথে error.type হয় authentication_error।
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}401 পেলে নিচের ক্রমে যাচাই করুন।
- API কী-এর পৃষ্ঠায় কী-এর অবস্থা যাচাই করুন। মেয়াদোত্তীর্ণ বা বাতিল করা কী হলে নতুন কী ইস্যু করুন।
- হেডারের নাম X-API-Key নাকি Authorization, তা যাচাই করুন।
- OpenAI-সামঞ্জস্যপূর্ণ পাথে Authorization হেডার ব্যবহার করলে Bearer প্রিফিক্স আছে কি না যাচাই করুন।
সংশোধন করার পর প্রমাণীকরণ যাচাই বিভাগের মডেলের তালিকা দেখার অনুরোধটি আবার চালিয়ে 200 আসছে কি না নিশ্চিত করুন।
একসঙ্গে ব্যবহার করা হেডার
নিচের সব হেডার ঐচ্ছিক। সমস্যা শনাক্ত করার সুবিধার জন্য X-Request-Id নির্দিষ্ট করে রাখার পরামর্শ দেওয়া হয়।
| হেডার | ব্যবহারের উদ্দেশ্য | বাদ দিলে |
|---|---|---|
| X-Request-Id | অনুরোধ ট্র্যাক করার শনাক্তকারী। Anthropic-সামঞ্জস্যপূর্ণ পথে প্রতিক্রিয়ার request-id হেডারে একই মান ফেরত দেওয়া হয়। | সার্ভার এটি ইস্যু করে। |
| X-Region-Code | কলের অঞ্চল নির্দিষ্ট করে। | এটি global। |
| X-Product-Sku (কোয়েরি product_sku দিয়েও নির্দিষ্ট করা যায়) | বিলিংয়ের জন্য ব্যবহৃত Product SKU সরাসরি নির্দিষ্ট করে। হেডারের অগ্রাধিকার কোয়েরির চেয়ে বেশি এবং এটি প্রধানত ভয়েস·ভয়েস পথে ব্যবহৃত হয়। | ভয়েস পথে এটি বাদ দেওয়া যায় না। audio/speech এবং audio/transcriptions অনুরোধের বডির model দিয়ে Product নির্বাচন করে। |
| anthropic-version / anthropic-beta | Anthropic-সামঞ্জস্যপূর্ণ পথে অপরিবর্তিতভাবে ফরোয়ার্ড করা হয়। | সংস্করণটি 2023-06-01। |
5xx বারবার ঘটলে সহায়তা ও যোগাযোগের মাধ্যমে X-Request-Id সহ জানান। নিজে নির্দিষ্ট করা মান হলে ক্লায়েন্টের রেকর্ডের সঙ্গে সরাসরি মিলিয়ে দেখা যাবে।