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

Em cada chamada para um modelo, é possível enviar uma configuração para controlar como ele gera uma resposta. Cada modelo oferece diferentes opções de configuração.

Também é possível testar comandos e configurações de modelo usando Google AI Studio.

Ir para as opções de configuração Gemini Ir para as opções de configuração 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.

Esta seção mostra como configurar uma configuração para uso com modelos Gemini e fornece 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 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 de 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 de 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 de 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 para o Gemini Live API

Descrição dos parâmetros (Gemini)

Confira uma visão geral dos parâmetros disponíveis, conforme aplicável. Confira uma lista abrangente 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 a compreensão 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.
---
Parar sequências
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 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 precisa 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 precisa ser selecionado entre os n tokens mais prováveis (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 (confira o top-K acima) para o menos provável até que a soma das probabilidades seja igual ao valor do top-P.
Depende do modelo
Modalidade de resposta
responseModality

Especifica o tipo de saída transmitida em streaming ao usar o Live API, por exemplo, texto ou áudio.

Aplicável apenas ao usar o Live API e uma configuração LiveModel.

---
Fala (voz)
speechConfig

Especifica a voz usada para a saída de áudio em streaming ao usar o Live API.

Aplicável apenas ao usar o 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.

Esta seção mostra como configurar uma configuração para uso com modelos Imagen e fornece uma descrição de cada parâmetro.

Configurar uma configuração de modelo (Imagen)

A configuração é mantida durante 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 de Imagen ainda não é compatível com o Unity, mas volte 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 uma visão geral dos parâmetros disponíveis, conforme aplicável. Encontre uma lista abrangente de parâmetros e valores na documentação de 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 a largura e a altura das imagens geradas O padrão é quadrado (1:1)
Formato da imagem
imageFormat
As opções de saída, como o formato de 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 uma marca-d'água digital não visível (chamada de ID do sintetizador) será adicionada às imagens geradas O padrão é true para modelos Imagen 3
Geração de pessoas
personGeneration
Se é possível gerar imagens de pessoas pelo modelo padrão depende do modelo



Outras opções para controlar a geração de conteúdo

  • Saiba mais sobre o design de comando 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 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.