Model Gemini 2.5 dapat menggunakan "proses berpikir" internal yang secara signifikan meningkatkan kemampuan penalaran dan perencanaan multi-langkahnya, sehingga sangat efektif untuk tugas-tugas kompleks seperti coding, matematika tingkat lanjut, dan analisis data.
Anda dapat mengonfigurasi seberapa banyak penalaran yang dapat dilakukan model menggunakan anggaran penalaran. Konfigurasi ini sangat penting jika mengurangi latensi atau biaya adalah prioritas. Selain itu, tinjau perbandingan kesulitan tugas untuk memutuskan seberapa besar kemampuan berpikir yang dibutuhkan model.
Menggunakan model berpikir
Gunakan model pemikiran seperti Anda menggunakan model Gemini lainnya
(inisialisasi penyedia Gemini API yang Anda pilih, buat instance GenerativeModel
, dll.).
Model ini dapat digunakan untuk tugas pembuatan teks atau kode, seperti
membuat output terstruktur
atau menganalisis input multimodal (seperti
gambar,
video,
audio,
atau
PDF).
Anda bahkan dapat menggunakan model penalaran saat melakukan streaming output.
Model yang didukung
Hanya model Gemini 2.5 yang mendukung kemampuan ini.
gemini-2.5-pro
gemini-2.5-flash
gemini-2.5-flash-lite-preview-06-17
Praktik terbaik untuk menggunakan model berpikir
Sebaiknya uji perintah Anda di Google AI Studio atau Vertex AI Studio tempat Anda dapat melihat seluruh proses pemikiran. Anda dapat mengidentifikasi area tempat model mungkin keliru sehingga Anda dapat mempertajam perintah untuk mendapatkan respons yang lebih konsisten dan akurat.
Mulai dengan perintah umum yang menjelaskan hasil yang diinginkan, dan amati pemikiran awal model tentang cara menentukan responsnya. Jika respons tidak sesuai harapan, bantu model menghasilkan respons yang lebih baik dengan menggunakan salah satu teknik perintah berikut:
- Memberikan petunjuk langkah demi langkah
- Berikan beberapa contoh pasangan input-output
- Memberikan panduan tentang cara menyusun dan memformat output dan respons
- Memberikan langkah-langkah verifikasi tertentu
Selain perintah, pertimbangkan untuk menggunakan rekomendasi berikut:
Tetapkan petunjuk sistem, yang seperti "preamble" yang Anda tambahkan sebelum model diekspos ke petunjuk lebih lanjut dari perintah atau pengguna akhir. Dengan begitu, Anda dapat mengarahkan perilaku model berdasarkan kebutuhan dan kasus penggunaan spesifik Anda.
Tetapkan anggaran penalaran untuk mengonfigurasi jumlah penalaran yang dapat dilakukan model. Jika Anda menetapkan anggaran yang rendah, model tidak akan "terlalu memikirkan" responsnya. Jika Anda menetapkan anggaran yang tinggi, model dapat berpikir lebih banyak jika diperlukan. Menetapkan anggaran penalaran juga memesan lebih banyak batas output token total untuk respons sebenarnya.
(jika menggunakan Vertex AI Gemini API) Pastikan untuk mengaktifkan pemantauan AI di Firebase console agar Anda dapat memantau latensi permintaan yang mengaktifkan pemikiran. Perhatikan bahwa token pemikiran belum ditampilkan di dasbor pemantauan.
Mengontrol anggaran penalaran
Untuk mengontrol seberapa banyak penalaran yang dapat dilakukan model untuk menghasilkan respons, Anda dapat menentukan jumlah token anggaran penalaran yang diizinkan untuk digunakan.
Anda dapat menetapkan anggaran penalaran secara manual dalam situasi saat Anda mungkin memerlukan lebih banyak atau lebih sedikit token daripada anggaran penalaran default. Temukan panduan yang lebih mendetail tentang kompleksitas tugas dan anggaran yang disarankan di bagian ini. Berikut beberapa panduan tingkat tinggi:
- Tetapkan anggaran penalaran yang rendah jika latensi penting atau untuk tugas yang kurang kompleks
- Tetapkan anggaran penalaran yang tinggi untuk tugas yang lebih kompleks
Menetapkan anggaran penalaran
Klik penyedia Gemini API untuk melihat konten dan kode khusus penyedia di halaman ini. |
Tetapkan anggaran pemikiran dalam GenerationConfig
sebagai bagian dari pembuatan instance
GenerativeModel
. Konfigurasi dipertahankan selama masa aktif
instance. Jika Anda ingin menggunakan anggaran pemikiran yang berbeda untuk permintaan yang berbeda, buat instance GenerativeModel
yang dikonfigurasi dengan setiap anggaran.
Pelajari nilai anggaran pemikiran yang didukung di bagian ini nanti.
Swift
Tetapkan anggaran pemikiran di
GenerationConfig
sebagai bagian dari pembuatan instance GenerativeModel
.
// ...
// Set the thinking configuration
// Use a thinking budget value appropriate for your model (example value shown here)
let generationConfig = GenerationConfig(
thinkingConfig: ThinkingConfig(thinkingBudget: 1024)
)
// Specify the config as part of creating the `GenerativeModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
modelName: "GEMINI_MODEL_NAME",
generationConfig: generationConfig
)
// ...
Kotlin
Tetapkan nilai parameter di
GenerationConfig
sebagai bagian dari pembuatan instance GenerativeModel
.
// ...
// Set the thinking configuration
// Use a thinking budget value appropriate for your model (example value shown here)
val generationConfig = generationConfig {
thinkingConfig = thinkingConfig {
thinkingBudget = 1024
}
}
// Specify the config as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
modelName = "GEMINI_MODEL_NAME",
generationConfig,
)
// ...
Java
Tetapkan nilai parameter di
GenerationConfig
sebagai bagian dari pembuatan instance GenerativeModel
.
// ...
// Set the thinking configuration
// Use a thinking budget value appropriate for your model (example value shown here)
ThinkingConfig thinkingConfig = new ThinkingConfig.Builder()
.setThinkingBudget(1024)
.build();
GenerationConfig generationConfig = GenerationConfig.builder()
.setThinkingConfig(thinkingConfig)
.build();
// Specify the config as part of creating the `GenerativeModel` instance
GenerativeModelFutures model = GenerativeModelFutures.from(
FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel(
/* modelName */ "<var>GEMINI_MODEL_NAME</var>",
/* generationConfig */ generationConfig
);
);
// ...
Web
Tetapkan nilai parameter di
GenerationConfig
sebagai bagian dari pembuatan instance GenerativeModel
.
// ...
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Set the thinking configuration
// Use a thinking budget value appropriate for your model (example value shown here)
const generationConfig = {
thinkingConfig: {
thinkingBudget: 1024
}
};
// Specify the config as part of creating the `GenerativeModel` instance
const model = getGenerativeModel(ai, { model: "GEMINI_MODEL_NAME", generationConfig });
// ...
Dart
Dukungan untuk menetapkan anggaran pemikiran untuk Flutter akan hadir di rilis berikutnya.
Unity
Dukungan untuk menetapkan anggaran berpikir untuk Unity akan hadir di rilis berikutnya.
Nilai anggaran penalaran yang didukung
Tabel berikut mencantumkan nilai anggaran pemikiran yang dapat Anda tetapkan untuk setiap model dengan mengonfigurasi thinkingBudget
model.
Model | Nilai default | Rentang yang tersedia untuk anggaran penalaran |
Nilai untuk menonaktifkan pemikiran |
Nilai untuk memungkinkan pemikiran dinamis |
|
---|---|---|---|---|---|
Nilai minimum | Nilai maksimum | ||||
Gemini 2.5 Pro | 8,192 |
128 |
32,768 |
tidak dapat dinonaktifkan | -1 |
Gemini 2.5 Flash | 8,192 |
1 |
24,576 |
0 |
-1 |
Gemini 2.5 Flash‑Lite | 0 (pemikiran dinonaktifkan secara default) |
512 |
24,576 |
0 (atau tidak mengonfigurasi anggaran penalaran sama sekali) |
-1 |
Menonaktifkan alur berpikir
Untuk beberapa tugas yang lebih mudah, kemampuan berpikir tidak diperlukan, dan inferensi tradisional sudah cukup. Atau, jika mengurangi latensi adalah prioritas, Anda mungkin tidak ingin model memerlukan waktu lebih lama dari yang diperlukan untuk membuat respons.
Dalam situasi ini, Anda dapat menonaktifkan (atau mematikan) pemikiran:
- Gemini 2.5 Pro: kemampuan berpikir tidak dapat dinonaktifkan
- Gemini 2.5 Flash: setel
thinkingBudget
ke0
token - Gemini 2.5 Flash-Lite: kemampuan berpikir dinonaktifkan secara default
Mendorong pemikiran dinamis
Anda dapat membiarkan model memutuskan kapan dan berapa banyak penalaran yang diperlukan (disebut
penalaran dinamis) dengan menyetel thinkingBudget
ke -1
. Model dapat menggunakan
sebanyak mungkin token yang dianggap sesuai, hingga nilai token maksimumnya
yang tercantum di atas.
Kompleksitas tugas
Tugas mudah — pemikiran dapat dinonaktifkan
Permintaan langsung yang tidak memerlukan penalaran yang kompleks, seperti pengambilan atau klasifikasi fakta. Contoh:- "Di mana DeepMind didirikan?"
- "Apakah email ini meminta rapat atau hanya memberikan informasi?"
Tugas sedang — anggaran default atau beberapa anggaran pemikiran tambahan diperlukan
Permintaan umum yang memerlukan pemrosesan langkah demi langkah atau pemahaman yang lebih mendalam. Contoh:- "Buat analogi antara fotosintesis dan tumbuh dewasa."
- "Bandingkan dan bedakan mobil listrik dan mobil hibrida."
Tugas sulit — anggaran penalaran maksimum mungkin diperlukan
Tantangan yang benar-benar kompleks, seperti menyelesaikan masalah matematika yang rumit atau tugas coding. Jenis tugas ini mengharuskan model menggunakan kemampuan penalaran dan perencanaan sepenuhnya, yang sering kali melibatkan banyak langkah internal sebelum memberikan jawaban. Contoh:- "Pecahkan soal 1 di AIME 2025: Temukan jumlah semua bilangan bulat b > 9 yang memenuhi 17b adalah pembagi 97b."
- "Write Python code for a web application that visualizes real-time stock market data, including user authentication. Buat seefisien mungkin."
Harga dan penghitungan token pemikiran
Token pemikiran menggunakan harga yang sama dengan token output teks.
Anda bisa mendapatkan jumlah total token pemikiran dari kolom thoughtsTokenCount
di atribut usageMetadata
respons:
Swift
// ...
let response = try await model.generateContent("Why is the sky blue?")
if let usageMetadata = response.usageMetadata {
print("Thoughts Token Count: \(usageMetadata.thoughtsTokenCount)")
}
Kotlin
// ...
val response = model.generateContent("Why is the sky blue?")
response.usageMetadata?.let { usageMetadata ->
println("Thoughts Token Count: ${usageMetadata.thoughtsTokenCount}")
}
Java
// ...
ListenableFuture<GenerateContentResponse> response =
model.generateContent("Why is the sky blue?");
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String usageMetadata = result.getUsageMetadata();
if (usageMetadata != null) {
System.out.println("Thoughts Token Count: " +
usageMetadata.getThoughtsTokenCount());
}
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Web
// ...
const response = await model.generateContent("Why is the sky blue?");
if (response?.usageMetadata?.thoughtsTokenCount != null) {
console.log(`Thoughts Token Count: ${response.usageMetadata.thoughtsTokenCount}`);
}
Dart
Dukungan untuk menghitung token berpikir untuk Flutter akan hadir di rilis berikutnya.
Unity
Dukungan untuk menghitung token berpikir untuk Unity akan hadir di rilis berikutnya.
Pelajari token lebih lanjut di panduan token hitungan.