Developer guide

Autentikasi dengan kunci API

Header untuk memasukkan kunci API dan base URL yang akan diatur di SDK

Gateway CLEVI mengautentikasi jalur yang kompatibel dengan OpenAI dan jalur yang kompatibel dengan Anthropic menggunakan satu kunci API.
Ada dua nilai yang perlu diatur di klien: header autentikasi yang berisi kunci dan base URL SDK. Format header dan base URL yang diizinkan berbeda menurut spesifikasinya.
Setelah konfigurasi selesai, Anda dapat langsung memeriksa status autentikasi dengan mengambil daftar model.
Jika autentikasi gagal, akan dikembalikan 401. Jika autentikasi berhasil tetapi persyaratan izin atau batas penggunaan tidak terpenuhi, akan dikembalikan 403.

Terbitkan kunci API di halaman kunci API pada konsol. Di halaman yang sama, Anda dapat mengelola pencabutan kunci dan cakupan penggunaannya.

Header autentikasi

Kedua spesifikasi menyertakan kunci API dalam satu header permintaan. Gunakan salah satu dari header X-API-Key atau Authorization. Format yang diizinkan berbeda menurut spesifikasinya.

HeaderKompatibel dengan OpenAIKompatibel dengan Anthropic
X-API-Key: <kunci>DiizinkanDiizinkan
Authorization: Bearer <kunci>DiizinkanDiizinkan
Authorization: <kunci> (tanpa Bearer)DitolakDiizinkan

Saat menggunakan header Authorization pada jalur yang kompatibel dengan OpenAI, diperlukan awalan Bearer. Jika hanya mengirim kunci tanpa awalan tersebut, gateway akan menolak permintaan.

Nama header tidak membedakan huruf besar-kecil, sehingga header x-api-key yang dikirim oleh Anthropic SDK juga dapat digunakan apa adanya. Jika kedua header ditentukan, nilai X-API-Key akan diprioritaskan.

base URL

SDK yang telah Anda gunakan sebelumnya dapat tetap digunakan dengan hanya mengubah base URL ke alamat di bawah ini. Kedua alamat berbeda dalam hal menyertakan /v1 atau tidak, jadi tentukan alamat yang sesuai dengan spesifikasinya apa adanya.

Spesifikasibase URLAturan jalur
Kompatibel dengan OpenAIhttps://platform.clevi.net/api/v2/aiservice/openai/v1Sertakan hingga /v1 dalam base URL.
Kompatibel dengan Anthropichttps://platform.clevi.net/api/v2/aiservice/anthropicAnthropic SDK menambahkan /v1 secara langsung ke jalur permintaan, sehingga URL berakhir sebelum /v1.

Memeriksa autentikasi

Setel kunci dan base URL, lalu ambil daftar model untuk memeriksa apakah autentikasi berhasil. Contoh di bawah menjalankan permintaan yang sama menggunakan curl, OpenAI SDK, dan Anthropic SDK. Ganti sk-... dengan kunci yang diterbitkan di halaman API key.

Saat mengambil daftar menggunakan curl, tentukan jalur lengkap hingga /v1/models untuk kedua spesifikasi. Perintah pertama menggunakan header X-API-Key pada jalur yang kompatibel dengan OpenAI, sedangkan perintah kedua menggunakan header Authorization pada jalur yang kompatibel dengan Anthropic.

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 menentukan alamat yang menyertakan /v1 pada base_url.

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 menentukan base_url yang diakhiri sebelum /v1.
Untuk autentikasi, gunakan header x-api-key yang dikirim oleh SDK tanpa perubahan.

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)

Jika respons dari salah satu contoh adalah 200, autentikasi berhasil, dan data dalam respons berisi daftar model yang dapat dipanggil dengan kunci ini. Jika responsnya 401, periksa penyebabnya mengikuti urutan pada bagian berikutnya.

Autentikasi gagal

Jika kunci tidak ada atau Anda mengirimkan kunci yang telah kedaluwarsa atau dicabut, responsnya adalah 401. Jika Anda melakukan panggilan tanpa kunci pada jalur yang kompatibel dengan OpenAI, isi berikut akan dikembalikan, sedangkan pada jalur yang kompatibel dengan Anthropic, error.type adalah authentication_error.

{
  "error": {
    "message": "API key is required.",
    "type": "invalid_request_error"
  }
}

Jika menerima 401, periksa dengan urutan berikut.

  1. Periksa status kunci di halaman API key. Jika kunci telah kedaluwarsa atau dicabut, terbitkan kunci baru.
  2. Pastikan nama header adalah X-API-Key atau Authorization.
  3. Jika menggunakan header Authorization pada jalur yang kompatibel dengan OpenAI, pastikan terdapat awalan Bearer.

Setelah memperbaikinya, jalankan kembali pengambilan daftar model pada bagian pemeriksaan autentikasi dan pastikan responsnya 200.

Header yang digunakan bersama

Semua header berikut bersifat opsional. Kami menyarankan untuk menetapkan X-Request-Id agar masalah dapat dilacak.

HeaderKegunaanJika dihilangkan
X-Request-IdID untuk melacak permintaan. Jalur yang kompatibel dengan Anthropic mengembalikan nilai yang sama melalui header request-id pada respons.Dikeluarkan oleh server.
X-Region-CodeMenentukan wilayah pemanggilan.global.
X-Product-Sku (juga dapat ditentukan dengan kueri product_sku)Menentukan Product SKU yang akan digunakan untuk penagihan secara langsung. Header diprioritaskan daripada kueri dan terutama digunakan pada jalur suara·voice.Tidak dapat dihilangkan pada jalur voice. audio/speech dan audio/transcriptions memilih Product berdasarkan model dalam isi permintaan.
anthropic-version / anthropic-betaDiteruskan apa adanya pada jalur yang kompatibel dengan Anthropic.Versinya adalah 2023-06-01.

Jika 5xx berulang, beri tahu kami melalui bantuan dan kontak dengan menyertakan X-Request-Id. Jika nilainya ditentukan secara langsung, Anda dapat langsung mencocokkannya dengan catatan klien.

Bahasa dan wilayah

Bahasa yang diterjemahkan oleh mesin diterjemahkan oleh clevi/cip-5.5-im dan ditandai demikian. Ini berlaku untuk bahasa dengan bundel situs yang telah dipublikasikan.

137 bahasa

Direkomendasikan

1

Asia Bagian Timur

7

Asia Tenggara

11

Asia Bagian Selatan

18

Asia Tengah

5

Timur Tengah dan Kaukasus

10

Eropa Bagian Barat dan Eropa Bagian Selatan

17

Inggris Raya dan Irlandia

4

Eropa Bagian Utara

10

Eropa Tengah dan Balkan

14

Eropa Bagian Timur

5

Afrika Bagian Timur

8

Afrika Bagian Barat dan Afrika Bagian Tengah

9

Afrika Bagian Selatan

8

Amerika

5

Oseania

5