Используйте конфигурацию модели для управления ответами

При каждом обращении к модели вы можете передать конфигурацию модели, чтобы управлять тем, как модель генерирует ответ. Каждая модель поддерживает различные параметры конфигурации, такие как установка maxOutputTokens или специализированные конфигурации для мышления, способов ответа, изображений или речи.

В большинстве случаев при доступе к модели Gemini вы настраиваете модель с помощью GenerationConfig . Однако, если вы настраиваете модель Gemini Live API , то используете LiveGenerationConfig .

На этой странице показано, как настроить конфигурацию для моделей Gemini , и приведено описание каждого параметра .

Перейти к конфигурации Gemini Перейти к конфигурации Gemini Live API

GenerationConfig для моделей Gemini

Чтобы просмотреть контент и код, относящиеся к вашему поставщику API Gemini , нажмите на него.

Agent

Задайте параметр GenerationConfig для большинства моделей Gemini , включая модели общего назначения, модели для генерации изображений (модели "Nano Banana") и модели для преобразования текста в речь (TTS).

Данная конфигурация сохраняется на протяжении всего времени существования экземпляра GenerativeModel . Если вы хотите использовать другую конфигурацию, создайте и используйте новый экземпляр с другой конфигурацией.

Быстрый

Задайте значения параметров в GenerationConfig при создании экземпляра GenerativeModel .


import FirebaseAILogic

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
let config = GenerationConfig(
  candidateCount: 1,
  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

Задайте значения параметров в GenerationConfig при создании экземпляра GenerativeModel .


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
val config = generationConfig {
    candidateCount = 1
    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

Задайте значения параметров в GenerationConfig при создании экземпляра GenerativeModel .


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.candidateCount = 1;
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

Задайте значения параметров в GenerationConfig при создании экземпляра 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.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
const generationConfig = {
  candidate_count: 1,
  maxOutputTokens: 200,
  stopSequences: ["red"],
};

// Specify the config as part of creating the `GenerativeModel` instance.
const model = getGenerativeModel(ai, { model: "GEMINI_MODEL_NAME",  generationConfig });

// ...

Dart

Задайте значения параметров в GenerationConfig при создании экземпляра GenerativeModel .


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
final generationConfig = GenerationConfig(
  candidateCount: 1,
  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,
);

// ...

Единство

Задайте значения параметров в GenerationConfig при создании экземпляра GenerativeModel .


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
var generationConfig = new GenerationConfig(
  candidateCount: 1,
  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
);

Описание каждого параметра вы найдете в следующем разделе этой страницы.

Вы можете экспериментировать с подсказками и настройками модели, используя Google AI Studio .

LiveGenerationConfig для моделей Gemini Live API

Чтобы просмотреть контент и код, относящиеся к вашему поставщику API Gemini , нажмите на него.

Agent

Устанавливайте параметр LiveGenerationConfig только при использовании моделей Gemini Live API .

Данная конфигурация сохраняется на протяжении всего срока службы экземпляра LiveModel . Если вы хотите использовать другую конфигурацию, создайте и используйте новый экземпляр с другой конфигурацией.

Быстрый

Задайте значения параметров в файле liveGenerationConfig во время инициализации экземпляра 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

Задайте значения параметров в LiveGenerationConfig при создании экземпляра LiveModel .


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here).
val config = liveGenerationConfig {
    maxOutputTokens = 200
    responseModality = ResponseModality.AUDIO
    speechConfig = SpeechConfig(voice = Voices.FENRIR)
}

// Specify the config as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.agentPlatform()).liveModel(
    modelName = "GEMINI_LIVE_MODEL_NAME",
    generationConfig = config
)

// ...

Java

Задайте значения параметров в LiveGenerationConfig при создании экземпляра 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(Voices.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

Задайте значения параметров в файле LiveGenerationConfig во время инициализации экземпляра 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

Задайте значения параметров в LiveGenerationConfig при создании экземпляра 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,
);

// ...

Единство

Задайте значения параметров в LiveGenerationConfig при создании экземпляра 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
);

// ...

Описание каждого параметра вы найдете в следующем разделе этой страницы.

