Gunakan panduan ini untuk membantu Anda mendiagnosis dan menyelesaikan masalah umum yang muncul saat Anda memanggil Gemini API. Anda mungkin mengalami masalah dari layanan backend Gemini API atau SDK klien. SDK klien kami bersifat open source di repositori berikut:
Jika Anda mengalami masalah kunci API, pastikan Anda telah menyiapkan kunci API dengan benar sesuai dengan panduan penyiapan kunci API.
Kode error
Untuk referensi lengkap semua kode error, termasuk kode status HTTP, kode pemblokiran pembuatan, dan kode error konten, lihat halaman Error API.
Strategi percobaan ulang
Jika Anda menerima error yang menunjukkan bahwa Anda harus mencoba lagi permintaan Anda (seperti 429 RESOURCE_EXHAUSTED atau 503 UNAVAILABLE), sebaiknya terapkan strategi backoff eksponensial. Artinya, Anda menunggu sebentar sebelum percobaan ulang pertama, lalu secara bertahap meningkatkan waktu tunggu antara percobaan ulang berikutnya.
SDK klien resmi untuk Gemini API, seperti Python SDK, menyertakan logika percobaan ulang otomatis dengan backoff eksponensial secara default untuk menangani error sementara seperti waktu tunggu habis, masalah jaringan, dan pembatasan kapasitas (kode status 429 dan 5xx). Misalnya, Python SDK secara otomatis mencoba ulang error sementara hingga empat kali dengan penundaan awal sekitar 1 detik dan penundaan maksimum 60 detik.
Jika Anda membuat permintaan REST API langsung atau menyesuaikan logika percobaan ulang, ikuti praktik terbaik berikut untuk meningkatkan kemungkinan keberhasilan permintaan dan mencegah layanan kewalahan:
- Gunakan backoff eksponensial: Tunggu beberapa saat sebelum percobaan ulang pertama (misalnya, 1 detik), lalu tingkatkan penundaan secara eksponensial (misalnya, 2 dtk, 4 dtk, 8 dtk).
- Tambahkan jitter: Tambahkan "jitter" acak ke penundaan untuk membantu mencegah semua klien mencoba ulang pada waktu yang sama persis.
- Coba lagi pada error tertentu: Hanya coba lagi pada error sementara (seperti
429,408, atau5xx). Jangan coba lagi pada error klien (seperti400,402, atau403) karena error tersebut menunjukkan masalah seperti kunci API yang tidak valid, kredit Prabayar yang habis, atau sintaksis yang buruk. - Tetapkan percobaan ulang maksimum: Tentukan jumlah maksimum upaya percobaan ulang untuk mencegah loop tanpa henti.
Memeriksa panggilan API Anda untuk menemukan error parameter model
Pastikan parameter model Anda berada dalam nilai berikut:
| Parameter model | Nilai (rentang) |
| Jumlah kandidat | 1-8 (bilangan bulat) |
| Suhu | 0,0-1,0 |
| Token output maks | Gunakan halaman model untuk menentukan jumlah maksimum token untuk model yang Anda gunakan. |
| TopP | 0,0-1,0 |
Selain memeriksa nilai parameter, pastikan Anda menggunakan
versi API yang benar (misalnya, /v1 atau /v1beta) dan
model yang mendukung fitur yang Anda butuhkan. Misalnya, jika suatu fitur dalam rilis Beta, fitur tersebut hanya akan tersedia dalam versi API /v1beta.
Memeriksa apakah Anda memiliki model yang tepat
Pastikan Anda menggunakan model yang didukung yang tercantum di halaman model kami.
Latensi atau penggunaan token yang lebih tinggi dengan model penalaran
Latensi atau penggunaan token yang lebih tinggi sering terjadi karena model Gemini 3.x mengaktifkan penalaran secara default. Model Gemini 2.5 yang tidak digunakan lagi juga menggunakan penalaran default.
Model yang berbasis penalaran menghasilkan token penalaran internal untuk meningkatkan kualitas. Proses penalaran ini meningkatkan latensi respons dan total konsumsi token.
Jika Anda memprioritaskan latensi yang lebih rendah atau perlu meminimalkan biaya, Anda dapat menurunkan tingkat penalaran atau menonaktifkan penalaran.
Untuk mengetahui detail konfigurasi dan contoh kode, lihat panduan penalaran.
Masalah keamanan
Jika Anda melihat perintah diblokir karena setelan keamanan dalam panggilan API, tinjau perintah tersebut sehubungan dengan filter yang Anda tetapkan dalam panggilan API.
Jika Anda melihat BlockedReason.OTHER, kueri atau respons mungkin melanggar persyaratan layanan atau tidak didukung.
Masalah pengucapan
Jika Anda melihat model berhenti menghasilkan output karena alasan RECITATION, ini berarti output model mungkin menyerupai data tertentu. Untuk memperbaikinya, coba buat perintah / konteks seunik mungkin dan gunakan suhu yang lebih tinggi.
Masalah token berulang
Jika Anda melihat token output berulang, coba saran berikut untuk membantu mengurangi atau menghilangkannya.
| Deskripsi | Penyebab | Solusi yang disarankan |
|---|---|---|
| Tanda hubung berulang dalam tabel Markdown | Hal ini dapat terjadi jika konten tabel panjang karena model mencoba membuat tabel Markdown yang selaras secara visual. Namun, perataan di Markdown tidak diperlukan untuk rendering yang benar. |
Tambahkan petunjuk dalam perintah Anda untuk memberikan panduan khusus kepada model dalam membuat tabel Markdown. Berikan contoh yang mengikuti panduan tersebut. Anda juga dapat mencoba menyesuaikan suhu. Untuk membuat kode atau output yang sangat terstruktur seperti tabel Markdown, suhu tinggi terbukti berfungsi lebih baik (>= 0,8). Berikut adalah contoh kumpulan panduan yang dapat Anda tambahkan ke perintah untuk mencegah masalah ini:
# Markdown Table Format
* Separator line: Markdown tables must include a separator line below
the header row. The separator line must use only 3 hyphens per
column, for example: |---|---|---|. Using more hypens like
----, -----, ------ can result in errors. Always
use |:---|, |---:|, or |---| in these separator strings.
For example:
| Date | Description | Attendees |
|---|---|---|
| 2024-10-26 | Annual Conference | 500 |
| 2025-01-15 | Q1 Planning Session | 25 |
* Alignment: Do not align columns. Always use |---|.
For three columns, use |---|---|---| as the separator line.
For four columns use |---|---|---|---| and so on.
* Conciseness: Keep cell content brief and to the point.
* Never pad column headers or other cells with lots of spaces to
match with width of other content. Only a single space on each side
is needed. For example, always do "| column name |" instead of
"| column name |". Extra spaces are wasteful.
A markdown renderer will automatically take care displaying
the content in a visually appealing form.
|
| Token berulang dalam tabel Markdown | Mirip dengan tanda hubung berulang, hal ini terjadi saat model mencoba menyelaraskan konten tabel secara visual. Perataan di Markdown tidak diperlukan untuk rendering yang benar. |
|
Baris baru berulang (\n) dalam output terstruktur
|
Jika input model berisi unicode atau urutan escape seperti
\u atau \t, hal ini dapat menyebabkan baris baru berulang.
|
|
| Teks berulang dalam penggunaan output terstruktur | Jika output model memiliki urutan kolom yang berbeda dengan skema terstruktur yang ditentukan, hal ini dapat menyebabkan teks berulang. |
|
| Panggilan alat berulang | Hal ini dapat terjadi jika model kehilangan konteks pemikiran sebelumnya dan/atau memanggil endpoint yang tidak tersedia yang dipaksakan. |
Perintahkan model untuk mempertahankan status dalam proses pemikirannya.
Tambahkan ini ke akhir petunjuk sistem Anda:
When thinking silently: ALWAYS start the thought with a brief
(one sentence) recap of the current progress on the task. In
particular, consider whether the task is already done.
|
| Teks berulang yang bukan bagian dari output terstruktur | Hal ini dapat terjadi jika model terjebak pada permintaan yang tidak dapat diselesaikan. |
|
Project dibatasi atau tidak tersedia
Jika permintaan API Anda menampilkan 403 PERMISSION_DENIED ("Project Anda telah
ditolak aksesnya") atau status project Anda menampilkan Dibatasi, Paket gratis
tidak tersedia, Pembayaran diperlukan, atau Tidak tersedia di
Google AI Studio, periksa bagian berikut yang
berlaku untuk project Anda:
Ketidaktersediaan paket gratis Gemini API
Tidak semua project atau akun Google Cloud memenuhi syarat untuk paket gratis Gemini API. Jika project Anda dibatasi untuk menggunakan paket gratis:
- Membuat kunci API baru di project yang sama tidak akan menyelesaikan error. Google mengevaluasi kelayakan di level project Google Cloud.
- Untuk menggunakan Gemini API dengan project ini, Anda harus mengupgrade ke paket berbayar dengan menautkan akun Penagihan Cloud yang aktif.
- Catatan: Mengupgrade project ke paket berbayar tidak akan membuka kuota paket gratis. Google menagih penggunaan paket berbayar sesuai dengan harga Gemini API, atau memotongnya dari kredit Google Cloud yang memenuhi syarat.
Pembayaran akun Penagihan Cloud diperlukan
Jika project Anda sudah ditautkan ke akun Penagihan Cloud dan menampilkan
Pembayaran diperlukan (atau menampilkan 403 PERMISSION_DENIED yang menyebutkan saldo
terutang):
- Buka halaman Penagihan AI Studio atau Konsol Penagihan Google Cloud untuk menyelesaikan saldo yang telah jatuh tempo atau memperbarui metode pembayaran Anda.
- Setelah akun penagihan Anda kembali memiliki reputasi baik, project Anda akan otomatis mendapatkan kembali akses API.
Kunci API yang bocor atau diblokir
Jika error 403 PERMISSION_DENIED menyatakan bahwa kunci API Anda dilaporkan sebagai
bocor atau diblokir:
- Buka halaman Kunci API AI Studio untuk membuat kunci API baru dan memperbarui kredensial aplikasi Anda.
- Jangan pernah menyematkan kunci API secara langsung dalam kode sisi klien atau repositori publik.
Penangguhan kebijakan project atau akun penagihan
Jika Google menangguhkan project Google Cloud atau akun Penagihan Cloud Anda karena pelanggaran kebijakan, periksa alamat email terkait. Buka Konsol Google Cloud untuk meninjau pemberitahuan penangguhan dan ikuti Panduan Penangguhan Project.
Kunci API yang diblokir atau tidak berfungsi
Bagian ini menjelaskan cara memeriksa apakah kunci Gemini API Anda diblokir dan tindakan yang harus dilakukan.
Memahami alasan kunci diblokir
Kami telah mengidentifikasi kerentanan yang menyebabkan beberapa kunci API mungkin terekspos secara publik. Untuk melindungi data Anda dan mencegah akses yang tidak sah, kami telah memblokir secara proaktif kunci yang diketahui bocor ini agar tidak mengakses Gemini API.
Memastikan apakah kunci Anda terpengaruh
Jika kunci Anda diketahui bocor, Anda tidak dapat lagi menggunakan kunci tersebut dengan Gemini API. Anda dapat menggunakan Google AI Studio untuk melihat apakah ada kunci API Anda yang diblokir dari memanggil Gemini API dan membuat kunci baru. Anda mungkin juga melihat error berikut yang ditampilkan saat mencoba menggunakan kunci ini:
Your API key was reported as leaked. Please use another API key.
Tindakan untuk kunci API yang diblokir
Anda harus membuat kunci API baru untuk integrasi Gemini API menggunakan Google AI Studio. Sebaiknya tinjau praktik pengelolaan kunci API Anda untuk memastikan kunci baru Anda tetap aman dan tidak terekspos secara publik.
Tagihan tak terduga karena kerentanan
Mengirimkan kasus dukungan penagihan. Tim penagihan kami sedang menangani masalah ini, dan kami akan menyampaikan info terbaru sesegera mungkin.
Langkah-langkah keamanan Google untuk kunci yang bocor
Bagaimana cara Google membantu mengamankan akun saya dari kelebihan biaya dan penyalahgunaan jika kunci API saya bocor?
- Kami akan beralih ke penerbitan kunci API saat Anda meminta kunci baru menggunakan Google AI Studio yang secara default akan dibatasi hanya untuk Google AI Studio dan tidak menerima kunci dari layanan lain. Tindakan ini akan membantu mencegah penggunaan kunci silang yang tidak diinginkan.
- Kami secara default memblokir kunci API yang bocor dan digunakan dengan Gemini API, sehingga membantu mencegah penyalahgunaan biaya dan data aplikasi Anda.
- Anda akan dapat menemukan status kunci API Anda dalam Google AI Studio dan kami akan berupaya berkomunikasi secara proaktif saat kami mengidentifikasi bahwa kunci API Anda bocor agar Anda dapat segera mengambil tindakan.
Meningkatkan kualitas output model
Untuk output model yang lebih berkualitas, pelajari cara menulis perintah yang lebih terstruktur. Halaman panduan rekayasa perintah memperkenalkan beberapa konsep dasar, strategi, dan praktik terbaik untuk membantu Anda memulai.
Memahami batas token
Baca Panduan token kami untuk lebih memahami cara menghitung token dan batasnya.
Masalah umum
- API ini hanya mendukung sejumlah bahasa tertentu. Mengirimkan perintah dalam bahasa yang tidak didukung dapat menghasilkan respons yang tidak terduga atau bahkan diblokir. Lihat bahasa yang tersedia untuk mengetahui info terbaru.
Laporkan bug
Bergabunglah dalam diskusi di forum developer Google AI jika ada pertanyaan.