Utilizzare la configurazione del modello per controllare le risposte

In ogni chiamata a un modello, puoi inviare una configurazione del modello per controllare il modo in cui il modello genera una risposta. Ogni modello supporta diverse opzioni di configurazione, come l'impostazione di maxOutputTokens o configurazioni specializzate per il pensiero, le modalità di risposta, le immagini o la voce.

Per la maggior parte dei casi d'uso quando si accede a un modello Gemini, si configura il modello utilizzando GenerationConfig. Tuttavia, se stai configurando un modello Gemini Live API, utilizzi LiveGenerationConfig.

Questa pagina mostra come impostare la configurazione per i modelli Gemini e fornisce una descrizione di ogni parametro.

Vai alla configurazione di Gemini Vai alla configurazione di Gemini Live API

GenerationConfig per i modelli Gemini

Fai clic sul tuo fornitore Gemini API per visualizzare i contenuti e il codice specifici del fornitore in questa pagina.

Imposta un GenerationConfig per la maggior parte dei modelli Gemini, inclusi modelli di uso generale, modelli di generazione di immagini (modelli "Nano Banana") e modelli di sintesi vocale (TTS).

La configurazione viene mantenuta per l'intera durata dell'istanza GenerativeModel. Se vuoi utilizzare una configurazione diversa, crea e utilizza una nuova istanza con una configurazione diversa.

Swift

Imposta i valori dei parametri in un GenerationConfig durante la creazione di un'istanza 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

Imposta i valori dei parametri in un GenerationConfig durante la creazione di un'istanza 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

Imposta i valori dei parametri in un GenerationConfig durante la creazione di un'istanza 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

Imposta i valori dei parametri in un GenerationConfig durante la creazione di un'istanza 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

Imposta i valori dei parametri in un GenerationConfig durante la creazione di un'istanza 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

Imposta i valori dei parametri in un GenerationConfig durante la creazione di un'istanza 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
);

Puoi trovare una descrizione di ogni parametro nella sezione successiva di questa pagina.

Puoi sperimentare con prompt e configurazioni del modello utilizzando Agent  Studio.

LiveGenerationConfig per i modelli Gemini Live API

Fai clic sul tuo fornitore Gemini API per visualizzare i contenuti e il codice specifici del fornitore in questa pagina.

Imposta un LiveGenerationConfig solo quando utilizzi i modelli Gemini Live API.

La configurazione viene mantenuta per l'intera durata dell'istanza LiveModel. Se vuoi utilizzare una configurazione diversa, crea e utilizza una nuova istanza con una configurazione diversa.

Swift

Imposta i valori dei parametri in liveGenerationConfig durante l'inizializzazione dell'istanza 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

Imposta i valori dei parametri in un LiveGenerationConfig durante la creazione di un'istanza 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

Imposta i valori dei parametri in un LiveGenerationConfig durante la creazione di un'istanza 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

Imposta i valori dei parametri in LiveGenerationConfig durante l'inizializzazione dell'istanza 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

Imposta i valori dei parametri in un LiveGenerationConfig durante la creazione di un'istanza 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

Imposta i valori dei parametri in un LiveGenerationConfig durante la creazione di un'istanza 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
);

// ...

Puoi trovare una descrizione di ogni parametro nella sezione successiva di questa pagina.

Puoi sperimentare con prompt e configurazioni del modello utilizzando Agent  Studio.



Descrizione dei parametri

La tabella seguente fornisce una panoramica generale dei parametri disponibili. Alcuni parametri sono applicabili solo a determinati modelli.

Tieni presente che temperatura, Top-K e Top-P sono deprecati e ignorati dai modelli Gemini più recenti.

Parametro Descrizione Limitazioni Valore predefinito
Timestamp audio
audioTimestamp
Consente la comprensione dei timestamp per i file di input solo audio.

Booleano

Applicabile solo quando si utilizza una configurazione GenerativeModel e il tipo di input è un file solo audio.

false
Numero di candidati
candidateCount
Specifica il numero di varianti di risposta da restituire. Per ogni richiesta, ti vengono addebitati i token di output di tutti i candidati, ma ti vengono addebitati una sola volta i token di input.

Valori supportati: 1 - 8 (estremi inclusi)

Applicabile solo quando utilizzi generateContent.

Non applicabile quando si utilizzano generateContentStream, modelli TTS o modelli Live API.

1
Numero massimo di token di output
maxOutputTokens
Specifica il numero massimo di token che possono essere generati nella risposta. --- ---
Penalità per frequenza
frequencyPenalty

Controlla la probabilità di includere token che compaiono ripetutamente nella risposta generata.

I valori positivi penalizzano i token che compaiono ripetutamente nei contenuti generati, diminuendo la probabilità di ripetizione dei contenuti.

Non applicabile ai modelli TTS. ---
Penalità per presenza
presencePenalty

Controlla la probabilità di includere token che compaiono già nella risposta generata.

I valori positivi penalizzano i token che già compaiono nei contenuti generati, aumentando la probabilità di generare contenuti più diversi.

Non applicabile ai modelli TTS. ---
Sequenze di interruzioni
stopSequences
Specifica un elenco di stringhe che indica al modello di interrompere la generazione di contenuti se una delle stringhe viene rilevata nella risposta.

Applicabile solo quando utilizzi una configurazione GenerativeModel.

Non applicabile ai modelli TTS.

---
Configurazioni specializzate
Elaborazione in corso
thinkingConfig

Controlla il "processo di pensiero" dei modelli quando generano una risposta.

  • Controlla la quantità di ragionamento che il modello può fare utilizzando un livello di ragionamento (modelli Gemini 3.x e successivi).
  • Controlla se includere i riepiloghi dei pensieri.

Valori supportati: consulta la documentazione di thinking

Non applicabile ai modelli TTS.

Firebase AI Logic non supporta ancora l'impostazione di un thinkingConfig per i modelli Live API.

Dipende dal modello
Modalità di risposta
responseModalities
Specifica il tipo di output (ad es. testo, audio o immagini). Applicabile (e obbligatorio) solo quando si utilizzano modelli di immagini Gemini (modelli "Nano Banana"), modelli TTS e modelli Live API. ---
Caratteristiche dell'immagine
imageConfig
Specifica le proporzioni e la risoluzione delle immagini generate.

Valori supportati: vedi Configurare la generazione di immagini

Applicabile solo quando si utilizzano i modelli di immagini Gemini (modelli "Nano Banana").

Proporzioni 1:1 (quadrato)
Risoluzione 1024 x 1024
Voce
speechConfig
Specifica la voce utilizzata per l'uscita audio. Applicabile solo quando si utilizzano modelli TTS e Live API.

Obbligatorio per i modelli TTS.
Puck





Altre opzioni per controllare la generazione di contenuti

  • Scopri di più sulla progettazione dei prompt per poter influenzare il modello e generare output specifici per le tue esigenze.
  • Utilizza le impostazioni di sicurezza per regolare la probabilità di ricevere risposte che potrebbero essere considerate dannose, inclusi incitamento all'odio e contenuti sessualmente espliciti.
  • Imposta le istruzioni di sistema per guidare il comportamento del modello. Questa funzionalità è come un preambolo che aggiungi prima che il modello venga esposto a ulteriori istruzioni dell'utente finale.
  • Passa uno schema di risposta insieme al prompt per specificare uno schema di output specifico. Questa funzionalità è di uso comune quando si genera un output JSON, ma può essere utilizzata anche per attività di classificazione (ad esempio quando vuoi che il modello utilizzi etichette o tag specifici).