Developer guide
API anahtarıyla kimlik doğrulama
API anahtarının ekleneceği başlık ve SDK’da ayarlanacak base URL
CLEVI ağ geçidi, OpenAI uyumlu yol ve Anthropic uyumlu yolu tek bir API anahtarıyla doğrular.
İstemcide ayarlanacak iki değer vardır: anahtarı taşıyan kimlik doğrulama başlığı ve SDK’nın base URL’si. İzin verilen başlık biçimi ve base URL, spesifikasyona göre farklılık gösterir.
Ayarları tamamladıktan sonra model listesini sorgulayarak kimlik doğrulamasının başarılı olup olmadığını hemen kontrol edebilirsiniz.
Kimlik doğrulaması başarısız olursa 401, kimlik doğrulamasından geçildikten sonra yetki veya kota koşulları karşılanmazsa 403 döndürülür.
API anahtarını konsoldaki API anahtarı ekranından oluşturun. Aynı ekrandan anahtarı iptal edebilir ve kullanım kapsamını yönetebilirsiniz.
Kimlik doğrulama başlığı
Her iki spesifikasyonda da API anahtarı tek bir istek başlığında taşınır. X-API-Key başlığı veya Authorization başlığı kullanılır; izin verilen biçim spesifikasyona göre farklılık gösterir.
| Başlık | OpenAI uyumlu | Anthropic uyumlu |
|---|---|---|
| X-API-Key: <키> | Kullanılabilir | Kullanılabilir |
| Authorization: Bearer <키> | Kullanılabilir | Kullanılabilir |
| Authorization: <키> (Bearer olmadan) | Reddedilir | Kullanılabilir |
OpenAI uyumlu yolda Authorization başlığı kullanılırken Bearer ön eki gereklidir. Anahtar yalnızca ön ek olmadan gönderilirse ağ geçidi isteği reddeder.
Başlık adları büyük/küçük harfe duyarlı olmadığından Anthropic SDK’nın gönderdiği x-api-key başlığı da olduğu gibi çalışır. Her iki başlık da belirtilirse X-API-Key değeri öncelikli olarak uygulanır.
base URL
Mevcut SDK’nızı yalnızca base URL’yi aşağıdaki adresle değiştirerek kullanmaya devam edebilirsiniz. İki adres, /v1 içermeleri bakımından farklıdır; bu nedenle spesifikasyona uygun adresi olduğu gibi belirtin.
| Spesifikasyon | base URL | Yol kuralı |
|---|---|---|
| OpenAI uyumlu | https://platform.clevi.net/api/v2/aiservice/openai/v1 | /v1, base URL’ye dahildir. |
| Anthropic uyumlu | https://platform.clevi.net/api/v2/aiservice/anthropic | Anthropic SDK, istek yoluna /v1’i doğrudan eklediğinden /v1’in öncesinde sona erer. |
Kimlik doğrulamasını kontrol etme
Anahtarı ve base URL'yi ayarladıktan sonra model listesini sorgulayarak kimlik doğrulama durumunu kontrol edebilirsiniz. Aşağıdaki örneklerde aynı sorgu curl, OpenAI SDK ve Anthropic SDK ile çalıştırılır. sk-... yerine API anahtarı ekranından oluşturduğunuz anahtarı girin.
curl ile sorgulama yaparken her iki standart için de /v1/models dahil tam yolu belirtin. İlk komut, OpenAI uyumlu yol için X-API-Key başlığını; ikinci komut ise Anthropic uyumlu yol için Authorization başlığını kullanır.
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 için /v1 içeren adresi base_url olarak belirtin.
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 için base_url değerini /v1'den önce bitecek şekilde belirtin.
Kimlik doğrulamada SDK'nın gönderdiği x-api-key başlığını olduğu gibi kullanın.
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)Her iki örnekte de yanıt 200 ise kimlik doğrulama başarılıdır ve yanıtın data alanında bu anahtarla çağrılabilecek modellerin listesi bulunur. Yanıt 401 ise nedeni aşağıdaki bölümdeki sırayla kontrol edin.
Kimlik doğrulama başarısız
Anahtar gönderilmezse veya süresi dolmuş ya da iptal edilmiş bir anahtar gönderilirse 401 döndürülür. OpenAI uyumlu yolda anahtar olmadan çağrı yapıldığında aşağıdaki gövde döndürülür; Anthropic uyumlu yolda ise error.type değeri authentication_error olur.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}401 alırsanız aşağıdaki sırayla kontrol edin.
- API anahtarı ekranından anahtarın durumunu kontrol edin. Süresi dolmuş veya iptal edilmişse yeni bir anahtar oluşturun.
- Başlık adının X-API-Key veya Authorization olduğunu kontrol edin.
- OpenAI uyumlu yolda Authorization başlığını kullanıyorsanız Bearer ön ekinin bulunduğunu kontrol edin.
Düzelttikten sonra kimlik doğrulama kontrolü bölümündeki model listesi sorgusunu yeniden çalıştırarak 200 yanıtı geldiğini doğrulayın.
Birlikte kullanılan başlıklar
Aşağıdaki başlıkların tümü isteğe bağlıdır. Sorunları izleyebilmek için X-Request-Id belirtmenizi öneririz.
| Başlık | Kullanım amacı | Atlanırsa |
|---|---|---|
| X-Request-Id | İstek takibi için tanımlayıcıdır. Anthropic uyumlu yol, yanıtın request-id başlığında aynı değeri döndürür. | Sunucu tarafından verilir. |
| X-Region-Code | Çağrı bölgesini belirtir. | global değeridir. |
| X-Product-Sku (sorgu product_sku ile de belirtilebilir) | Ücretlendirme için kullanılacak Product SKU'yu doğrudan belirtir. Başlık, sorguya göre önceliklidir ve genellikle ses·voice yollarında kullanılır. | Voice yolunda atlanamaz. audio/speech ve audio/transcriptions, Product'ı istek gövdesindeki model ile seçer. |
| anthropic-version / anthropic-beta | Anthropic uyumlu yolda olduğu gibi iletilir. | Sürüm 2023-06-01'dir. |
5xx hataları tekrarlanırsa lütfen yardım ve iletişim kanalları üzerinden X-Request-Id ile birlikte bildirin. Değeri doğrudan belirttiyseniz istemci kayıtlarıyla hemen karşılaştırabilirsiniz.