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 ragionamento, le modalità di risposta, le immagini, il parlato o il rilevamento di attività vocale (VAD).
Per la maggior parte dei casi d'uso, quando accedi a un modello Gemini, lo configuri utilizzando GenerationConfig. Tuttavia, se stai configurando un modello Gemini Live API, utilizza LiveGenerationConfig.
Questa pagina mostra come impostare la configurazione per i modelli Gemini e fornisce una tabella dei parametri disponibili.
Vai alla configurazione Gemini Vai alla configurazione Gemini Live API
GenerationConfig per i modelli Gemini
|
Fai clic sul tuo provider Gemini API per visualizzare i contenuti e il codice specifici del provider in questa pagina. |
Imposta un GenerationConfig per la maggior parte dei modelli Gemini, inclusi i modelli di uso generale, i modelli di generazione di immagini (Nano Banana) e i modelli di conversione da testo a voce (TTS).
La configurazione viene mantenuta per tutta la durata dell'istanza GenerativeModel. Se vuoi utilizzare una configurazione diversa, crea e utilizza una nuova istanza con una configurazione diversa.
L'esempio seguente mostra una configurazione del modello molto semplice. Per ulteriori opzioni (soprattutto per i modelli specializzati), consulta la tabella dei parametri disponibili più avanti in questa pagina.
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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
let config = GenerationConfig(
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
Imposta i valori dei parametri in un
GenerationConfig
nell'ambito della creazione di un'istanza GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
val config = generationConfig {
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
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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
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
Imposta i valori dei parametri in un
GenerationConfig
nell'ambito della creazione di un'istanza 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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
const generationConfig = {
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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
final generationConfig = GenerationConfig(
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',
generationConfig: generationConfig,
);
// ...
Unity
Imposta i valori dei parametri in un
GenerationConfig
nell'ambito della creazione di un'istanza GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
var generationConfig = new GenerationConfig(
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
);
LiveGenerationConfig per i modelli Gemini Live API
|
Fai clic sul tuo provider Gemini API per visualizzare i contenuti e il codice specifici del provider in questa pagina. |
Imposta un LiveGenerationConfig solo quando utilizzi i modelli Gemini Live API.
La configurazione viene mantenuta per tutta la durata dell'istanza LiveModel. Se vuoi utilizzare una configurazione diversa, crea e utilizza una nuova istanza con una configurazione diversa.
L'esempio seguente mostra una configurazione del modello molto semplice. Per ulteriori opzioni (come la configurazione del rilevamento di attività vocale (VAD)), consulta la tabella dei parametri disponibili più avanti in questa pagina.
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: .googleAI()).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 = Voice("FENRIR"))
}
// Specify the config as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.googleAI()).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(new Voice("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
Imposta i valori dei parametri in
LiveGenerationConfig
durante l'inizializzazione dell'istanza 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
Imposta i valori dei parametri in un
LiveGenerationConfig
nell'ambito della 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.googleAI().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.GoogleAI()).GetLiveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
liveGenerationConfig: config
);
// ...
Parametri del modello disponibili
La tabella seguente fornisce una panoramica generale dei parametri disponibili per la configurazione del modello. Alcuni parametri sono applicabili solo a determinati modelli.
| Parametro | Descrizione | Limitazioni | Valore predefinito |
|---|---|---|---|
Timestamp audioaudioTimestamp
|
Abilita la comprensione dei timestamp per i file di input solo audio. |
Booleano
Applicabile solo quando utilizzi una configurazione |
false
|
Numero massimo di token di outputmaxOutputTokens
|
Specifica il numero massimo di token che possono essere generati nella risposta.
Per |
--- | --- |
Sequenze di interruzionistopSequences
|
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 Non applicabile ai modelli Nano Banana o TTS. |
--- |
| Configurazioni specializzate | |||
RagionamentothinkingConfig
|
Controlla il "processo di ragionamento" dei modelli durante la generazione di una risposta.
|
Valori supportati: consulta la documentazione sul ragionamento Non applicabile ai modelli TTS.
Firebase AI Logic non supporta ancora l'impostazione di un |
Dipende dal modello |
Modalità di rispostaresponseModalities
|
Specifica il tipo di output (ad esempio testo, audio o immagini). | Applicabile (e obbligatorio) solo quando utilizzi i modelli Nano Banana, TTS e Live API. | --- |
Caratteristiche delle immaginiimageConfig
|
Specifica le proporzioni e la risoluzione delle immagini generate. |
Valori supportati: consulta Configura la generazione di immagini Applicabile solo quando utilizzi i modelli Nano Banana. |
Proporzioni 1:1 (quadrato) Risoluzione 1024 x 1024 |
VocespeechConfig
|
Specifica la voce utilizzata per l'output audio. |
Applicabile solo quando si utilizzano modelli TTS e modelli Live API. Obbligatorio per i modelli TTS. |
Puck
|
Rilevamento di attività vocale (VAD)realtimeInputConfig
|
Configura il rilevamento di attività vocale (VAD), la gestione delle interruzioni e la copertura del contesto del turno o disattiva il VAD automatico. |
Valori supportati: consulta Configura VAD Applicabile solo quando utilizzi i modelli Live API. |
VAD abilitato Consulta i valori predefiniti per le singole impostazioni. |
Altre opzioni per controllare la generazione di contenuti
- Scopri di più sulla progettazione dei prompt per influenzare il modello in modo che generi un output specifico per le tue esigenze.
- Utilizza le impostazioni di sicurezza per regolare la probabilità di ricevere risposte che potrebbero essere considerate dannose, tra cui 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à viene utilizzata più comunemente per generare output JSON, ma può essere utilizzata anche per attività di classificazione (ad esempio quando vuoi che il modello utilizzi etichette o tag specifici).