Kunci API Claude: Kesalahan Integrasi Umum
Mengintegrasikan kunci API Claude sering gagal karena pengembang salah mengkonfigurasi URL dasar atau mengabaikan batas jendela konteks yang ketat. Panduan ini memperbaiki kesalahan umum agar kode Anda berjalan lancar tanpa blokir batas laju yang tidak terduga.
Terakhir diperbarui
Ringkasan
- Selalu verifikasi URL dasar Anda cocok dengan penyedia spesifik, karena endpoint generik sering menolak kunci kustom.
- ID Model seperti 'claude-3-opus' berbeda dari nama tampilan dan harus sesuai dengan spesifikasi API secara tepat.
- Respons streaming memerlukan konfigurasi header spesifik untuk memproses data token-per-token dengan benar.
- Batas laju bersifat ketat per kunci; melaluinya memicu kesalahan 429 yang menghentikan aplikasi Anda secara instan.
Mengapa URL dasar Anda mungkin salah
URL dasar Anda menentukan ke mana permintaan Anda dikirim. Jika Anda mengarahkan klien OpenAI-compatible standar ke endpoint yang salah, server akan menolak kunci Anda segera. Banyak pengembang bingung antara proxy generik dengan infrastruktur penyedia sebenarnya. Ketidakcocokan ini menyebabkan kegagalan autentikasi sebelum logika Anda bahkan berjalan.
Periksa konfigurasi klien Anda dengan cermat. Pastikan URL mencakup domain dan jalur versi yang benar. Satu typo kecil di nama domain mengarahkan lalu lintas ke jalan buntu. Selalu verifikasi URL terhadap dokumentasi resmi penyedia. Jangan menebak berdasarkan struktur layanan yang mirip.
- Verifikasi domain sesuai persis dengan penyedia.
- Termukkan versi API yang benar di path.
- Uji konektivitas sebelum menjalankan prompt kompleks.
Membuat Kebingungan antara ID model dengan nama model
ID Model adalah string unik yang digunakan API untuk mengarahkan permintaan Anda. ID ini sering berbeda dari nama pemasaran yang Anda lihat di situs web. Menggunakan pengenal yang salah mengembalikan kesalahan 400 Bad Request. Kesalahan ini membuang token dan membingungkan log debugging.
Selalu gunakan string persis yang disediakan dalam referensi API. Misalnya, model bernama 'Claude Opus' mungkin memiliki ID 'claude-3-opus-20240229'. Spasi dan nomor versi penting. Periksa kode klien Anda untuk string hard-coded. Perbarui jika penyedia merilis versi model baru.
API uncensored kami menggunakan ID sederhana seperti 'uncensored' agar tetap mudah. Ini menghindari kompleksitas mengelola beberapa string versi. Anda mengirim satu ID, dan Anda mendapatkan satu perilaku yang konsisten. Tidak ada pergeseran versi yang perlu dikhawatirkan.
Menangani batas token dan jendela konteks
Batas token menentukan berapa banyak data yang muat dalam satu permintaan. Melebihi batas ini akan memotong input Anda atau memblokir respons. Jendela konteks mencakup prompt Anda dan output yang dihasilkan. Anda harus memperhitungkan kedua sisi pertukaran.
Pantau penggunaan token Anda dengan cermat. Jika input Anda besar, kurangi token output maksimum. Ini memastikan permintaan tetap dalam batas. Beberapa API membebankan biaya berbeda untuk token input versus output. Pahami model penetapan harga sebelum melakukan skalasi.
| Komponen | Batas | Catatan |
|---|---|---|
| Jendela Konteks | 100k token | Prompt + Output digabungkan |
| Output Maks | 16k token | Default adalah 2k jika tidak ditentukan |
Layanan kami menawarkan jendela konteks 100.000 token. Ini memungkinkan dokumen ekstensif tanpa pemisahan. Anda hanya membayar apa yang Anda gunakan. Kesalahan tidak mengonsumsi kredit prabayar Anda.
Format respons streaming vs non-streaming
Streaming mengirim data dalam chunk kecil saat data tersebut dihasilkan. Non-streaming menunggu seluruh respons sebelum mengirim apa pun. Streaming mengurangi latensi yang dirasakan bagi pengguna. Ini memerlukan penanganan Server-Sent Events (SSE) dalam kode Anda.
Atur parameter 'stream' menjadi true dalam permintaan Anda. Server mengembalikan objek JSON parsial. Anda harus mem-parsing setiap bagian dan menggabungkan token-tokennya. Pendekatan ini terasa lebih cepat tetapi menambah kompleksitas pada klien Anda. Non-streaming lebih sederhana untuk pemrosesan batch.
Kami mendukung streaming melalui SSE. Detail penggunaan token muncul di chunk terakhir. Ini memungkinkan Anda melacak biaya secara real-time. Gunakan fitur ini untuk antarmuka obrolan di mana kecepatan sangat penting.
Masalah kompatibilitas pemanggilan fungsi
Pemanggilan fungsi memungkinkan model mengembalikan data terstruktur untuk kode Anda eksekusi. Tidak semua model mendukung fitur ini secara setara. Kompatibilitas bergantung pada pelatihan model dan versi API. Skema yang tidak cocok menyebabkan kesalahan parsing.
Tentukan skema fungsi Anda dengan jelas. Gunakan format JSON standar untuk definisi. Uji dengan fungsi sederhana terlebih dahulu. Tingkatkan kompleksitas secara bertahap saat Anda memverifikasi perilaku. Pastikan pustaka klien Anda mendukung sintaks panggilan fungsi terbaru.
Model kami mendukung pemanggilan fungsi. Anda dapat meneruskan parameter tools dan tool_choice. Ini memungkinkan integrasi yang andal dengan layanan eksternal. Mode JSON memastikan output selalu JSON yang valid. Tidak perlu parsing tambahan untuk ekstraksi data dasar.
Memahami batas laju per kunci
Batas laju mengontrol berapa banyak permintaan yang dapat Anda kirim dalam waktu tertentu. Melebihi batas ini memicu kesalahan 429. Aplikasi Anda berhenti sampai jendela waktu direset. Kunci yang berbeda mungkin memiliki batas yang berbeda.
Periksa dokumentasi penyedia Anda untuk angka spesifik. Beberapa layanan membatasi permintaan per menit. Yang lain membatasi token per hari. Rencanakan konkurensi Anda dengan hati-hati. Terlalu banyak permintaan simultan dapat membebani kunci Anda.
Kami mengizinkan 300 permintaan per menit per kunci. Anda dapat menjalankan 8 permintaan secara bersamaan. Ini cukup untuk sebagian besar alat otomatis. Satu kunci per akun memastikan pelacakan yang jelas. Tingkatkan paket Anda jika Anda membutuhkan throughput yang lebih tinggi.
Debugging Error 401 dan 429
Kesalahan 401 berarti kunci API Anda tidak valid atau kedaluwarsa. Kesalahan 429 berarti Anda mencapai batas laju. Ini adalah masalah integrasi paling umum. Memperbaikinya memerlukan pemeriksaan kredensial dan pola penggunaan Anda.
Untuk kesalahan 401, buat ulang kunci Anda. Pastikan disalin dengan benar tanpa spasi tambahan. Periksa tanggal kedaluwarsa. Untuk kesalahan 429, terapkan backoff eksponensial dalam kode Anda. Coba ulang permintaan setelah jeda singkat.
Layanan kami menyediakan pesan kesalahan yang jelas. Periksa badan respons untuk detailnya. Anda juga dapat menghubungi dukungan untuk masalah kunci tertentu. Kredit tidak pernah kedaluwarsa, sehingga saldo Anda aman bahkan jika Anda mencapai batas.
Kapan Menggunakan Proxy Dibandingkan API Langsung
Proxy mengarahkan permintaan melalui server perantara. Ini dapat menyediakan caching atau load balancing. Panggilan API langsung menuju langsung ke penyedia. Proxy menambah latensi tetapi dapat menyederhanakan routing multi-model.
Gunakan proxy jika Anda perlu menggabungkan beberapa model. Panggilan langsung lebih cepat dan lebih murah untuk penggunaan single-model. Proxy sering menambahkan markup mereka sendiri pada harga. Evaluasi trade-off dengan hati-hati.
API kami adalah layanan langsung. Anda terhubung langsung ke endpoint kami. Tidak ada perantara yang menambah kompleksitas atau biaya. Anda mendapatkan harga dan kinerja yang dapat diprediksi. Ini ideal untuk pengembang yang menginginkan kesederhanaan.
Pertanyaan umum
Apakah harga kunci API Claude tetap atau berdasarkan penggunaan?
Sebagian besar API LLM modern, termasuk Claude, menggunakan harga berbasis penggunaan. Anda membayar per token yang diproses. Beberapa penyedia menawarkan tier langganan, tetapi ini kurang umum untuk akses API. Selalu periksa dokumentasi resmi untuk tarif terkini.
Apakah saya bisa menggunakan kunci API yang sama untuk beberapa proyek?
Ya, Anda dapat membagikan satu kunci API di beberapa proyek. Namun, ini membuat pelacakan penggunaan per proyek menjadi lebih sulit. Banyak pengembang membuat kunci terpisah untuk aplikasi yang berbeda untuk menjaga penagihan yang jelas dan membatasi paparan.
Bagaimana cara menangani respons streaming di Python?
Gunakan pustaka seperti 'openai' atau 'requests' untuk menangani Server-Sent Events. Iterasi melalui objek stream untuk mengakses setiap potongan. Gabungkan token konten untuk membangun respons lengkap. Ini secara signifikan mengurangi latensi untuk output besar.
Apa perbedaan antara kunci API dan OAuth?
Kunci API adalah token sederhana yang diteruskan dalam header. OAuth menyediakan alur autentikasi delegasi yang lebih aman. Kunci API lebih mudah diimplementasikan untuk komunikasi server-ke-server. OAuth lebih baik untuk aplikasi yang berpusat pada pengguna di mana Anda bertindak atas nama pengguna.
Hasilkan kunci API
Daftar, ambil token Anda, perbarui URL dasar Anda. Itu adalah seluruh konfigurasi.