Dalam setiap panggilan ke model, Anda dapat mengirimkan konfigurasi model untuk mengontrol cara model menghasilkan respons. Setiap model mendukung opsi konfigurasi yang berbeda, seperti menyetel maxOutputTokens atau konfigurasi khusus untuk pemikiran, modalitas respons, gambar, atau ucapan.
Untuk sebagian besar kasus penggunaan saat mengakses model Gemini, Anda mengonfigurasi model menggunakan GenerationConfig. Namun, jika Anda mengonfigurasi model
Gemini Live API, Anda menggunakan LiveGenerationConfig.
Halaman ini menunjukkan cara menyiapkan konfigurasi untuk model Gemini dan memberikan deskripsi setiap parameter.
Buka konfigurasi Gemini Buka konfigurasi Gemini Live API
GenerationConfig untuk model Gemini
|
Klik penyedia Gemini API untuk melihat konten dan kode khusus penyedia di halaman ini. |
Tetapkan GenerationConfig untuk sebagian besar model Gemini, termasuk model penggunaan umum, model pembuatan gambar (model "Nano Banana"), dan model text-to-speech (TTS).
Konfigurasi dipertahankan selama masa aktif instance GenerativeModel. Jika Anda ingin menggunakan konfigurasi yang berbeda, buat dan gunakan instance baru dengan konfigurasi yang berbeda.
Swift
Tetapkan nilai parameter di
GenerationConfig
sebagai bagian dari pembuatan instance GenerativeModel.
import FirebaseAILogic
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
let config = GenerationConfig(
candidateCount: 1,
maxOutputTokens: 200,
stopSequences: ["red"]
)
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
let model = FirebaseAI.firebaseAI(backend: .agentPlatform()).generativeModel(
modelName: "GEMINI_MODEL_NAME",
generationConfig: config
)
// ...
Kotlin
Tetapkan nilai parameter di
GenerationConfig
sebagai bagian dari pembuatan instance GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
val config = generationConfig {
candidateCount = 1
maxOutputTokens = 200
stopSequences = listOf("red")
}
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
val model = Firebase.ai(backend = GenerativeBackend.agentPlatform()).generativeModel(
modelName = "GEMINI_MODEL_NAME",
generationConfig = config
)
// ...
Java
Tetapkan nilai parameter di
GenerationConfig
sebagai bagian dari pembuatan instance GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.candidateCount = 1;
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
GenerationConfig config = configBuilder.build();
// Specify the config as part of creating the `GenerativeModel` instance.
GenerativeModelFutures model = GenerativeModelFutures.from(
FirebaseAI.getInstance(GenerativeBackend.agentPlatform())
.generativeModel(
"GEMINI_MODEL_NAME",
config
);
);
// ...
Web
Tetapkan nilai parameter di
GenerationConfig
sebagai bagian dari pembuatan instance GenerativeModel.
// ...
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
const ai = getAI(firebaseApp, { backend: new AgentPlatformBackend() });
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
const generationConfig = {
candidateCount: 1,
maxOutputTokens: 200,
stopSequences: ["red"],
};
// Specify the config as part of creating the `GenerativeModel` instance.
const model = getGenerativeModel(ai, { model: "GEMINI_MODEL_NAME", generationConfig });
// ...
Dart
Tetapkan nilai parameter di
GenerationConfig
sebagai bagian dari pembuatan instance GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
final generationConfig = GenerationConfig(
candidateCount: 1,
maxOutputTokens: 200,
stopSequences: ["red"],
);
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
final model = FirebaseAI.agentPlatform().generativeModel(
model: 'GEMINI_MODEL_NAME',
config: generationConfig,
);
// ...
Unity
Tetapkan nilai parameter di
GenerationConfig
sebagai bagian dari pembuatan instance GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
var generationConfig = new GenerationConfig(
candidateCount: 1,
maxOutputTokens: 200,
stopSequences: new string[] { "red" }
);
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.AgentPlatform());
var model = ai.GetGenerativeModel(
modelName: "GEMINI_MODEL_NAME",
generationConfig: generationConfig
);
Anda dapat menemukan deskripsi setiap parameter di bagian berikutnya pada halaman ini.
Anda dapat bereksperimen dengan perintah dan konfigurasi model menggunakan Agent Studio.LiveGenerationConfig untuk model Gemini Live API
|
Klik penyedia Gemini API untuk melihat konten dan kode khusus penyedia di halaman ini. |
Tetapkan LiveGenerationConfig hanya saat menggunakan model Gemini Live API.
Konfigurasi dipertahankan selama masa aktif instance LiveModel. Jika Anda ingin menggunakan konfigurasi yang berbeda, buat dan gunakan instance baru dengan konfigurasi yang berbeda.
Swift
Tetapkan nilai parameter di
liveGenerationConfig
selama inisialisasi instance LiveModel:
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here).
let config = LiveGenerationConfig(
maxOutputTokens: 200,
responseModalities: [.audio],
speech: SpeechConfig(voiceName: "Fenrir"),
)
// Specify the config as part of creating the `liveModel` instance.
let liveModel = FirebaseAI.firebaseAI(backend: .agentPlatform(location: "us-central1")).liveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
generationConfig: config
)
// ...
Kotlin
Tetapkan nilai parameter di
LiveGenerationConfig
sebagai bagian dari pembuatan instance LiveModel.
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here).
val config = liveGenerationConfig {
maxOutputTokens = 200
responseModality = ResponseModality.AUDIO
speechConfig = SpeechConfig(voice = Voices.FENRIR)
}
// Specify the config as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.agentPlatform(location = "us-central1")).liveModel(
modelName = "GEMINI_LIVE_MODEL_NAME",
generationConfig = config
)
// ...
Java
Tetapkan nilai parameter di
LiveGenerationConfig
sebagai bagian dari pembuatan instance LiveModel.
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here).
LiveGenerationConfig.Builder configBuilder = new LiveGenerationConfig.Builder();
configBuilder.setMaxOutputTokens(200);
configBuilder.setResponseModality(ResponseModality.AUDIO);
configBuilder.setSpeechConfig(new SpeechConfig(Voices.FENRIR));
LiveGenerationConfig config = configBuilder.build();
// Specify the config as part of creating the `LiveModel` instance.
LiveGenerativeModel lm = FirebaseAI.getInstance(GenerativeBackend.agentPlatform("us-central1")).liveModel(
"GEMINI_LIVE_MODEL_NAME",
config
);
// ...
Web
Tetapkan nilai parameter di
LiveGenerationConfig
selama inisialisasi instance LiveGenerativeModel:
// ...
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
const ai = getAI(firebaseApp, { backend: new AgentPlatformBackend("us-central1") });
// Set parameter values in a `LiveGenerationConfig` (example values shown here).
const liveGenerationConfig = {
maxOutputTokens: 200,
responseModalities: [ResponseModality.AUDIO],
speechConfig: {
voiceConfig: {
prebuiltVoiceConfig: { voiceName: "Fenrir" },
},
},
};
// Specify the config as part of creating the `LiveGenerativeModel` instance.
const liveModel = getLiveGenerativeModel(ai, {
model: "GEMINI_LIVE_MODEL_NAME",
liveGenerationConfig,
});
// ...
Dart
Tetapkan nilai parameter di
LiveGenerationConfig
sebagai bagian dari pembuatan instance LiveGenerativeModel.
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here).
final config = LiveGenerationConfig(
maxOutputTokens: 200,
responseModalities: [ResponseModalities.audio],
speechConfig: SpeechConfig(voiceName: 'Fenrir'),
);
// Specify the config as part of creating the `liveGenerativeModel` instance.
final liveModel = FirebaseAI.agentPlatform(location: 'us-central1').liveGenerativeModel(
model: 'GEMINI_LIVE_MODEL_NAME',
liveGenerationConfig: config,
);
// ...
Unity
Tetapkan nilai parameter di
LiveGenerationConfig
sebagai bagian dari pembuatan instance LiveModel.
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here).
var config = new LiveGenerationConfig(
maxOutputTokens: 200,
responseModalities: new[] { ResponseModality.Audio },
speechConfig: SpeechConfig.UsePrebuiltVoice("Fenrir")
);
// Specify the config as part of creating the `LiveModel` instance.
var liveModel = FirebaseAI.GetInstance(FirebaseAI.Backend.AgentPlatform(location: "us-central1")).GetLiveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
liveGenerationConfig: config
);
// ...
Anda dapat menemukan deskripsi setiap parameter di bagian berikutnya pada halaman ini.
Anda dapat bereksperimen dengan perintah dan konfigurasi model menggunakan Agent Studio.Deskripsi parameter
Tabel berikut adalah ringkasan tingkat tinggi dari parameter yang tersedia. Beberapa parameter hanya berlaku untuk model tertentu.
Perhatikan bahwa temperatur, top-K, dan top-P tidak digunakan lagi dan diabaikan oleh model Gemini terbaru.
| Parameter | Deskripsi | Keterbatasan | Nilai default |
|---|---|---|---|
Stempel waktu audioaudioTimestamp
|
Memungkinkan pemahaman stempel waktu untuk file input hanya audio. |
Boolean
Hanya berlaku saat menggunakan konfigurasi |
false
|
Jumlah kandidatcandidateCount
|
Menentukan jumlah variasi respons yang akan ditampilkan. Untuk setiap permintaan, Anda dikenai biaya untuk token output semua kandidat, tetapi Anda hanya dikenai biaya satu kali untuk token input. |
Nilai yang didukung:
Hanya berlaku saat menggunakan
Tidak berlaku saat menggunakan model TTS |
1
|
Token output maksimummaxOutputTokens
|
Menentukan jumlah maksimum token yang dapat dibuat dalam respons. | --- | --- |
Penalti frekuensifrequencyPenalty
|
Mengontrol probabilitas penyertaan token yang berulang kali muncul dalam respons yang dihasilkan. Nilai positif akan memberikan penalti pada token yang berulang kali muncul dalam konten yang dihasilkan, sehingga mengurangi probabilitas pengulangan konten. |
Tidak berlaku untuk model TTS. | --- |
Penalti kehadiranpresencePenalty
|
Mengontrol probabilitas penyertaan token yang sudah muncul dalam respons yang dihasilkan. Nilai positif menghukum token yang sudah muncul dalam konten yang dihasilkan, sehingga meningkatkan probabilitas menghasilkan konten yang lebih beragam. |
Tidak berlaku untuk model TTS. | --- |
Urutan penghentianstopSequences
|
Menentukan daftar string yang memberi tahu model untuk berhenti membuat konten jika salah satu string ditemukan dalam respons. |
Hanya berlaku saat menggunakan konfigurasi Tidak berlaku untuk model TTS. |
--- |
| Konfigurasi khusus | |||
BerpikirthinkingConfig
|
Mengontrol "proses berpikir" model saat model membuat respons.
|
Nilai yang didukung: Lihat dokumentasi pemikiran Tidak berlaku untuk model TTS.
Firebase AI Logic belum mendukung penetapan
|
Bergantung pada model |
Modalitas responsresponseModalities
|
Menentukan jenis output (seperti teks, audio, atau gambar). | Hanya berlaku (dan diperlukan) saat menggunakan model Gambar Gemini (model "Nano Banana"), model TTS, dan model Live API. | --- |
Karakteristik gambarimageConfig
|
Menentukan rasio aspek dan resolusi gambar yang dihasilkan. |
Nilai yang didukung: Lihat Mengonfigurasi pembuatan gambar Hanya berlaku saat menggunakan model Gambar Gemini (model "Nano Banana"). |
Rasio aspek 1:1 (persegi) Resolusi 1024x1024 |
Ucapan (suara)speechConfig
|
Menentukan suara yang digunakan untuk output audio. |
Hanya berlaku saat menggunakan model TTS dan model Live API. Wajib untuk model TTS. |
Puck
|
Opsi lain untuk mengontrol pembuatan konten
- Pelajari lebih lanjut desain perintah agar Anda dapat memengaruhi model untuk menghasilkan output yang sesuai dengan kebutuhan Anda.
- Gunakan setelan keamanan untuk menyesuaikan kemungkinan mendapatkan respons yang dapat dianggap berbahaya, termasuk ujaran kebencian dan konten seksual vulgar.
- Tetapkan petunjuk sistem untuk mengarahkan perilaku model. Fitur ini seperti pengantar yang Anda tambahkan sebelum model diekspos ke petunjuk lebih lanjut dari pengguna akhir.
- Teruskan skema respons bersama dengan perintah untuk menentukan skema output tertentu. Fitur ini paling sering digunakan saat membuat output JSON, tetapi juga dapat digunakan untuk tugas klasifikasi (seperti saat Anda ingin model menggunakan label atau tag tertentu).