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, configuri il modello utilizzando GenerationConfig. Tuttavia, se stai configurando un
modello Gemini Live API, utilizzi LiveGenerationConfig.
Questa pagina mostra come configurare 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 tutta la 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.
// 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
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
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
durante la 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',
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.
// 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
);
Puoi trovare una descrizione di ogni parametro nella sezione successiva di questa pagina.
Puoi sperimentare con prompt e configurazioni del modello utilizzando Google AI 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 tutta la 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: .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.agentPlatform()).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
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.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
);
// ...
Puoi trovare una descrizione di ogni parametro nella sezione successiva di questa pagina.
Puoi sperimentare con prompt e configurazioni del modello utilizzando Google AI Studio.Descrizione dei parametri
La tabella seguente fornisce una panoramica generale dei parametri disponibili. Alcuni parametri sono applicabili solo a determinati modelli.
| Parametro | Descrizione | Limitazioni | Valore predefinito |
|---|---|---|---|
Timestamp audioaudioTimestamp
|
Consente 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. | --- | --- |
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 a modelli di immagini ("Nano Banana") o modelli TTS. |
--- |
| Configurazioni specializzate | |||
PensandothinkingConfig
|
Controlla il "processo di pensiero" dei modelli quando generano una risposta.
|
Valori supportati: consulta la documentazione sul pensiero 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 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'immagineimageConfig
|
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 |
VocespeechConfig
|
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 in modo da poter influenzare il modello per 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à viene utilizzata più comunemente 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).