Panduan Integrasi API Mistral
Memindahkan integrasi bergaya Mistral ke URL dasar baru membutuhkan lebih sedikit usaha daripada yang diharapkan sebagian besar tim. Panduan ini mencakup perubahan URL dasar, ID model, streaming, alat, batas token, percobaan ulang, dan kesalahan yang paling mungkin Anda temui, dengan kode yang dapat Anda jalankan apa adanya.
Terakhir diperbarui
Ringkasan
- Perubahannya adalah satu URL dasar dan satu kunci; format permintaan dan respons tetap sama.
- Gunakan ID model uncensored dan periksa dengan satu permintaan uji sebelum mengubah hal lain.
- Streaming dan pemanggilan fungsi bekerja melalui endpoint penyelesaian obrolan yang sama, sehingga parser yang ada tetap berfungsi.
- Biaya adalah $0.15 per 1M token input dan $0.50 per 1M token output, ditagih dari kredit pra-bayar.
Memahami Perubahan URL Dasar
Kode Anda mengirim permintaan ke URL dasar dan melampirkan kunci. Untuk berpindah ke endpoint OpenAI-compatible lainnya, Anda hanya perlu mengubah dua nilai tersebut tanpa mengubah yang lain. Path /v1/chat/completions tetap sama, sehingga badan permintaan dan badan respons mempertahankan bentuknya.
Simpan URL dasar lama dalam nilai konfigurasi, bukan di dalam kode. Dengan cara itu, Anda dapat kembali dengan satu langkah jika masalah muncul di produksi.
Kompatibilitas SDK: Klien OpenAI vs Mistral
Sebagian besar pustaka klien menerima URL dasar kustom. SDK OpenAI resmi, LangChain, dan LlamaIndex semuanya melakukannya, dan klien HTTP biasa juga berfungsi. Atur base URL ke https://mistralapibaseurl.com/v1 dan masukkan kunci baru.
- Periksa versi SDK, karena rilis sangat lama mengabaikan pengaturan URL dasar.
- Periksa bahwa klien mengirimkan kunci di
Authorizationheader sebagai token bearer.
Mengkonfigurasi ID Model
Kirim ID model uncensored. Ini adalah satu-satunya model yang ditawarkan layanan, sehingga id tidak berubah antar permintaan dan Anda tidak memerlukan logika pemilihan model.
Jalankan satu permintaan dengan prompt pendek. Balasan dan blok penggunaan berarti URL dasar, kunci, dan id model semuanya benar.
Mengimplementasikan Respons Streaming
Atur stream: true untuk menerima jawaban sebagai server-sent events. Setiap peristiwa membawa sepotong kecil teks, dan peristiwa terakhir membawa angka penggunaan.
Tampilkan potongan teks saat tiba dan simpan teks lengkap dalam buffer, sehingga pesan disimpan saat aliran berakhir. Ukur waktu hingga token pertama; angka ini menunjukkan seberapa responsif chat terasa bagi pengguna.
Mengaktifkan Pemanggilan Fungsi dan Alat
Kirimkan array tools dalam format yang sama seperti yang sudah Anda gunakan. Model mengembalikan panggilan alat dengan nama fungsi dan argumen JSON. Jalankan fungsi dalam kode Anda, kirimkan kembali hasilnya sebagai pesan alat, dan baca jawaban akhirnya.
- Tentukan satu alat dengan dua argumen wajib dan uji sendiri.
- Uji kasus di mana dua panggilan alat diperlukan secara berurutan.
- Validkan argumen sebelum menjalankan apa pun yang mengubah data.
Mengelola Jendela Konteks dan Token
Jendela konteks adalah 100.000 token. Percakapan panjang akan mengisinya, jadi potong putaran lama atau ringkas sebelum batas tercapai. Setiap permintaan dapat mengembalikan hingga 16.000 token output, dan defaultnya adalah 2.048, jadi aturlah max_tokens untuk jawaban yang Anda harapkan.
Hitung token dari bidang penggunaan setiap respons. Estimasi dari hitungan kata sering meleset jauh untuk kode dan teks non-Inggris.
Menangani Batas Kecepatan dan Retries
Setiap kunci mengizinkan 300 permintaan per menit dan 8 permintaan secara bersamaan. Saat Anda melebihi batas, Anda mendapatkan respons 429. Coba ulang hanya respons 429 dan 5xx, dengan backoff eksponensial dan batas pada total waktu tunggu.
Jangan pernah mencoba ulang 400 atau 401, karena permintaan yang sama akan gagal dengan cara yang sama lagi. Perbaiki permintaan atau kuncinya terlebih dahulu.
Debugging Error API Umum
| Status | Penyebab umum | Apa yang harus dilakukan |
|---|---|---|
| 400 | JSON tidak valid atau field tidak dikenali | Periksa body permintaan terhadap format yang Anda kirimkan |
| 401 | Kunci yang hilang atau salah | Salin kunci lagi dan periksa header Authorization |
| 402 | Kredit habis | Isi saldo; isi ulang dimulai dari $20. |
| 429 | Batas laju tercapai | Tunggu dan coba lagi nanti |
Catat kode status dan id permintaan untuk setiap kegagalan, sehingga Anda dapat melacak masalah dengan cepat.
Migrasi dari API Kompetitor
Rencanakan perpindahan dalam tiga tahap: lingkungan pengujian, bagian kecil dari lalu lintas langsung, dan kemudian pengalihan penuh. Simpan kedua URL dasar dalam konfigurasi selama tahap tengah dan bandingkan jawaban serta latensi pada prompt yang sama.
Bandingkan biaya berdasarkan penggunaan Anda sendiri, bukan harga daftar. Kalikan token input dan output dari bidang penggunaan dengan $0.15 dan $0.50 per 1 juta token dan bandingkan dengan tagihan Anda saat ini.
Pertanyaan umum
Apakah saya perlu mengubah format permintaan?
Tidak. Endpoint mengikuti format penyelesaian chat, sehingga struktur pesan dan alat yang sama berfungsi. Hanya URL dasar dan kuncinya yang berubah.
ID model mana yang harus saya gunakan?
Gunakan uncensored. Ini adalah satu-satunya model di layanan ini, sehingga id tetap sama di setiap permintaan.
Bagaimana cara mendapatkan kunci untuk dicoba?
Daftar dengan Google atau dengan email dan kata sandi. Kunci muncul di layar, dan akun dimulai dengan kredit percobaan senilai $0.50 yang berlaku selama 7 hari. Tidak perlu kartu.
Bagaimana cara membayar penggunaan?
Isi ulang dengan USDT di TRC20 atau USDC di Base, dimulai dari $20. Kredit bonus berlaku mulai dari $50, dan kredit tidak kedaluwarsa.
Akses kunci Anda
Daftar, ambil kunci Anda, dan perbarui URL dasar Anda. Itu adalah proses lengkapnya.