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 con i prompt e le configurazioni dei modelli utilizzando Google AI Studio.Gemini Vai alle opzioni di configurazione di Imagen Vai alle opzioni di configurazione di
Configura 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 illustra come configurare una configurazione da utilizzare con i modelliGemini e fornisce una descrizione di ciascun parametro.
Configura una configurazione del modello (Gemini)
Configurazione per casi d'uso generali
La configurazione viene mantenuta per tutta la durata dell'istanza. Se vuoi usare una configurazione diversa, crea una nuova istanza GenerativeModel
con quella configurazione.
Swift
Imposta i valori dei parametri in un
GenerationConfig
nell'ambito della 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
nell'ambito della 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
nell'ambito della 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
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` (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
nell'ambito della 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
nell'ambito della 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
);
Nella sezione successiva di questa pagina puoi trovare una descrizione di ciascun parametro.
Configurazione per Gemini Live API
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 di Gemini Developer API.
Parametro | Descrizione | Valore predefinito |
---|---|---|
Timestamp audio
audioTimestamp
|
Un valore booleano che consente di comprendere il 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 appaiono ripetutamente nei contenuti generati, diminuendo la probabilità di ripetere i contenuti. |
--- |
Token di output massimi
maxOutputTokens
|
Specifica il numero massimo di token che possono essere generati nella risposta. | --- |
Penalità per presenza
presencePenalty
|
Controlla la probabilità di includere token già presenti nella risposta generata. I valori positivi penalizzano i token che appaiono già nei contenuti generati, aumentando la probabilità di generare contenuti più diversificati. |
--- |
Sequenze di interruzioni
stopSequences
|
Specifica un elenco di stringhe che indica al modello di interrompere la generazione di contenuti se viene rilevata una delle stringhe nella risposta. Applicabile solo se si utilizza una configurazione |
--- |
Temperatura
temperature
|
Controlla il grado di casualità nella risposta. Le temperature più basse generano risposte più deterministiche, mentre quelle più elevate 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 selezionato successivo 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 n token più probabili
(il 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à non corrisponde al valore di Top-P. |
Dipende dal modello |
Modalità di risposta
responseModality
|
Specifica il tipo di output in streaming quando utilizzi Live API, ad esempio testo o audio. 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 utilizza Live API e una configurazione
|
Puck |
Configura 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 illustra come configurare una configurazione da utilizzare con i modelliImagen e fornisce una descrizione di ciascun parametro.
Configura una configurazione del modello (Imagen)
La configurazione viene mantenuta per tutta la durata dell'istanza. Se vuoi usare una configurazione diversa, crea una nuova istanza ImagenModel
con quella configurazione.
Swift
Imposta i valori dei parametri in un
ImagenGenerationConfig
nell'ambito della 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
nell'ambito della 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
nell'ambito della 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
nell'ambito della 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
nell'ambito della 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.
Nella sezione successiva di questa pagina puoi trovare una descrizione di ciascun parametro.
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 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, ad esempio 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 o meno una filigrana digitale non visibile (chiamata SynthID) alle immagini generate | Il valore predefinito è true per i modelli Imagen 3
|
Generare persone
personGeneration
|
Se consentire la generazione di persone dal modello | il valore predefinito dipende dal modello |
Altre opzioni per controllare la generazione di contenuti
- Scopri di più sul design dei prompt per poter 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 incitamento all'odio e contenuti sessualmente espliciti.
- Imposta le istruzioni di sistema per indirizzare il comportamento del modello. Questa funzionalità è simile a un preambolo che viene aggiunto prima che il modello venga esposto ad altre istruzioni dell'utente finale.
- Passa un schema di risposta insieme al prompt per specificare uno schema di output specifico. Questa funzionalità viene solitamente utilizzata 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).