Em cada chamada para um modelo, é possível 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, fala ou detecção de atividade de voz (VAD).
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 definir a configuração dos modelos Gemini e fornecemos uma tabela de parâmetros disponíveis.
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 (Nano Banana)
e modelos de conversão de texto em voz (TTS).
A configuração é mantida durante 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.
O exemplo a seguir mostra uma configuração de modelo muito básica. Para mais opções (especialmente para modelos especializados), consulte a tabela de parâmetros disponíveis mais adiante nesta página.
Swift
Defina os valores dos parâmetros em um
GenerationConfig
ao criar 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 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
ao criar 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 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.
// 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.agentPlatform())
.generativeModel(
"GEMINI_MODEL_NAME",
config
);
);
// ...
Web
Defina os valores dos parâmetros em um
GenerationConfig
ao criar 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.
// 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
ao criar 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 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',
generationConfig: generationConfig,
);
// ...
Unity
Defina os valores dos parâmetros em um
GenerationConfig
ao criar 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 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
);
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.
O exemplo a seguir mostra uma configuração de modelo muito básica. Para outras opções (como configurar a detecção de atividade de voz (VAD)), consulte a tabela de parâmetros disponíveis mais adiante nesta página.
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(
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 = Voice("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(new Voice("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 no
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
);
// ...
Parâmetros de modelo disponíveis
A tabela a seguir é uma visão geral dos parâmetros disponíveis para configuração do modelo. Alguns parâmetros são aplicáveis apenas a determinados modelos.
| 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
|
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 Nano Banana ou 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 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 os modelos Nano Banana, TTS e 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 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
|
Detecção de atividade de voz (VAD)realtimeInputConfig
|
Configura a detecção de atividade de voz (VAD), o processamento de interrupções e a cobertura de contexto de turno ou desativa a VAD automática. |
Valores compatíveis: consulte Configurar VAD Aplicável somente ao usar modelos Live API. |
VAD ativada Consulte os valores padrão para configurações individuais. |
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 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 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.