При каждом обращении к модели вы можете передавать конфигурацию модели, чтобы управлять тем, как модель генерирует ответ. Каждая модель поддерживает различные параметры конфигурации, такие как установка maxOutputTokens или специализированные конфигурации для типов ответов, изображений или речи.
В большинстве случаев при доступе к модели Gemini вы настраиваете модель с помощью GenerationConfig . Однако, если вы настраиваете модель Gemini Live API , то используете LiveGenerationConfig .
На этой странице показано, как настроить конфигурацию для моделей Gemini , и приведено описание каждого параметра .
Перейти к конфигурации Gemini Перейти к конфигурации Gemini Live API
GenerationConfig для моделей Gemini
Чтобы просмотреть контент и код, относящиеся к вашему поставщику API Gemini , нажмите на него. |
Задайте 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 Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
let model = FirebaseAI.firebaseAI(backend: .agentPlatform()).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 Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
val model = Firebase.ai(backend = GenerativeBackend.agentPlatform()).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.agentPlatform())
.generativeModel(
"GEMINI_MODEL_NAME",
config
);
);
// ...
Web
Задайте значения параметров в GenerationConfig при создании экземпляра GenerativeModel .
// ...
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
const ai = getAI(firebaseApp, { backend: new AgentPlatformBackend() });
// 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 = {
candidateCount: 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 Agent Platform Gemini API backend service (formerly Vertex AI).
// Specify the config as part of creating the `GenerativeModel` instance.
final model = FirebaseAI.agentPlatform().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 Agent Platform Gemini API backend service (formerly branded Vertex AI).
// Specify `global` as the location to access the model.
// Specify the config as part of creating the `GenerativeModel` instance.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.VertexAI(location: "global"));
var model = ai.GetGenerativeModel(
modelName: "GEMINI_MODEL_NAME",
generationConfig: generationConfig
);
Описание каждого параметра вы найдете в следующем разделе этой страницы.
С помощью Agent Studio вы можете экспериментировать с подсказками и настройками модели. LiveGenerationConfig для моделей Gemini Live API
Чтобы просмотреть контент и код, относящиеся к вашему поставщику API Gemini , нажмите на него. |
Устанавливайте параметр 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: .agentPlatform(location: "us-central1")).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(location = "us-central1")).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.agentPlatform("us-central1")).liveModel(
"GEMINI_LIVE_MODEL_NAME",
config
);
// ...
Web
Задайте значения параметров в файле LiveGenerationConfig во время инициализации экземпляра LiveGenerativeModel :
// ...
// Initialize the Agent Platform Gemini API backend service (formerly Vertex AI).
const ai = getAI(firebaseApp, { backend: new AgentPlatformBackend("us-central1") });
// 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.agentPlatform(location: 'us-central1').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.VertexAI(location: "us-central1")).GetLiveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
liveGenerationConfig: config
);
// ...
Описание каждого параметра вы найдете в следующем разделе этой страницы.
С помощью Agent Studio вы можете экспериментировать с подсказками и настройками модели.Описание параметров
В таблице ниже представлен общий обзор доступных параметров. Некоторые параметры применимы только для определенных моделей.
Обратите внимание, что параметры temperature, top-K и top-P устарели и игнорируются в последних моделях Gemini .
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
Временная метка аудиоaudioTimestamp | Логическое значение, позволяющее распознавать временные метки для аудиофайлов. Применимо только при использовании вызовов | false |
Количество кандидатовcandidateCount | Указывает количество вариантов ответа, которые необходимо вернуть. За каждый запрос взимается плата за выходные токены всех кандидатов, но плата за входные токены взимается только один раз. Поддерживаемые значения: Применимо только при использовании | 1 |
Штраф за частотуfrequencyPenalty | Регулирует вероятность включения токенов, которые неоднократно встречаются в сгенерированном ответе. Положительные значения наказывают токены, которые неоднократно появляются в сгенерированном контенте, снижая вероятность повторения контента. | --- |
Максимальное количество выходных токеновmaxOutputTokens | Указывает максимальное количество токенов, которые могут быть сгенерированы в ответе. | --- |
Штраф за отсутствиеpresencePenalty | Управляет вероятностью включения токенов, которые уже присутствуют в сгенерированном ответе. Положительные значения наказывают токены, которые уже присутствуют в сгенерированном контенте, увеличивая вероятность генерации более разнообразного контента. | --- |
Стоп-последовательностиstopSequences | Задает список строк, которые указывают модели прекратить генерацию контента, если в ответе обнаружена одна из этих строк. Применимо только при использовании конфигурации | --- |
Способы реагированияresponseModalities | Указывает тип выходных данных (например, текст, аудио или изображения). Применимо только при использовании моделей изображений Gemini (например, моделей "Nano Banana") или моделей Live API . | --- |
Речь (голос)speechConfig | Указывает голос, используемый для вывода звука. Применимо только при использовании моделей генерации звука, таких как модели Live API . | Puck |
Характеристики изображенияimageConfig | Задает соотношение сторон и разрешение создаваемых изображений. Поддерживаемые значения: см. раздел «Настройка генерации образов». Применимо только при использовании моделей Gemini Image (например, моделей "Nano Banana"). | Соотношение сторон 1:1 (квадрат) разрешение 1024x1024 |
Параметры temperature , topK и topP устарели и игнорируются моделями gemini-3.6-flash и gemini-3.5-flash-lite . Для более предсказуемых результатов определите системные инструкции с явными правилами для вашего конкретного случая использования.
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
Температураtemperature | Контролирует степень случайности в ответе. Более низкие температуры приводят к более детерминированным реакциям, а более высокие температуры — к более разнообразным или креативным реакциям. | Зависит от модели. |
Топ-КtopK | Ограничивает количество слов с наибольшей вероятностью совпадения, используемых в сгенерированном контенте. Значение top-K, равное 1 означает, что следующий выбранный токен должен быть наиболее вероятным среди всех токенов в словаре модели, а значение top-K, равное n , означает, что следующий токен должен быть выбран из числа n наиболее вероятных токенов (все на основе заданной температуры). | Зависит от модели. |
Топ-ПtopP | Контролирует разнообразие генерируемого контента. Токены выбираются от наиболее вероятных (см. top-K выше) к наименее вероятным до тех пор, пока сумма их вероятностей не сравняется со значением top-P. | Зависит от модели. |
Чтобы просмотреть контент и код, относящиеся к вашему поставщику Imagen API , нажмите на него, чтобы перейти по ссылке. |
В этом разделе показано, как настроить конфигурацию для использования с моделями Imagen , и приведено описание каждого параметра .
Настройка конфигурации модели ( Imagen )
Данная конфигурация сохраняется на протяжении всего срока службы экземпляра. Если вы хотите использовать другую конфигурацию, создайте новый экземпляр ImagenModel с этой конфигурацией.
Быстрый
Задайте значения параметров в объекте ImagenGenerationConfig при создании экземпляра ImagenModel .
import FirebaseAILogic
// 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 Agent Platform Gemini API backend service (formerly branded Vertex AI).
// Specify the config as part of creating the `ImagenModel` instance
let model = FirebaseAI.firebaseAI(backend: .vertexAI()).imagenModel(
modelName: "IMAGEN_MODEL_NAME",
generationConfig: config
)
// ...
Kotlin
Задайте значения параметров в объекте ImagenGenerationConfig при создании экземпляра 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 Agent Platform Gemini API backend service (formerly branded Vertex AI).
// 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
Задайте значения параметров в объекте ImagenGenerationConfig при создании экземпляра 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.vertexAI())
.imagenModel(
"IMAGEN_MODEL_NAME",
config
);
);
// ...
Web
Задайте значения параметров в объекте ImagenGenerationConfig при создании экземпляра ImagenModel .
// ...
// Initialize the Agent Platform Gemini API backend service (formerly branded Vertex AI).
const ai = getAI(firebaseApp, { backend: new VertexAIBackend() });
// 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
Задайте значения параметров в объекте ImagenGenerationConfig при создании экземпляра 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 Agent Platform Gemini API backend service (formerly branded Vertex AI).
// Specify the config as part of creating the `ImagenModel` instance
final model = FirebaseAI.vertexAI().imagenModel(
model: 'IMAGEN_MODEL_NAME',
config: generationConfig,
);
// ...
Единство
Задайте значения параметров в объекте ImagenGenerationConfig при создании экземпляра ImagenModel .
using Firebase.AI;
// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
var config = new ImagenGenerationConfig(
negativePrompt: "frogs",
numberOfImages: 2,
aspectRatio: ImagenAspectRatio.Landscape16x9,
imageFormat: ImagenImageFormat.Jpeg(100),
addWatermark: false
);
// Initialize the Agent Platform Gemini API backend service (formerly branded Vertex AI).
// Specify the config as part of creating the `ImagenModel` instance
var model = FirebaseAI.GetInstance(FirebaseAI.Backend.VertexAI()).GetImagenModel(
modelName: "imagen-4.0-generate-001",
generationConfig: config
);
// ...
Описание каждого параметра вы найдете в следующем разделе этой страницы.
Описание параметров ( Imagen )
Ниже представлен общий обзор доступных параметров, если таковые имеются.
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
Отрицательный вопросnegativePrompt | Описание того, что вы хотите опустить в сгенерированных изображениях. Этот параметр пока не поддерживается модулем | --- |
Количество результатовnumberOfImages | Количество сгенерированных изображений, возвращаемых для каждого запроса. | По умолчанию — одно изображение. |
Соотношение сторонaspectRatio | Соотношение ширины и высоты сгенерированных изображений. | По умолчанию — квадрат (1:1) |
Формат изображенияimageFormat | Параметры вывода, такие как формат изображения (тип MIME) и уровень сжатия создаваемых изображений. | Тип MIME по умолчанию — PNG. По умолчанию степень сжатия составляет 75 (если MIME-тип установлен на JPEG). |
Водяной знакaddWatermark | Следует ли добавлять невидимый цифровой водяной знак (называемый SynthID ) к сгенерированным изображениям? | по умолчанию — true |
Поколение людейpersonGeneration | Разрешить ли генерацию людей с помощью данной модели | Значение по умолчанию зависит от модели. |
Включите характеристики безопасности.includeSafetyAttributes | Следует ли включать округленные оценки «Ответственного ИИ» для списка атрибутов безопасности в ответах на нефильтрованные входные и выходные данные? Категории атрибутов безопасности: | Значение по умолчанию — false |
Другие варианты управления генерацией контента.
- Узнайте больше о разработке подсказок , чтобы вы могли влиять на модель и генерировать результаты, соответствующие вашим потребностям.
- Используйте настройки безопасности , чтобы скорректировать вероятность получения ответов, которые могут быть расценены как вредные, включая разжигание ненависти и контент сексуального характера.
- Задайте системные инструкции для управления поведением модели. Эта функция подобна преамбуле, которую вы добавляете перед тем, как модель будет получать какие-либо дальнейшие инструкции от конечного пользователя.
- Передайте схему ответа вместе с запросом, чтобы указать конкретную схему вывода. Эта функция чаще всего используется при генерации выходных данных в формате JSON , но ее также можно использовать для задач классификации (например, когда вы хотите, чтобы модель использовала определенные метки или теги).