При каждом вызове модели вы можете отправить конфигурацию модели, чтобы контролировать, как модель генерирует ответ. Каждая модель поддерживает разные варианты конфигурации, например настройку maxOutputTokens или специализированные конфигурации для размышления, модальностей ответа, изображений, речи или обнаружения голосовой активности (VAD).
В большинстве случаев при доступе к модели Gemini вы настраиваете ее с помощью GenerationConfig. Однако если вы настраиваете модель Gemini Live API, используйте LiveGenerationConfig.
На этой странице рассказывается, как настроить конфигурацию для моделей Gemini, и приводится таблица доступных параметров.
Перейти к настройке Gemini Перейти к настройке Gemini Live API
GenerationConfig для моделей Gemini
|
Нажмите на название своего поставщика Gemini API, чтобы посмотреть контент и код, относящиеся к нему. |
Задайте GenerationConfig для большинства моделей Gemini, включая модели общего назначения, модели для создания изображений (Nano Banana) и модели для синтеза речи (TTS).
Конфигурация сохраняется в течение всего времени существования экземпляра GenerativeModel. Если вы хотите использовать другую конфигурацию, создайте и используйте новый экземпляр с другой конфигурацией.
Ниже приведен пример базовой конфигурации модели. Дополнительные параметры, в том числе для специализированных моделей, приведены в таблице ниже.
Swift
Задайте значения параметров в GenerationConfig при создании экземпляра GenerativeModel.
import FirebaseAILogic
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
let config = GenerationConfig(
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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
val config = generationConfig {
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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
const generationConfig = {
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.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
final generationConfig = GenerationConfig(
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',
generationConfig: generationConfig,
);
// ...
Unity
Задайте значения параметров в GenerationConfig при создании экземпляра GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
var generationConfig = new GenerationConfig(
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
);
LiveGenerationConfig для моделей Gemini Live API
|
Нажмите на название своего поставщика Gemini API, чтобы посмотреть контент и код, относящиеся к нему. |
Задавайте LiveGenerationConfig, только если используете модели Gemini Live API.
Конфигурация сохраняется в течение всего времени существования экземпляра LiveModel. Если вы хотите использовать другую конфигурацию, создайте и используйте новый экземпляр с другой конфигурацией.
Ниже приведен пример базовой конфигурации модели. Дополнительные параметры, например настройка обнаружения голосовой активности, приведены в таблице ниже.
Swift
Задайте значения параметров в 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 = Voice("FENRIR"))
}
// Specify the config as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.googleAI()).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(new Voice("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,
);
// ...
Unity
Задайте значения параметров в 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
);
// ...
Доступные параметры модели
В таблице ниже приведены общие сведения о доступных параметрах для настройки модели. Некоторые параметры применимы только к определенным моделям.
| Параметр | Описание | Ограничения | Значение по умолчанию |
|---|---|---|---|
Временная метка аудиоaudioTimestamp
|
Позволяет распознавать временные метки в аудиофайлах. |
Логическое значение
Применимо только при использовании конфигурации |
false
|
Макс. число выходных токеновmaxOutputTokens
|
Указывает максимальное количество токенов, которые могут быть сгенерированы в ответе.
Для |
--- | --- |
Остановить последовательностиstopSequences
|
Указывает список строк, которые сообщают модели, что нужно прекратить генерировать контент, если одна из строк встречается в ответе. |
Применимо только при использовании конфигурации Неприменимо для моделей Nano Banana и TTS. |
--- |
| Специализированные конфигурации | |||
Думаю…thinkingConfig
|
Управляет "процессом мышления" моделей при генерации ответа.
|
Допустимые значения: см. документацию по thinking. Неприменимо к моделям TTS.
Firebase AI Logic пока не поддерживает настройку |
Зависит от модели |
Модальности ответаresponseModalities
|
Указывает тип выходных данных (например, текст, аудио или изображения). | Применимо (и обязательно) только при использовании моделей Nano Banana, TTS и Live API. | --- |
Характеристики изображенийimageConfig
|
Указывает соотношение сторон и разрешение сгенерированных изображений. |
Допустимые значения: см. раздел Настройка генерации изображений. Применимо только при использовании моделей Nano Banana. |
Соотношение сторон 1:1 (квадрат) Разрешение 1024 x 1024 |
Речь (голос)speechConfig
|
Указывает голос, используемый для вывода звука. |
Применимо только при использовании моделей TTS и Live API. Обязательно для моделей TTS. |
Puck
|
Обнаружение голосовой активности (VAD)realtimeInputConfig
|
Настраивает обнаружение голосовой активности (VAD), обработку прерываний и охват контекста очереди или отключает автоматическое VAD. |
Допустимые значения: см. раздел Настройка VAD. Применимо только при использовании моделей Live API. |
VAD включен См. значения по умолчанию для отдельных настроек. |
Другие способы управления генерацией контента
- Подробнее о создании запросов…
- Используйте настройки безопасности, чтобы снизить вероятность получения ответов, которые могут считаться вредными, включая дискриминационные высказывания и откровенно сексуальный контент.
- Задайте системные инструкции, чтобы управлять поведением модели. Эта функция похожа на вводные инструкции, которые вы добавляете до того, как модель получит дальнейшие инструкции от конечного пользователя.
- Передайте схему ответа вместе с запросом, чтобы указать определенную схему вывода. Эта функция чаще всего используется при генерации выходных данных JSON, но ее также можно использовать для задач классификации (например, когда вы хотите, чтобы модель использовала определенные метки или теги).