При каждом вызове модели можно отправлять конфигурацию, чтобы управлять тем, как она генерирует ответ. Каждая модель поддерживает разные варианты конфигурации, например настройку maxOutputTokens или специализированные конфигурации для мышления, способов ответа, изображений или речи.
В большинстве случаев при работе с моделью 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',
config: 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
);
Описание каждого параметра приведено в следующем разделе этой страницы.
Вы можете экспериментировать с запросами и конфигурациями моделей, используя Google AI Studio.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.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(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
);
// ...
Описание каждого параметра приведено в следующем разделе этой страницы.
Вы можете экспериментировать с запросами и конфигурациями моделей, используя Google AI Studio.Описание параметров
В таблице ниже приведены основные сведения о доступных параметрах. Некоторые параметры применимы только к определенным моделям.
| Параметр | Описание | Ограничения | Значение по умолчанию |
|---|---|---|---|
Временная метка аудиоaudioTimestamp
|
Позволяет распознавать временные метки в аудиофайлах. |
Логическое значение
Применимо только при использовании конфигурации |
false
|
Макс. число выходных токеновmaxOutputTokens
|
Указывает максимальное количество токенов, которое может быть сгенерировано в ответе. | --- | --- |
Остановить последовательностиstopSequences
|
Указывает список строк, при обнаружении которых в ответе модель должна прекратить генерировать контент. |
Применимо только при использовании конфигурации Неприменимо к моделям для создания изображений ("Nano Banana") или моделям преобразования текста в речь. |
--- |
| Специализированные конфигурации | |||
Думаю…thinkingConfig
|
Управляет процессом мышления моделей при создании ответа.
|
Допустимые значения указаны в документации по размышлениям. Неприменимо к моделям TTS.
Firebase AI Logic пока не поддерживает настройку |
Зависит от модели |
Способы ответаresponseModalities
|
Указывает тип выходных данных (например, текст, аудио или изображения). | Применяется (и является обязательным) только при использовании: Gemini моделей изображений (моделей Nano Banana); Live API моделей TTS; | --- |
Характеристики изображенийimageConfig
|
Указывает соотношение сторон и разрешение сгенерированных изображений. |
Допустимые значения: см. раздел Как настроить генерацию изображений. Применимо только при использовании Gemini моделей изображений (моделей Nano Banana). |
Соотношение сторон 1:1 (квадрат) Разрешение 1024 x 1024 |
Речь (голос)speechConfig
|
Указывает голос, используемый для вывода аудио. |
Применимо только при использовании моделей TTS и моделей Live API. Обязательно для моделей TTS. |
Puck
|
Другие способы управления созданием контента
- Подробнее о создании запросов…
- Используйте настройки безопасности, чтобы регулировать вероятность получения ответов, которые могут быть расценены как вредоносные, в том числе содержащие дискриминационные высказывания и откровенно сексуальный контент.
- Задайте системные инструкции, чтобы управлять поведением модели. Эта функция позволяет добавить в модель преамбулу, прежде чем она получит дальнейшие инструкции от конечного пользователя.
- Передайте схему ответа вместе с запросом, чтобы указать определенную схему вывода. Эта функция чаще всего используется при создании выходных данных в формате JSON, но также может применяться для задач классификации (например, когда вы хотите, чтобы модель использовала определенные ярлыки или теги).