Developer guide
احراز هویت با کلید API
هدر حاوی کلید API و base URL برای تنظیم در SDK
این صفحه نحوه احراز هویت در درگاه CLEVI با کلید API را توضیح میدهد.
در هر دو مسیر سازگار با OpenAI و سازگار با Anthropic، احراز هویت با یک کلید انجام میشود؛
محدوده مجاز هدر حاوی کلید و base URL که باید در SDK تنظیم شود، در هر استاندارد متفاوت است.
هدر احراز هویت
هر دو استاندارد سازگار، با یک کلید API احراز هویت میشوند. کلید از صفحه کلیدهای API در کنسول صادر میشود و ابطال و محدوده استفاده نیز از همان صفحه مدیریت میشود.
| هدر | سازگار با OpenAI | سازگار با Anthropic |
|---|---|---|
| X-API-Key: <کلید> | قابل استفاده | قابل استفاده |
| Authorization: Bearer <کلید> | قابل استفاده | قابل استفاده |
| Authorization: <کلید> (بدون Bearer) | رد میشود | قابل استفاده |
نام هدرها به حروف کوچک و بزرگ حساس نیستند. x-api-key ارسالشده توسط Anthropic SDK نیز بدون تغییر کار میکند.
base URL
SDK مورد استفاده شما با تغییر base URL به آدرس زیر، بدون تغییر کار میکند. تفاوت دو آدرس در این است که آیا /v1 را شامل میشوند یا خیر.
| استاندارد | base URL | قواعد مسیر |
|---|---|---|
| سازگار با OpenAI | https://platform.clevi.net/api/v2/aiservice/openai/v1 | base URL شامل /v1 نیز میشود. |
| سازگار با Anthropic | https://platform.clevi.net/api/v2/aiservice/anthropic | Anthropic SDK خودش /v1 را به مسیر اضافه میکند؛ بنابراین آدرس قبل از /v1 به پایان میرسد. |
بررسی احراز هویت
با وارد کردن کلید و base URL و دریافت فهرست مدلها، میتوانید بلافاصله از انجام احراز هویت مطمئن شوید. هر سه نمونه زیر همین درخواست را با curl، OpenAI SDK و Anthropic SDK انجام میدهند.
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"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)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)در جای ...-sk، کلیدی را که از صفحه کلیدهای API صادر کردهاید وارد کنید.
- اگر پاسخ 200 باشد، احراز هویت انجام شده است. data شامل فهرست مدلهایی است که میتوان با این کلید فراخوانی کرد.
- اگر پاسخ 401 باشد، موارد را طبق ترتیب بخش «شکست احراز هویت» زیر بررسی کنید.
هدرهای مورد استفاده همزمان
همه موارد اختیاری هستند. برای ردیابی مشکل، بهتر است X-Request-Id را اضافه کنید.
| هدر | کاربرد | در صورت حذف |
|---|---|---|
| X-Request-Id | شناسهای برای ردیابی درخواست. در پاسخ سازگار با Anthropic، با هدر request-id برگردانده میشود. | توسط سرور صادر میشود. |
| X-Region-Code | منطقه فراخوانی | global است. |
| X-Product-Sku (با product_sku در query نیز امکانپذیر است) | Product SKU مورد استفاده برای صورتحساب را مستقیماً تعیین میکند. هدر بر query اولویت دارد و عمدتاً در مسیرهای صوتی·voice استفاده میشود. | در مسیرهای voice لازم است. در audio/speech و audio/transcriptions، Product با model موجود در بدنه انتخاب میشود. |
| anthropic-version / anthropic-beta | در مسیر سازگار با Anthropic بدون تغییر منتقل میشود. | نسخه 2023-06-01 است. |
شکست احراز هویت
اگر کلیدی وجود نداشته باشد یا کلید منقضیشده یا لغوشده ارسال شود، پاسخ 401 است. اگر در مسیر سازگار با OpenAI بدون کلید فراخوانی انجام شود، بدنه زیر برگردانده میشود و error.type در مسیر سازگار با Anthropic برابر authentication_error است.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}- وضعیت کلید را در صفحه کلیدهای API بررسی کنید. اگر کلید منقضی یا لغو شده است، کلید جدیدی صادر کنید.
- بررسی کنید نام هدر X-API-Key یا Authorization باشد.
- اگر در مسیر سازگار با OpenAI از Authorization استفاده میکنید، پیشوند Bearer را بررسی کنید.
