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 raciocínio,
modalidades de resposta, imagens ou fala.
Na maioria dos casos de uso, ao acessar um modelo Gemini, você o configura 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 do Gemini Ir para a configuração do 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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
let config = GenerationConfig(
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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
val config = generationConfig {
maxOutputTokens = 200
stopSequences = listOf("red")
}
// 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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
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.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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
const generationConfig = {
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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
final generationConfig = GenerationConfig(
maxOutputTokens: 200,
stopSequences: ["red"],
);
// 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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
var generationConfig = new GenerationConfig(
maxOutputTokens: 200,
stopSequences: new string[] { "red" }
);
// Initialize the Gemini Developer API backend service.
// 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
);
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 Google AI 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 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: .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 = Voice("FENRIR"))
}
// 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(new Voice("FENRIR")));
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:
// ...
// Initialize the Gemini Developer API backend service.
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" },
},
},
};
// 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.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")
);
// 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
);
// ...
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 Google AI 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.
| Parâmetro | Descrição | Limitações | Valor padrão |
|---|---|---|---|
Carimbo de data/hora de á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
|
Máximo de tokens de saídamaxOutputTokens
|
Especifica o número máximo de tokens que podem ser gerados na resposta.
Para |
--- | --- |
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
Não relevante para modelos de imagem ("Nano Banana") ou modelos de TTS. |
--- |
| Configurações especializadas | |||
PensandothinkingConfig
|
Controla o "processo de pensamento" dos modelos ao gerar uma resposta.
|
Valores compatíveis: consulte a documentação sobre raciocínio Não relevante para modelos de TTS.
O Firebase AI Logic ainda não oferece suporte à definição de 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 compatíveis: consulte Configurar a geração de imagens. Aplicável somente ao usar modelos de imagem do Gemini (modelos "Nano Banana"). |
Proporção de 1:1 (quadrado) Resolução de 1024x1024 |
Fala (voz)speechConfig
|
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 saídas específicas 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 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.