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 audioaudioTimestamp
|
Consente la comprensione dei timestamp per i file di input solo audio. |
Booleano
Applicabile solo quando si utilizza una configurazione |
false
|
Numero di candidaticandidateCount
|
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:
Applicabile solo quando utilizzi
Non applicabile quando si utilizzano |
1
|
Numero massimo di token di outputmaxOutputTokens
|
Specifica il numero massimo di token che possono essere generati nella risposta. | --- | --- |
Penalità per frequenzafrequencyPenalty
|
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 presenzapresencePenalty
|
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 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 TTS. |
--- |
| Configurazioni specializzate | |||
Elaborazione in corsothinkingConfig
|
Controlla il "processo di pensiero" dei modelli quando generano una risposta.
|
Valori supportati: consulta la documentazione di thinking 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 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).