Usar a configuração do modelo para controlar as respostas

Em cada chamada para um modelo, você pode enviar uma configuração para controlar como ele gera uma resposta. Cada modelo oferece opções de configuração diferentes.

Você também pode testar comandos e configurações de modelo usando Google AI Studio.

Pular para as opções de configuração Gemini Pular para as opções de configuração Imagen (descontinuado)



Configurar modelos Gemini

Clique no seu provedor Gemini API para conferir o conteúdo específico do provedor e o código nesta página.

Esta seção mostra como configurar para usar com Gemini modelos e fornece uma descrição de cada parâmetro.

Configurar uma configuração de modelo (Gemini)

Configuração para casos de uso gerais Gemini

A configuração é mantida durante toda a vida útil da instância. Se você quiser usar uma configuração diferente, crie uma nova instância GenerativeModel com essa configuração.

Swift

Defina os valores dos parâmetros em um GenerationConfig como parte da criação de uma instância 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

Defina os valores dos parâmetros em um GenerationConfig como parte da criação de uma instância 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

Defina os valores dos parâmetros em um GenerationConfig como parte da criação de uma instância 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

Defina os valores dos parâmetros em um GenerationConfig como parte da criação de uma instância 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

Defina os valores dos parâmetros em um GenerationConfig como parte da criação de uma GenerativeModel instância.


// ...

// 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

Defina os valores dos parâmetros em um GenerationConfig como parte da criação de uma instância 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
);

Você encontra uma descrição de cada parâmetro na próxima seção desta página.

Configuração para a Gemini Live API

A configuração é mantida durante toda a vida útil da instância. Se você quiser usar uma configuração diferente, crie uma nova instância LiveModel com essa configuração.

Swift

Defina os valores dos parâmetros no liveGenerationConfig durante a inicialização da instância 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

Defina os valores dos parâmetros em um LiveGenerationConfig como parte da criação de uma instância 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

Defina os valores dos parâmetros em um LiveGenerationConfig como parte da criação de uma instância 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

Defina os valores dos parâmetros no LiveGenerationConfig durante a inicialização da instância 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

Defina os valores dos parâmetros em um LiveGenerationConfig como parte da criação de uma instância 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

Defina os valores dos parâmetros em um LiveGenerationConfig como parte da criação de uma instância 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
);

// ...

Você encontra uma descrição de cada parâmetro na próxima seção desta página.

Descrição dos parâmetros (Gemini)

Confira abaixo uma visão geral dos parâmetros disponíveis, conforme aplicável. Encontre uma lista completa de parâmetros e valores na documentação Gemini Developer API.

Parâmetro Descrição Valor padrão
Carimbo de data/hora de áudio
audioTimestamp

Um booleano que permite a compreensão de carimbos de data/hora para arquivos de entrada somente de áudio.

Aplicável somente ao usar generateContent ou generateContentStream chamadas e o tipo de entrada for um arquivo somente de áudio.

false
Contagem de candidatos
candidateCount

Especifica o número de variações de resposta a serem retornadas. Para cada solicitação, você paga pelos tokens de saída de todos os candidatos, mas só é cobrado uma vez pelos tokens de entrada.

Valores compatíveis: 1 a 8 (inclusive)

Aplicável somente ao usar generateContent e os modelos mais recentes do Gemini. Os modelos Live API e generateContentStream não são compatíveis.

1
Penalidade de frequência
frequencyPenalty
Controla a probabilidade de incluir tokens que aparecem repetidamente em a resposta gerada.
Valores positivos penalizam tokens que aparecem repetidamente no conteúdo gerado, diminuindo a probabilidade de repetir conteúdo.
---
Máximo de tokens de saída
maxOutputTokens
Especifica o número máximo de tokens que podem ser gerados na resposta. ---
Penalidade de presença
presencePenalty
Controla a probabilidade de incluir tokens que já aparecem em a resposta gerada.
Valores positivos penalizam tokens que já aparecem no conteúdo gerado, aumentando a probabilidade de gerar conteúdo mais diversificado.
---
Sequências de paradas
stopSequences

Especifica uma lista de strings que instrui o modelo a parar de gerar conteúdo se uma das strings for encontrada na resposta.

Aplicável somente ao usar uma GenerativeModel configuração.

