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

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.

Ir para as opções de configuração do Gemini Ir para as opções de configuração do Imagen



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 generateContent ou generateContentStream e quando o tipo de entrada é um arquivo somente de áudio.

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 GenerativeModel.

---
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 LiveModel ou um modelo Gemini capaz de gerar saída multimodal.

---
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 LiveModel.

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 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 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).