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

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

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

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

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

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

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

Agent

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

Данная конфигурация сохраняется на протяжении всего времени существования экземпляра 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

Логическое значение, позволяющее распознавать временные метки для аудиофайлов.

Применимо только при использовании вызовов generateContent или generateContentStream , если входной тип — это файл только с аудио.

false
Количество кандидатов
candidateCount

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

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

Применимо только при использовании generateContent и последних моделей Gemini .
Не применимо при использовании моделей generateContentStream или Live API .

1
Штраф за частоту
frequencyPenalty
Регулирует вероятность включения токенов, которые неоднократно встречаются в сгенерированном ответе.
Положительные значения наказывают токены, которые неоднократно появляются в сгенерированном контенте, снижая вероятность повторения контента.
---
Максимальное количество выходных токенов
maxOutputTokens
Указывает максимальное количество токенов, которые могут быть сгенерированы в ответе. ---
Штраф за отсутствие
presencePenalty
Управляет вероятностью включения токенов, которые уже присутствуют в сгенерированном ответе.
Положительные значения наказывают токены, которые уже присутствуют в сгенерированном контенте, увеличивая вероятность генерации более разнообразного контента.
---
Стоп-последовательности
stopSequences

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

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

---
Способы реагирования
responseModalities

Указывает тип выходных данных (например, текст, аудио или изображения).

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

---
Речь (голос)
speechConfig

Указывает голос, используемый для вывода звука.

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

Puck
Характеристики изображения
imageConfig

Задает соотношение сторон и разрешение создаваемых изображений.

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

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

Соотношение сторон 1:1 (квадрат)
разрешение 1024x1024





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

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