---
Temperatura
temperature
Controla o grau de aleatoriedade da resposta.
Temperaturas mais baixas resultam em respostas mais deterministas, e temperaturas mais altas resultam em respostas mais diversas ou criativas.
Depende do modelo
Top-K
topK
Limita o número de palavras de maior probabilidade usadas no conteúdo gerado.
Um valor de Top-K de 1 significa que o próximo token selecionado deve ser o mais provável entre todos os tokens no vocabulário do modelo, enquanto um valor de Top-K de n significa que o próximo token deve ser selecionado entre os n tokens mais prováveis (todos com base na temperatura definida).
Depende do modelo
Top-P
topP
Controla a diversidade do conteúdo gerado.
Os tokens são selecionados do mais provável (confira o Top-K acima) para o menos provável até que a soma das probabilidades seja igual ao valor do Top-P.
Depende do modelo
Modalidade de resposta
responseModality

Especifica o tipo de saída transmitida ao usar a Live API ou a saída multimodal nativa de um Gemini modelo, por exemplo, texto, áudio ou imagens.

Aplicável somente ao usar os modelos Live API ou um modelo Gemini capaz de saída multimodal.

---
Voz
speechConfig

Especifica a voz usada para a saída de áudio transmitida ao usar a Live API.

Aplicável somente ao usar os modelos Live API.

Puck



Configurar modelos Imagen

Clique no seu provedor Imagen API para conferir o conteúdo específico do provedor e o código nesta página.

Esta seção mostra como configurar um modelo para uso com Imagen e fornece uma descrição de cada parâmetro.

Configurar uma configuração de modelo (Imagen)

A configuração é mantida durante toda a vida útil da instância. Se você quiser usar uma configuração diferente, crie uma nova instância ImagenModel com essa configuração.

Swift

Defina os valores dos parâmetros em um ImagenGenerationConfig como parte da criação de uma instância 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

Defina os valores dos parâmetros em um ImagenGenerationConfig como parte da criação de uma instância 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

Defina os valores dos parâmetros em um ImagenGenerationConfig como parte da criação de uma instância 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

Defina os valores dos parâmetros em um ImagenGenerationConfig como parte da criação de uma instância 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

Defina os valores dos parâmetros em um ImagenGenerationConfig como parte da criação de uma instância 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

Defina os valores dos parâmetros em um ImagenGenerationConfig como parte da criação de uma instância 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
);

// ...

Você encontra uma descrição de cada parâmetro na próxima seção desta página.

Descrição dos parâmetros (Imagen)

Confira abaixo uma visão geral dos parâmetros disponíveis, conforme aplicável. Encontre uma lista completa de parâmetros e valores na Google Cloud documentação.

Parâmetro Descrição Valor padrão
Comando negativo
negativePrompt
Uma descrição do que você quer omitir nas imagens geradas

Esse parâmetro ainda não é compatível com imagen-3.0-generate-002.

---
Número de resultados
numberOfImages
O número de imagens geradas retornadas para cada solicitação O padrão é uma imagem
Proporção
aspectRatio
A proporção entre a largura e a altura das imagens geradas O padrão é quadrada (1:1)
Formato da imagem
imageFormat
As opções de saída, como o formato da imagem (tipo MIME) e o nível de compactação das imagens geradas O tipo MIME padrão é PNG
A compactação padrão é 75 (se o tipo MIME estiver definido como JPEG)
Marca-d'água
addWatermark
Se uma marca-d'água digital não visível (chamada a SynthID) será adicionada às imagens geradas O padrão é true
Geração de pessoas
personGeneration
Se a geração de imagens de pessoas pelo modelo será permitida O padrão depende do modelo
Incluir atributos de segurança
includeSafetyAttributes
Se as pontuações de IA responsável arredondadas serão ativadas para uma lista de atributos de segurança nas respostas de entrada e saída não filtradas

Categorias de atributos de segurança: "Death, Harm & Tragedy", "Firearms & Weapons", "Hate", "Health", "Illicit Drugs", "Politics", "Porn", "Religion & Belief", "Toxic", "Violence", "Vulgarity", "War & Conflict".

O padrão é false



Outras opções para controlar a geração de conteúdo

  • Saiba mais sobre design de comandos para influenciar o modelo a gerar resultados específicos para suas necessidades.
  • Use as configurações de segurança para ajustar a probabilidade de receber respostas que possam ser consideradas nocivas, incluindo discurso de ódio e conteúdo sexualmente explícito.
  • Defina instruções do sistema para orientar o comportamento do modelo. Esse recurso é como um preâmbulo que você adiciona antes que o modelo seja exposto a outras instruções do usuário final.
  • Transmita um esquema de resposta junto com o comando para especificar um esquema de saída específico. Esse recurso é usado com frequência ao gerar saída JSON, mas também pode ser usado para tarefas de classificação (como quando você quer que o modelo use rótulos ou tags específicos).