Developer guide
API açarı ilə autentifikasiya
API açarının əlavə ediləcəyi başlıq və SDK-da təyin ediləcək base URL
CLEVI Gateway OpenAI uyğun yolunu və Anthropic uyğun yolunu bir API açarı ilə autentifikasiya edir.
Klientdə təyin ediləcək iki dəyər var: açarın yerləşdirildiyi autentifikasiya başlığı və SDK-nın base URL-i. İcazə verilən başlıq formatı və base URL hər spesifikasiyaya görə fərqlənir.
Tənzimləməni tamamladıqdan sonra modellərin siyahısını sorğulayaraq autentifikasiyanı dərhal yoxlaya bilərsiniz.
Autentifikasiya uğursuz olarsa 401, autentifikasiyadan keçdikdən sonra icazə və ya limit şərtləri təmin edilməzsə 403 qaytarılır.
API açarını konsolun API açarları səhifəsindən əldə edin. Eyni səhifədə açarı ləğv edə və istifadə dairəsini idarə edə bilərsiniz.
Autentifikasiya başlığı
Hər iki spesifikasiya API açarını bir sorğu başlığında daşıyır. X-API-Key başlığından və ya Authorization başlığından istifadə edilir və icazə verilən format spesifikasiyaya görə dəyişir.
| Başlıq | OpenAI uyğun | Anthropic uyğun |
|---|---|---|
| X-API-Key: <açar> | İstifadə edilə bilər | İstifadə edilə bilər |
| Authorization: Bearer <açar> | İstifadə edilə bilər | İstifadə edilə bilər |
| Authorization: <açar> (Bearer olmadan) | Rədd edilir | İstifadə edilə bilər |
OpenAI uyğun yolda Authorization başlığından istifadə edərkən Bearer prefiksi tələb olunur. Açarı prefikssiz göndərsəniz, Gateway sorğunu rədd edir.
Başlıq adları böyük-kiçik hərfə həssas olmadığından Anthropic SDK-nın göndərdiyi x-api-key başlığı da dəyişdirilmədən işləyir. Hər iki başlıq təyin edilərsə, X-API-Key dəyərinə üstünlük verilir.
base URL
Əvvəllər istifadə etdiyiniz SDK-nı yalnız base URL-i aşağıdakı ünvanla dəyişərək olduğu kimi istifadə edə bilərsiniz. İki ünvan /v1-in daxil edilib-edilməməsinə görə fərqlənir, buna görə spesifikasiyaya uyğun ünvanı olduğu kimi təyin edin.
| Spesifikasiya | base URL | Yol qaydası |
|---|---|---|
| OpenAI uyğun | https://platform.clevi.net/api/v2/aiservice/openai/v1 | /v1-i base URL-ə daxil edin. |
| Anthropic uyğun | https://platform.clevi.net/api/v2/aiservice/anthropic | Anthropic SDK sorğu yoluna /v1-i özü əlavə etdiyindən URL /v1-dən əvvəl tamamlanır. |
Autentifikasiyanın yoxlanılması
Açarı və base URL-i təyin etdikdən sonra modellər siyahısını sorğulayaraq autentifikasiyanın uğurlu olub-olmadığını yoxlaya bilərsiniz. Aşağıdakı nümunələr eyni sorğunu curl, OpenAI SDK və Anthropic SDK ilə icra edir. sk-... yerinə API açarı ekranından əldə etdiyiniz açarı daxil edin.
curl ilə sorğu göndərərkən hər iki spesifikasiya üçün /v1/models daxil olmaqla tam yolu göstərin. Birinci əmr OpenAI ilə uyğun yolda X-API-Key başlığından, ikinci əmr isə Anthropic ilə uyğun yolda Authorization başlığından istifadə edir.
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-də base_url üçün /v1 daxil olmaqla ünvanı göstərin.
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-də base_url üçün /v1-dən əvvəl bitən ünvanı göstərin.
Autentifikasiya üçün SDK-nin göndərdiyi x-api-key başlığından olduğu kimi istifadə edin.
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)İstənilən nümunədə cavab 200 olarsa, autentifikasiya uğurludur və cavabın data sahəsində bu açarla çağırıla bilən modellərin siyahısı olur. Cavab 401 olarsa, səbəbi növbəti bölmədə göstərilən ardıcıllıqla yoxlayın.
Autentifikasiya uğursuz oldu
Açar olmadıqda və ya müddəti bitmiş, yaxud ləğv edilmiş açar göndərildikdə 401 qaytarılır. OpenAI ilə uyğun yolda açarsız çağırış etdikdə aşağıdakı məzmun qaytarılır, Anthropic ilə uyğun yolda isə error.type authentication_error olur.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}401 aldıqda aşağıdakı ardıcıllıqla yoxlayın.
- API açarı ekranında açarın vəziyyətini yoxlayın. Müddəti bitmiş və ya ləğv edilmiş açardırsa, yenisini əldə edin.
- Başlığın adının X-API-Key və ya Authorization olduğunu yoxlayın.
- OpenAI ilə uyğun yolda Authorization başlığından istifadə edirsinizsə, Bearer prefiksinin olub-olmadığını yoxlayın.
Dəyişikliklərdən sonra autentifikasiyanın yoxlanılması bölməsindəki modellər siyahısı sorğusunu yenidən icra edin və 200 cavabının gəldiyini yoxlayın.
Birlikdə istifadə edilən başlıqlar
Aşağıdakı başlıqların hamısı isteğe bağlıdır. Problemləri izləyə bilmək üçün X-Request-Id başlığını təyin etməyiniz tövsiyə olunur.
| Başlıq | İstifadə məqsədi | Buraxıldıqda |
|---|---|---|
| X-Request-Id | Sorğunun izlənməsi üçün identifikatordur. Anthropic uyğunluq yolu cavabın request-id başlığında eyni dəyəri qaytarır. | Server tərəfindən verilir. |
| X-Region-Code | Çağırış regionunu təyin edir. | global-dır. |
| X-Product-Sku (sorğuda product_sku ilə də təyin edilə bilər) | Ödəniş üçün istifadə ediləcək Product SKU-nu birbaşa təyin edir. Başlıq sorğudan üstün tutulur və əsasən səs·voice yollarında istifadə edilir. | Voice yolunda buraxıla bilməz. audio/speech və audio/transcriptions Product-u sorğu mətnindəki model ilə seçir. |
| anthropic-version / anthropic-beta | Anthropic uyğunluq yolunda olduğu kimi ötürülür. | Versiya 2023-06-01-dir. |
5xx xətaları təkrarlanarsa, bunu X-Request-Id ilə birlikdə yardım bölməsi və əlaqə kanalı vasitəsilə bizə bildirin. Dəyəri birbaşa təyin etmisinizsə, onu müştəri qeydləri ilə dərhal müqayisə edə bilərsiniz.