Developer guide
Autentikasi dengan kunci API
Header untuk memasukkan kunci API dan base URL yang akan diatur di SDK
Halaman ini membahas cara melakukan autentikasi ke gateway CLEVI dengan kunci API.
Baik jalur yang kompatibel dengan OpenAI maupun jalur yang kompatibel dengan Anthropic menggunakan satu kunci untuk autentikasi,
tetapi rentang header tempat kunci dimasukkan dan base URL yang diatur di SDK berbeda sesuai spesifikasinya.
Header autentikasi
Kedua spesifikasi yang kompatibel menggunakan satu kunci API untuk autentikasi. Kunci diterbitkan dari halaman Kunci API di konsol, dan pencabutan serta cakupan penggunaannya dikelola di halaman yang sama.
| Header | Kompatibel dengan OpenAI | Kompatibel dengan Anthropic |
|---|---|---|
| X-API-Key: <키> | Dapat digunakan | Dapat digunakan |
| Authorization: Bearer <키> | Dapat digunakan | Dapat digunakan |
| Authorization: <키> (tanpa Bearer) | Ditolak | Dapat digunakan |
Nama header tidak membedakan huruf besar-kecil. x-api-key yang dikirim oleh Anthropic SDK juga berfungsi tanpa perubahan.
base URL
SDK yang sudah digunakan dapat tetap digunakan hanya dengan mengganti base URL ke alamat di bawah ini. Kedua alamat berbeda dalam hal apakah menyertakan /v1.
| Spesifikasi | base URL | Aturan jalur |
|---|---|---|
| Kompatibel dengan OpenAI | https://platform.clevi.net/api/v2/aiservice/openai/v1 | Sertakan hingga /v1 dalam base URL. |
| Kompatibel dengan Anthropic | https://platform.clevi.net/api/v2/aiservice/anthropic | Anthropic SDK menambahkan /v1 sendiri ke jalur, sehingga base URL berakhir sebelum /v1. |
Memeriksa autentikasi
Anda dapat langsung mengetahui status autentikasi dengan memasukkan kunci dan base URL lalu mengambil daftar model. Ketiga contoh di bawah melakukan permintaan yang sama menggunakan curl, OpenAI SDK, dan 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)Masukkan kunci yang diterbitkan di halaman Kunci API pada bagian sk-....
- Jika responsnya 200, autentikasi berhasil. data berisi daftar model yang dapat dipanggil dengan kunci ini.
- Jika responsnya 401, periksa sesuai urutan pada bagian Kegagalan autentikasi di bawah.
Header yang digunakan bersama
Semuanya opsional. Untuk melacak masalah, sebaiknya X-Request-Id tetap disertakan.
| Header | Kegunaan | Jika dihilangkan |
|---|---|---|
| X-Request-Id | Pengidentifikasi untuk melacak permintaan. Dalam respons yang kompatibel dengan Anthropic, dikembalikan sebagai header request-id. | Diterbitkan oleh server. |
| X-Region-Code | Region pemanggilan | global. |
| X-Product-Sku (juga dapat menggunakan product_sku sebagai parameter kueri) | Menentukan Product SKU yang akan digunakan untuk penagihan secara langsung. Header memiliki prioritas lebih tinggi daripada kueri dan terutama digunakan pada jalur audio dan voice. | Diperlukan pada jalur voice. audio/speech dan audio/transcriptions memilih Product berdasarkan model di isi permintaan. |
| anthropic-version / anthropic-beta | Diteruskan apa adanya pada jalur yang kompatibel dengan Anthropic. | Versinya adalah 2023-06-01. |
Kegagalan autentikasi
Jika kunci tidak ada atau Anda mengirimkan kunci yang kedaluwarsa atau dicabut, hasilnya adalah 401. Jika melakukan pemanggilan tanpa kunci pada jalur yang kompatibel dengan OpenAI, isi berikut akan dikembalikan, sedangkan error.type pada jalur yang kompatibel dengan Anthropic adalah authentication_error.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}- Periksa status kunci di layar kunci API. Jika kunci kedaluwarsa atau dicabut, terbitkan kunci baru.
- Pastikan nama header adalah X-API-Key atau Authorization.
- Jika menggunakan Authorization pada jalur yang kompatibel dengan OpenAI, periksa awalan Bearer.
