Menggunakan konfigurasi model untuk mengontrol respons

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 Gemini Developer API backend service.
// Specify the config as part of creating the `GenerativeModel` instance.
let model = FirebaseAI.firebaseAI(backend: .googleAI()).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 Gemini Developer API backend service.
// Specify the config as part of creating the `GenerativeModel` instance.
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).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.googleAI())
                .generativeModel(
                    "GEMINI_MODEL_NAME",
                    config
                );
);

// ...

Web

Tetapkan nilai parameter di GenerationConfig sebagai bagian dari pembuatan instance GenerativeModel.


// ...

// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// 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 = {
  candidate_count: 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 Gemini Developer API backend service.
// Specify the config as part of creating the `GenerativeModel` instance.
final model = FirebaseAI.googleAI().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 Gemini Developer API backend service.
// Specify the config as part of creating the `GenerativeModel` instance.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
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 Google AI 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: .googleAI()).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()).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.googleAI()).liveModel(
          "GEMINI_LIVE_MODEL_NAME",
          config
);

// ...

Web

Tetapkan nilai parameter di LiveGenerationConfig selama inisialisasi instance LiveGenerativeModel:


// ...

// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// 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.googleAI().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.GoogleAI()).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 Google AI 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 audio
audioTimestamp
Memungkinkan pemahaman stempel waktu untuk file input hanya audio.

Boolean

Hanya berlaku saat menggunakan konfigurasi GenerativeModel dan jenis input adalah file khusus audio.

false
Jumlah kandidat
candidateCount
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: 1 - 8 (inklusif)

Hanya berlaku saat menggunakan generateContent.

Tidak berlaku saat menggunakan model TTS generateContentStream atau model Live API.

1
Token output maksimum
maxOutputTokens
Menentukan jumlah maksimum token yang dapat dibuat dalam respons. --- ---
Penalti frekuensi
frequencyPenalty

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 kehadiran
presencePenalty

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 penghentian
stopSequences
Menentukan daftar string yang memberi tahu model untuk berhenti membuat konten jika salah satu string ditemukan dalam respons.

Hanya berlaku saat menggunakan konfigurasi GenerativeModel.

Tidak berlaku untuk model TTS.

---
Konfigurasi khusus
Berpikir
thinkingConfig

Mengontrol "proses berpikir" model saat model membuat respons.

  • Kontrol jumlah pemikiran yang dapat dilakukan model menggunakan tingkat pemikiran (model Gemini 3.x dan yang lebih baru).
  • Mengontrol apakah akan menyertakan ringkasan pemikiran.

Nilai yang didukung: Lihat dokumentasi pemikiran

Tidak berlaku untuk model TTS.

Firebase AI Logic belum mendukung penetapan thinkingConfig untuk model Live API.

Bergantung pada model
Modalitas respons
responseModalities
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 gambar
imageConfig
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).