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 diverse opzioni di configurazione.
Puoi anche sperimentare prompt e configurazioni del modello utilizzando Google AI Studio.Gemini Vai alle opzioni di configurazione di Imagen Vai alle opzioni di configurazione di
Configurare i modelli Gemini
Fai clic sul tuo fornitore Gemini API per visualizzare i contenuti e il codice specifici del fornitore in questa pagina. |
Questa sezione mostra come configurare una configurazione da utilizzare con i modelli Gemini e fornisce una descrizione di ogni parametro.
Configurare una configurazione del modello (Gemini)
Configurazione per casi d'uso generali
La configurazione viene mantenuta per l'intera durata dell'istanza. Se vuoi utilizzare una configurazione diversa, crea una nuova istanza di GenerativeModel
con quella configurazione.
Swift
Imposta i valori dei parametri in un
GenerationConfig
durante la creazione di un'istanza GenerativeModel
.
import FirebaseAI
// Set parameter values in a `GenerationConfig` (example values shown here)
let config = GenerationConfig(
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` (example values shown here)
val config = generationConfig {
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` (example values shown here)
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
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` (example values shown here)
const generationConfig = {
max_output_tokens: 200,
stop_sequences: ["red"],
temperature: 0.9,
top_p: 0.1,
top_k: 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` (example values shown here)
final generationConfig = GenerationConfig(
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` (example values shown here)
var generationConfig = new GenerationConfig(
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
Descrizione dei parametri (Gemini)
Di seguito è riportata una panoramica generale dei parametri disponibili, a seconda dei casi. Puoi trovare un elenco completo dei parametri e dei relativi valori nella documentazione di Gemini Developer API.
Parametro | Descrizione | Valore predefinito |
---|---|---|
Timestamp audio
audioTimestamp
|
Un valore booleano che consente di comprendere i timestamp per i file di input solo audio. Applicabile solo quando si utilizzano chiamate |
false |
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. |
--- |
Numero massimo di token di output
maxOutputTokens
|
Specifica il numero massimo di token che possono essere generati nella risposta. | --- |
Penalità di 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. |
--- |
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 si utilizza una
configurazione |
--- |
Temperatura
temperature
|
Controlla il grado di casualità nella risposta. Le temperature più basse generano risposte più deterministiche, mentre le temperature più alte generano risposte più diversificate o creative. |
Dipende dal modello |
Top-K
topK
|
Limita il numero di parole con la probabilità più alta utilizzate nei
contenuti generati. Un valore Top-K pari a 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 pari a n indica che il token successivo deve
essere selezionato tra i token più probabili
(tutto in base alla temperatura impostata).
|
Dipende dal modello |
Top-P
topP
|
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 risposta
responseModality
|
Specifica il tipo di output in streaming quando si utilizza l'output multimodale Live API o nativo di un modello Gemini, ad esempio testo, audio o immagini. Applicabile solo quando si utilizza Live API e una configurazione |
--- |
Voce
speechConfig
|
Specifica la voce utilizzata per l'output audio in streaming quando si utilizza Live API. Applicabile solo quando si utilizzano Live API e una
configurazione |
Puck |
Configurare i modelli Imagen
Fai clic sul tuo fornitore Imagen API per visualizzare i contenuti e il codice specifici del fornitore in questa pagina. |
Questa sezione mostra come configurare una configurazione da utilizzare con i modelli Imagen e fornisce una descrizione di ogni parametro.
Configurare una configurazione del modello (Imagen)
La configurazione viene mantenuta per l'intera durata dell'istanza. Se vuoi utilizzare una configurazione diversa, crea una nuova istanza di ImagenModel
con quella configurazione.
Swift
Imposta i valori dei parametri in un
ImagenGenerationConfig
durante la creazione di un'istanza ImagenModel
.
import FirebaseAI
// 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'istanza ImagenModel
.
// ...
// 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
L'utilizzo di Imagen non è ancora supportato per Unity, ma ricontrolla a breve.
Puoi trovare una descrizione di ogni parametro nella sezione successiva di questa pagina.
Descrizione dei parametri (Imagen)
Di seguito è riportata una panoramica generale dei parametri disponibili, a seconda dei casi. Puoi trovare un elenco completo dei parametri e dei relativi valori nella documentazione di Google Cloud.
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 per i modelli Imagen 3 |
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 dell'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 SynthID) alle immagini generate | Il valore predefinito è true per i modelli Imagen 3
|
Generazione di persone
personGeneration
|
Se consentire la generazione di persone da parte del modello | Il valore predefinito dipende dal modello. |
Altre opzioni per controllare la generazione di contenuti
- Scopri di più sulla progettazione dei prompt per 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à 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).