Вы можете экспериментировать с подсказками и настройками модели, используя Google AI Studio .



Описание параметров

В таблице ниже представлен общий обзор доступных параметров. Некоторые параметры применимы только для определенных моделей.

Обратите внимание, что параметры temperature, top-K и top-P устарели и игнорируются в последних моделях Gemini .

Параметр Описание Ограничения Значение по умолчанию
Временная метка аудио
audioTimestamp
Обеспечивает распознавание временных меток для аудиофайлов.

Логический

Применимо только при использовании конфигурации GenerativeModel и входном типе файла, содержащем только аудиофайл.

false
Количество кандидатов
candidateCount
Указывает количество вариантов ответа, которые необходимо вернуть. За каждый запрос взимается плата за выходные токены всех кандидатов, но плата за входные токены взимается только один раз.

Поддерживаемые значения: 1 ( 8 )

Применимо только при использовании generateContent .

Не применимо при использовании generateContentStream , моделей TTS или моделей Live API .

1
Максимальное количество выходных токенов
maxOutputTokens
Указывает максимальное количество токенов, которые могут быть сгенерированы в ответе. --- ---
Штраф за частоту
frequencyPenalty

Регулирует вероятность включения токенов, которые неоднократно встречаются в сгенерированном ответе.

Положительные значения наказывают токены, которые неоднократно появляются в сгенерированном контенте, снижая вероятность повторения контента.

Не применимо для моделей TTS. ---
Штраф за отсутствие
presencePenalty

Управляет вероятностью включения токенов, которые уже присутствуют в сгенерированном ответе.

Положительные значения наказывают токены, которые уже присутствуют в сгенерированном контенте, увеличивая вероятность генерации более разнообразного контента.

Не применимо для моделей TTS. ---
Стоп-последовательности
stopSequences
Задает список строк, которые указывают модели прекратить генерацию контента, если в ответе обнаружена одна из этих строк.

Применимо только при использовании конфигурации GenerativeModel .

Не применимо для моделей TTS.

---
Специализированные конфигурации
Мышление
thinkingConfig

Управляет «процессом мышления» моделей при генерации ими ответа.

  • Управляйте объемом мыслительной работы модели с помощью уровня мышления (модели Gemini 3.x и более поздние).
  • Управляйте тем, следует ли включать краткие изложения мыслей .

Поддерживаемые ценности: см. документацию по анализу концепции.

Не применимо для моделей TTS.

Firebase AI Logic пока не поддерживает установку thinkingConfig для моделей Live API .

Зависит от модели.
Способы реагирования
responseModalities
Указывает тип выходных данных (например, текст, аудио или изображения). Применимо (и обязательно ) только при использовании моделей изображений Gemini («модели Nano Banana»), моделей TTS и моделей Live API . ---
Характеристики изображения
imageConfig
Задает соотношение сторон и разрешение создаваемых изображений.

Поддерживаемые значения: см. раздел «Настройка генерации образов».

Применимо только при использовании моделей Gemini Image (модели "Nano Banana").

Соотношение сторон 1:1 (квадрат)
разрешение 1024x1024
Речь (голос)
speechConfig
Указывает голос, используемый для вывода звука. Применимо только при использовании моделей TTS и моделей Live API .

Требуется для моделей TTS.
Puck





Другие варианты управления генерацией контента.

  • Узнайте больше о разработке подсказок , чтобы вы могли влиять на модель и генерировать результаты, соответствующие вашим потребностям.
  • Используйте настройки безопасности , чтобы скорректировать вероятность получения ответов, которые могут быть расценены как вредные, включая разжигание ненависти и контент сексуального характера.
  • Задайте системные инструкции для управления поведением модели. Эта функция подобна преамбуле, которую вы добавляете перед тем, как модель будет получать какие-либо дальнейшие инструкции от конечного пользователя.
  • Передайте схему ответа вместе с запросом, чтобы указать конкретную схему вывода. Эта функция чаще всего используется при генерации выходных данных в формате JSON , но ее также можно использовать для задач классификации (например, когда вы хотите, чтобы модель использовала определенные метки или теги).