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 offre opzioni di configurazione diverse.
Puoi anche sperimentare con prompt e configurazioni dei modelli utilizzando Google AI Studio.Vai alle opzioni di configurazione di Gemini Vai alle opzioni di configurazione di Imagen (ritirato)
Configurare i modelli Gemini
|
Fai clic sul tuo fornitore Gemini API per visualizzare contenuti specifici del fornitore e codice in questa pagina. |
In questa sezione viene illustrato come configurare un modello per l'utilizzo con i Gemini modelli e viene fornita una descrizione di ogni parametro.
Configurare un modello (Gemini)
Configurazione per i casi d'uso generali Gemini
La configurazione viene mantenuta per la durata dell'istanza. Se vuoi utilizzare una configurazione diversa, crea una nuova istanza GenerativeModel con quella configurazione.
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.
let config = GenerationConfig(
candidateCount: 1,
temperature: 0.9,
topP: 0.1,
topK: 16,
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.
val config = generationConfig {
candidateCount = 1
maxOutputTokens = 200
stopSequences = listOf("red")
temperature = 0.9f
topK = 16
topP = 0.1f
}
// 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.
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.candidateCount = 1;
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;
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.
const generationConfig = {
candidate_count: 1,
maxOutputTokens: 200,
stopSequences: ["red"],
temperature: 0.9,
topP: 0.1,
topK: 16,
};
// 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.
final generationConfig = GenerationConfig(
candidateCount: 1,
maxOutputTokens: 200,
stopSequences: ["red"],
temperature: 0.9,
topP: 0.1,
topK: 16,
);
// 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.
var generationConfig = new GenerationConfig(
candidateCount: 1,
maxOutputTokens: 200,
stopSequences: new string[] { "red" },
temperature: 0.9f,
topK: 16,
topP: 0.1f
);
// 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.
Configurazione per Gemini Live API
La configurazione viene mantenuta per la durata dell'istanza. Se vuoi utilizzare una configurazione diversa, crea una nuova istanza LiveModel con quella configurazione.
Swift
Imposta i valori dei parametri in the
liveGenerationConfig
durante l'inizializzazione dell'istanza LiveModel:
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here)
let config = LiveGenerationConfig(
temperature: 0.9,
topP: 0.1,
topK: 16,
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 = Voices.FENRIR)
temperature = 0.9f
topK = 16
topP = 0.1f
}
// 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(Voices.FENRIR));
configBuilder.setTemperature(0.9f);
configBuilder.setTopK(16);
configBuilder.setTopP(0.1f);
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:
// ...
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" },
},
},
temperature: 0.9,
topP: 0.1,
topK: 16,
};
// 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'),
temperature: 0.9,
topP: 0.1,
topK: 16,
);
// 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"),
temperature: 0.9f,
topK: 16,
topP: 0.1f
);
// 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.
Descrizione dei parametri (Gemini)
Ecco una panoramica generale dei parametri disponibili, a seconda dei casi. Puoi trovare un elenco completo dei parametri e dei relativi valori nella documentazione Gemini Developer API.
| Parametro | Descrizione | Valore predefinito |
|---|---|---|
Timestamp audioaudioTimestamp
|
Un valore booleano che consente di comprendere i timestamp per i file di input solo audio file. Applicabile solo quando si utilizzano le chiamate |
false |
Conteggio dei 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 viene addebitato un solo costo per i token di input. Valori supportati: Applicabile solo quando si utilizza |
1 |
Penalità di frequenzafrequencyPenalty
|
Controlla la probabilità di includere token che appaiono ripetutamente in
la risposta generata. I valori positivi penalizzano i token che appaiono ripetutamente nei contenuti generati, riducendo la probabilità di ripetere i contenuti. |
--- |
Numero massimo di token di outputmaxOutputTokens
|
Specifica il numero massimo di token che possono essere generati nella risposta. | --- |
Penalità di presenzapresencePenalty
|
Controlla la probabilità di includere token che sono già presenti nella risposta generata. I valori positivi penalizzano i token che sono già presenti nei contenuti generati, aumentando la probabilità di generare contenuti più diversificati. |
--- |
Sequenze di interruzionistopSequences
|
Specifica un elenco di stringhe che indica al modello di interrompere la generazione di contenuti se nella risposta viene rilevata una delle stringhe. Applicabile solo quando si utilizza una
configurazione. |
--- |
Temperaturatemperature
|
Controlla il grado di casualità della risposta. Le temperature più basse generano risposte più deterministiche, mentre le temperature più alte generano risposte più diversificate o creative. |
Dipende dal modello |
Top-KtopK
|
Limita il numero di parole con la probabilità più alta utilizzate nei
contenuti generati. Un valore top-K di 1 indica che il token successivo selezionato deve essere
il più probabile tra tutti i token nel vocabolario del modello,
mentre un valore top-K di n indica che il token successivo deve
essere selezionato tra gli n token più probabili (tutti
in base alla temperatura impostata).
|
Dipende dal modello |
Top-PtopP
|
Controlla la diversità dei contenuti generati. I token vengono selezionati dal più probabile (vedi top-K sopra) al meno probabile finché la somma delle loro probabilità raggiunge il valore di top-P. |
Dipende dal modello |
Modalità di rispostaresponseModality
|
Specifica il tipo di output in streaming quando si utilizza l' Live API o l'output multimodale nativo di un Gemini modello, ad esempio testo, audio o immagini. Applicabile solo quando si utilizzano i modelli Live API, o quando si utilizza un modello Gemini in grado di generare output multimodale. |
--- |
VocespeechConfig
|
Specifica la voce utilizzata per l'output audio in streaming quando si utilizza il Live API. Applicabile solo quando si utilizzano i modelli Live API. |
Puck |
Configurare i modelli Imagen
|
Fai clic sul tuo fornitore Imagen API per visualizzare contenuti specifici del fornitore e codice in questa pagina. |
In questa sezione viene illustrato come configurare un modello per l'utilizzo con i Imagen modelli e viene fornita una descrizione di ogni parametro.
Configurare un modello (Imagen)
La configurazione viene mantenuta per la durata dell'istanza. Se vuoi utilizzare una configurazione diversa, crea una nuova istanza ImagenModel con quella configurazione.
Swift
Imposta i valori dei parametri in un
ImagenGenerationConfig
durante la creazione di un'istanza ImagenModel.
import FirebaseAILogic
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
let config = ImagenGenerationConfig(
negativePrompt: "frogs",
numberOfImages: 2,
aspectRatio: .landscape16x9,
imageFormat: .jpeg(compressionQuality: 100),
addWatermark: false
)
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).imagenModel(
modelName: "IMAGEN_MODEL_NAME",
generationConfig: config
)
// ...
Kotlin
Imposta i valori dei parametri in un
ImagenGenerationConfig
durante la creazione di un'istanza ImagenModel.
// ...
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
val config = ImagenGenerationConfig {
negativePrompt = "frogs",
numberOfImages = 2,
aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
addWatermark = false
}
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
modelName = "IMAGEN_MODEL_NAME",
generationConfig = config
)
// ...
Java
Imposta i valori dei parametri in un
ImagenGenerationConfig
durante la creazione di un'istanza ImagenModel.
// ...
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
ImagenGenerationConfig config = new ImagenGenerationConfig.Builder()
.setNegativePrompt("frogs")
.setNumberOfImages(2)
.setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
.setImageFormat(ImagenImageFormat.jpeg(100))
.setAddWatermark(false)
.build();
// Specify the config as part of creating the `ImagenModel` instance
ImagenModelFutures model = ImagenModelFutures.from(
FirebaseAI.getInstance(GenerativeBackend.googleAI())
.imagenModel(
"IMAGEN_MODEL_NAME",
config
);
);
// ...
Web
Imposta i valori dei parametri in un
ImagenGenerationConfig
durante la creazione di un'istanza ImagenModel.
// ...
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
const generationConfig = {
negativePrompt: "frogs",
numberOfImages: 2,
aspectRatio: ImagenAspectRatio.LANDSCAPE_16x9,
imageFormat: ImagenImageFormat.jpeg(100),
addWatermark: false
};
// Specify the config as part of creating the `ImagenModel` instance
const model = getImagenModel(ai, { model: "IMAGEN_MODEL_NAME", generationConfig });
// ...
Dart
Imposta i valori dei parametri in un
ImagenGenerationConfig
durante la creazione di un'ImagenModel istanza.
// ...
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
final generationConfig = ImagenGenerationConfig(
negativePrompt: 'frogs',
numberOfImages: 2,
aspectRatio: ImagenAspectRatio.landscape16x9,
imageFormat: ImagenImageFormat.jpeg(compressionQuality: 100)
addWatermark: false
);
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
final model = FirebaseAI.googleAI().imagenModel(
model: 'IMAGEN_MODEL_NAME',
config: generationConfig,
);
// ...
Unity
Imposta i valori dei parametri in un
ImagenGenerationConfig
durante la creazione di un'istanza ImagenModel.
using Firebase.AI;
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
var config = new ImagenGenerationConfig(
numberOfImages: 2,
aspectRatio: ImagenAspectRatio.Landscape16x9,
imageFormat: ImagenImageFormat.Jpeg(100)
);
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
var model = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetImagenModel(
modelName: "imagen-4.0-generate-001",
generationConfig: config
);
// ...
Puoi trovare una descrizione di ogni parametro nella sezione successiva di questa pagina.
Descrizione dei parametri (Imagen)
Ecco una panoramica generale dei parametri disponibili, a seconda dei casi. Puoi trovare un elenco completo dei parametri e dei relativi valori nella Google Cloud documentazione.
| Parametro | Descrizione | Valore predefinito |
|---|---|---|
Prompt negativo
negativePrompt
|
Una descrizione di ciò che vuoi omettere nelle immagini generate
Questo parametro non è ancora supportato da
|
--- |
Numero di risultati
numberOfImages
|
Il numero di immagini generate restituite per ogni richiesta | Il valore predefinito è un'immagine |
Proporzioni
aspectRatio
|
Il rapporto tra larghezza e altezza delle immagini generate | Il valore predefinito è quadrato (1:1) |
Formato immagine
imageFormat
|
Le opzioni di output, come il formato immagine (tipo MIME) e il livello di compressione delle immagini generate | Il tipo MIME predefinito è PNG La compressione predefinita è 75 (se il tipo MIME è impostato su JPEG) |
Filigrana
addWatermark
|
Se aggiungere una filigrana digitale non visibile (chiamata a SynthID) alle immagini generate | Il valore predefinito è true
|
Generazione di persone
personGeneration
|
Se consentire la generazione di persone da parte del modello | Il valore predefinito dipende dal modello |
Includi attributi di sicurezza
includeSafetyAttributes
|
Se attivare i punteggi di AI responsabile arrotondati per un elenco di attributi di sicurezza
nelle risposte per input e output non filtrati Categorie di attributi di sicurezza:
|
Il valore predefinito è false |
Altre opzioni per controllare la generazione di contenuti
- Scopri di più sulla progettazione dei prompt per influenzare il modello in modo che generi output specifici per le tue esigenze.
- Utilizza le impostazioni di sicurezza per regolare la probabilità di ricevere risposte che potrebbero essere considerate dannose, inclusi discorsi che incitano all'odio e contenuti sessualmente espliciti.
- Imposta le istruzioni di sistema per guidare il comportamento del modello. Questa funzionalità è simile a un preambolo che aggiungi prima che il modello venga esposto a ulteriori istruzioni dell'utente finale.
- Trasmetti uno schema di risposta insieme al prompt per specificare uno schema di output specifico. Questa funzionalità è più comunemente utilizzata quando si genera output JSON, ma può essere utilizzata anche per attività di classificazione (ad esempio quando vuoi che il modello utilizzi etichette o tag specifici).