Em cada chamada a um modelo, você pode enviar uma configuração para controlar como ele gera uma resposta. Cada modelo oferece diferentes opções de configuração.
Você também pode testar comandos e configurações de modelo usando o Google AI Studio.Gemini Ir para as opções de configuração do Imagen Ir para as opções de configuração do
Configurar 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. |
Nesta seção, mostramos como configurar para uso com modelos Gemini e fornecemos uma descrição de cada parâmetro.
Configurar uma configuração de modelo (Gemini)
Configuração para casos de uso gerais
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 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
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` (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
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` (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
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` (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
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` (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
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` (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
);
Confira uma descrição de cada parâmetro na próxima seção desta página.
Configuração do Gemini Live API
Descrição dos parâmetros (Gemini)
Confira abaixo uma visão geral de alto nível dos parâmetros disponíveis, conforme aplicável. Confira uma lista completa de parâmetros e valores na documentação do Gemini Developer API.
Parâmetro | Descrição | Valor padrão |
---|---|---|
Carimbo de data/hora do áudio
audioTimestamp
|
Um booleano que permite o entendimento de carimbos de data/hora para arquivos de entrada somente de áudio. Aplicável somente ao usar chamadas |
false |
Penalidade de frequência
frequencyPenalty
|
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. |
--- |
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 na 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 parada
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 apenas ao usar uma configuração de
|
--- |
Temperatura
temperature
|
Controla o grau de aleatoriedade na 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 mais prováveis tokens
(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 (consulte o top-K acima) para o menos provável até que a soma das probabilidades seja igual ao valor de top-P. |
Depende do modelo |
Modalidade de resposta
responseModality
|
Especifica o tipo de saída transmitida ao usar a saída multimodal Live API ou nativa de um modelo Gemini, por exemplo, texto, áudio ou imagens. Aplicável somente ao usar Live API e uma configuração |
--- |
Voz
speechConfig
|
Especifica a voz usada para a saída de áudio transmitida ao usar o Live API. Aplicável somente ao usar a Live API e uma
configuração |
Puck |
Configurar modelos Imagen
Clique no seu provedor de Imagen API para conferir o conteúdo e o código específicos do provedor nesta página. |
Nesta seção, mostramos como configurar para uso com modelos Imagen e fornecemos 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 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
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
O uso do Imagen ainda não é compatível com o Unity. Confira de novo em breve!
Confira 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 de alto nível dos parâmetros disponíveis, conforme aplicável. Confira uma lista completa de parâmetros e valores na documentação do Google Cloud.
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 |
--- |
Número de resultados
numberOfImages
|
O número de imagens geradas retornadas para cada solicitação | O padrão é uma imagem para modelos Imagen 3. |
Proporção
aspectRatio
|
A proporção entre largura e altura das imagens geradas | O padrão é quadrado (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 você quer adicionar uma marca-d'água digital não visível (chamada SynthID) às imagens geradas | O padrão é true para modelos Imagen 3
|
Geração de pessoas
personGeneration
|
Se o modelo pode gerar imagens de pessoas | O padrão depende do modelo. |
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 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).