Utilizzare la configurazione del modello per controllare le risposte

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.

Vai alle opzioni di configurazione di Gemini Vai alle opzioni di configurazione di Imagen



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 generateContent o generateContentStream e il tipo di input è un file solo audio.

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 GenerativeModel.

---
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 LiveModel o quando si utilizza un modello Gemini in grado di generare output multimodali.

---
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 LiveModel.

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 imagen-3.0-generate-002.

---
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).