Em cada chamada a um modelo, você pode enviar uma configuração para controlar como ele gera uma resposta. Cada modelo oferece suporte a diferentes opções de configuração, como definir maxOutputTokens ou configurações especializadas para pensamento, modalidades de resposta, imagens ou fala.
Na maioria dos casos de uso ao acessar um modelo Gemini, você
configura o modelo usando GenerationConfig. No entanto, se você estiver configurando um modelo Gemini Live API, use LiveGenerationConfig.
Nesta página, mostramos como configurar os modelos Gemini e fornecemos uma descrição de cada parâmetro.
Ir para a configuração Gemini Ir para a configuração Gemini Live API
GenerationConfig para modelos Gemini
|
Clique no seu provedor de Gemini API para conferir o conteúdo e o código específicos do provedor nesta página. |
Defina um GenerationConfig para a maioria dos modelos Gemini, incluindo modelos de uso geral, modelos de geração de imagens (modelos "Nano Banana") e modelos de conversão de texto em voz (TTS).
A configuração é mantida durante todo o ciclo de vida da instância GenerativeModel. Se você quiser usar uma configuração diferente, crie e use uma nova instância
com uma configuração diferente.
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.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
let config = GenerationConfig(
candidateCount: 1,
maxOutputTokens: 200,
stopSequences: ["red"]
)
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
let model = FirebaseAI.firebaseAI(backend: .agentPlatform()).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.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
val config = generationConfig {
candidateCount = 1
maxOutputTokens = 200
stopSequences = listOf("red")
}
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
val model = Firebase.ai(backend = GenerativeBackend.agentPlatform()).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.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.candidateCount = 1;
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
GenerationConfig config = configBuilder.build();
// Specify the config as part of creating the `GenerativeModel` instance.
GenerativeModelFutures model = GenerativeModelFutures.from(
FirebaseAI.getInstance(GenerativeBackend.agentPlatform())
.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 Agent Platform Gemini API backend service (formerly Vertex AI).
const ai = getAI(firebaseApp, { backend: new AgentPlatformBackend() });
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
const generationConfig = {
candidateCount: 1,
maxOutputTokens: 200,
stopSequences: ["red"],
};
// 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 instância GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
final generationConfig = GenerationConfig(
candidateCount: 1,
maxOutputTokens: 200,
stopSequences: ["red"],
);
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
final model = FirebaseAI.agentPlatform().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.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
var generationConfig = new GenerationConfig(
candidateCount: 1,
maxOutputTokens: 200,
stopSequences: new string[] { "red" }
);
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.AgentPlatform());
var model = ai.GetGenerativeModel(
modelName: "GEMINI_MODEL_NAME",
generationConfig: generationConfig
);
Confira uma descrição de cada parâmetro na próxima seção desta página.
É possível testar comandos e configurações de modelo usando Agent Studio.LiveGenerationConfig para modelos Gemini Live API
|
Clique no seu provedor de Gemini API para conferir o conteúdo e o código específicos do provedor nesta página. |
Defina um LiveGenerationConfig somente ao usar modelos Gemini Live API.
A configuração é mantida durante todo o ciclo de vida da instância LiveModel. Se você quiser usar uma configuração diferente, crie e use uma nova instância
com uma configuração diferente.
Swift
Defina os valores dos parâmetros em
liveGenerationConfig
durante a inicialização da instância LiveModel:
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here).
let config = LiveGenerationConfig(
maxOutputTokens: 200,
responseModalities: [.audio],
speech: SpeechConfig(voiceName: "Fenrir"),
)
// Specify the config as part of creating the `liveModel` instance.
let liveModel = FirebaseAI.firebaseAI(backend: .agentPlatform(location: "us-central1")).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)
}
// Specify the config as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.agentPlatform(location = "us-central1")).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));
LiveGenerationConfig config = configBuilder.build();
// Specify the config as part of creating the `LiveModel` instance.
LiveGenerativeModel lm = FirebaseAI.getInstance(GenerativeBackend.agentPlatform("us-central1")).liveModel(
"GEMINI_LIVE_MODEL_NAME",
config
);
// ...
Web
Defina os valores dos parâmetros em
LiveGenerationConfig
durante a inicialização da instância LiveGenerativeModel:
// ...
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
const ai = getAI(firebaseApp, { backend: new AgentPlatformBackend("us-central1") });
// Set parameter values in a `LiveGenerationConfig` (example values shown here).
const liveGenerationConfig = {
maxOutputTokens: 200,
responseModalities: [ResponseModality.AUDIO],
speechConfig: {
voiceConfig: {
prebuiltVoiceConfig: { voiceName: "Fenrir" },
},
},
};
// 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'),
);
// Specify the config as part of creating the `liveGenerativeModel` instance.
final liveModel = FirebaseAI.agentPlatform(location: 'us-central1').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")
);
// Specify the config as part of creating the `LiveModel` instance.
var liveModel = FirebaseAI.GetInstance(FirebaseAI.Backend.AgentPlatform(location: "us-central1")).GetLiveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
liveGenerationConfig: config
);
// ...
Confira uma descrição de cada parâmetro na próxima seção desta página.
É possível testar comandos e configurações de modelo usando Agent Studio.Descrição dos parâmetros
A tabela a seguir é uma visão geral dos parâmetros disponíveis. Alguns parâmetros são aplicáveis apenas a determinados modelos.
Temperatura, Top-K e Top-P foram descontinuados e são ignorados pelos modelos Gemini mais recentes.
| Parâmetro | Descrição | Limitações | Valor padrão |
|---|---|---|---|
Carimbo de data/hora do áudioaudioTimestamp
|
Permite o entendimento de carimbos de data/hora para arquivos de entrada somente de áudio. |
Booleano
Aplicável apenas ao usar uma configuração |
false
|
Contagem de candidatoscandidateCount
|
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 aceitos:
Aplicável somente ao usar
Não aplicável ao usar |
1
|
Máximo de tokens de saídamaxOutputTokens
|
Especifica o número máximo de tokens que podem ser gerados na resposta. | --- | --- |
Penalidade de frequênciafrequencyPenalty
|
Controla a probabilidade de incluir tokens que aparecem repetidamente na resposta gerada. Valores positivos penalizam tokens que aparecem repetidamente no conteúdo gerado, diminuindo a probabilidade de repetir conteúdo. |
Não aplicável a modelos de TTS. | --- |
Penalidade de presençapresencePenalty
|
Controla a probabilidade de incluir tokens que já aparecem na resposta gerada. Valores positivos penalizam tokens que já aparecem no conteúdo gerado, aumentando a probabilidade de gerar conteúdo mais diversificado. |
Não aplicável a modelos de TTS. | --- |
Sequências de paradastopSequences
|
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 apenas ao usar uma configuração de Não aplicável a modelos de TTS. |
--- |
| Configurações especializadas | |||
PensandothinkingConfig
|
Controla o "processo de pensamento" dos modelos ao gerar uma resposta.
|
Valores aceitos: consulte a documentação sobre pensamento Não aplicável a modelos de TTS.
O Firebase AI Logic ainda não permite definir um
|
Depende do modelo |
Modalidades de respostaresponseModalities
|
Especifica o tipo de saída (como texto, áudio ou imagens). | Aplicável (e obrigatório) somente ao usar modelos de imagem Gemini (modelos "Nano Banana"), modelos de TTS e modelos Live API. | --- |
Características da imagemimageConfig
|
Especifica a proporção e a resolução das imagens geradas. |
Valores aceitos: consulte Configurar a geração de imagens Aplicável somente ao usar modelos de imagem Gemini (modelos "Nano Banana"). |
Proporção de 1:1 (quadrada) Resolução de 1024 x 1024 |
VozspeechConfig
|
Especifica a voz usada para a saída de áudio. |
Aplicável somente ao usar modelos de TTS e Live API. Obrigatório para modelos de TTS. |
Puck
|
Outras opções para controlar a geração de conteúdo
- Saiba mais sobre o 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 prejudiciais, 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 mais 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.