При каждом вызове модели вы можете передавать её конфигурацию, чтобы управлять её генерацией ответа. Каждая модель предлагает различные варианты конфигурации.
Вы также можете экспериментировать с подсказками и конфигурациями моделей, используя Google AI Studio .Перейти к параметрам конфигурации Gemini Перейти к параметрам конфигурации Imagen
Настройка моделей Gemini
| Щелкните своего поставщика API Gemini , чтобы просмотреть специфичный для этого поставщика контент и код на этой странице. | 
В этом разделе показано, как настроить конфигурацию для использования с моделями Gemini , а также приведено описание каждого параметра .
Настройте конфигурацию модели ( Gemini )
Конфигурация для общих случаев использования
 Конфигурация сохраняется на протяжении всего жизненного цикла экземпляра. Если вы хотите использовать другую конфигурацию, создайте новый экземпляр GenerativeModel с этой конфигурацией. 
Быстрый
 Задайте значения параметров в GenerationConfig как часть создания экземпляра GenerativeModel .
import FirebaseAI
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
let config = GenerationConfig(
  candidateCount: 1,
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
  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.
val config = generationConfig {
    candidateCount = 1
    maxOutputTokens = 200
    stopSequences = listOf("red")
    temperature = 0.9f
    topK = 16
    topP = 0.1f
}
// 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.
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.candidateCount = 1;
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;
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.
const generationConfig = {
  candidate_count: 1,
  maxOutputTokens: 200,
  stopSequences: ["red"],
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
};
// 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.
final generationConfig = GenerationConfig(
  candidateCount: 1,
  maxOutputTokens: 200,
  stopSequences: ["red"],
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
);
// 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.
var generationConfig = new GenerationConfig(
  candidateCount: 1,
  maxOutputTokens: 200,
  stopSequences: new string[] { "red" },
  temperature: 0.9f,
  topK: 16,
  topP: 0.1f
);
// 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
);
Описание каждого параметра вы найдете в следующем разделе этой страницы.
Конфигурация для Gemini Live API
 Конфигурация сохраняется на протяжении всего жизненного цикла экземпляра. Если вы хотите использовать другую конфигурацию, создайте новый экземпляр LiveModel с этой конфигурацией. 
Быстрый
 Задайте значения параметров в liveGenerationConfig во время инициализации экземпляра LiveGenerativeModel :
import FirebaseAI
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here)
let config = LiveGenerationConfig(
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
  maxOutputTokens: 200,
  responseModalities: [.audio],
  speech: SpeechConfig(voiceName: "Fenrir"),
)
// Initialize the Vertex AI Gemini API backend service
// Specify the config as part of creating the `LiveGenerativeModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).liveModel(
  modelName: "GEMINI_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)
    temperature = 0.9f
    topK = 16
    topP = 0.1f
}
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `LiveModel` instance
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).liveModel(
    modelName = "GEMINI_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.setResponseModalities(ResponseModality.AUDIO);
configBuilder.setSpeechConfig(new SpeechConfig(Voices.FENRIR));
configBuilder.setTemperature(0.9f);
configBuilder.setTopK(16);
configBuilder.setTopP(0.1f);
LiveGenerationConfig config = configBuilder.build();
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `LiveModel` instance
LiveModelFutures model = LiveModelFutures.from(
        FirebaseAI.getInstance(GenerativeBackend.googleAI())
                .generativeModel(
                    "GEMINI_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 generationConfig = {
  maxOutputTokens: 200,
  responseModalities: [ResponseModality.AUDIO],
  speechConfig: {
    voiceConfig: {
      prebuiltVoiceConfig: { voiceName: "Fenrir" },
    },
  },
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
};
// Specify the config as part of creating the `LiveGenerativeModel` instance
const model = getLiveGenerativeModel(ai, {
  model: "GEMINI_MODEL_NAME",
  generationConfig,
});
// ...
Dart
 Задайте значения параметров в LiveGenerationConfig в ходе создания экземпляра LiveModel . 
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here)
final generationConfig = LiveGenerationConfig(
  maxOutputTokens: 200,
  responseModalities: [ResponseModalities.audio],
  speechConfig: SpeechConfig(voiceName: 'Fenrir'),
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
);
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `LiveModel` instance
final model = FirebaseAI.googleAI().liveGenerativeModel(
  model: 'GEMINI_MODEL_NAME',
  config: generationConfig,
);
// ...
Единство
 Задайте значения параметров в LiveGenerationConfig в ходе создания экземпляра LiveModel . 
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here)
var liveGenerationConfig = new LiveGenerationConfig(
  maxOutputTokens: 200,
  responseModalities: new [] { ResponseModality.Audio },
  speechConfig: SpeechConfig.UsePrebuiltVoice("Fenrir"),
  temperature: 0.9f,
  topK: 16,
  topP: 0.1f
);
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `LiveModel` instance
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
var model = ai.GetLiveModel(
  modelName: "GEMINI_MODEL_NAME",
  liveGenerationConfig: liveGenerationConfig
);
Описание каждого параметра вы найдете в следующем разделе этой страницы.
Описание параметров ( Близнецы )
Ниже приведен краткий обзор доступных параметров (если применимо).Полный список параметров и их значений можно найти в документации API разработчика Gemini .
| Параметр | Описание | Значение по умолчанию | 
|---|---|---|
| Аудио временная метка audioTimestamp | Логическое значение, которое позволяет распознавать временные метки для входных аудиофайлов.  Применимо только при использовании вызовов  | false | 
| Количество кандидатов candidateCount | Указывает количество возвращаемых вариантов ответа. За каждый запрос с вас взимается плата за выходные токены всех кандидатов, но плата за входные токены взимается только один раз.  Поддерживаемые значения:   Применимо только при использовании  | 1 | 
| Штраф частоты frequencyPenalty | Контролирует вероятность включения токенов, которые неоднократно появляются в сгенерированном ответе. Положительные значения накладывают штраф на токены, которые неоднократно появляются в сгенерированном контенте, что снижает вероятность повторения контента. | --- | 
| Максимальное количество выходных токенов maxOutputTokens | Указывает максимальное количество токенов, которые могут быть сгенерированы в ответе. | --- | 
| Штраф за присутствие presencePenalty | Контролирует вероятность включения токенов, которые уже присутствуют в сгенерированном ответе. Положительные значения накладывают штраф на токены, которые уже появляются в сгенерированном контенте, увеличивая вероятность генерации более разнообразного контента. | --- | 
| Стоповые последовательности stopSequences | Задает список строк, который сообщает модели о необходимости прекратить генерацию контента, если в ответе встречается одна из строк.  Применимо только при использовании конфигурации  | --- | 
| Температура temperature | Контролирует степень случайности ответа. Более низкие температуры приводят к более детерминированным реакциям, а более высокие температуры приводят к более разнообразным и креативным реакциям. | Зависит от модели. | 
| Топ-К topK | Ограничивает количество наиболее вероятных слов, используемых в сгенерированном контенте. Значение top-K, равное 1означает, что следующий выбранный токен должен быть наиболее вероятным среди всех токенов в словаре модели, тогда как значение top-K, равноеn, означает, что следующий токен должен быть выбран из n наиболее вероятных токенов (все на основе установленной температуры). | Зависит от модели. | 
| Топ-П topP | Контролирует разнообразие генерируемого контента. Токены выбираются от наиболее вероятных (см. top-K выше) к наименее вероятным до тех пор, пока сумма их вероятностей не станет равна значению top-P. | Зависит от модели. | 
| Модальность ответа responseModality | Указывает тип потокового вывода при использовании Live API или собственного многомодального вывода модели Gemini , например текст, аудио или изображения.  Применимо только при использовании Live API и конфигурации  | --- | 
| Речь (голос) speechConfig | Указывает голос, используемый для потокового аудиовывода при использовании Live API .  Применимо только при использовании Live API и конфигурации  | Puck | 
Настройка моделей Imagen
| Щелкните своего поставщика Imagen API , чтобы просмотреть специфичный для этого поставщика контент и код на этой странице. | 
В этом разделе показано, как настроить конфигурацию для использования с моделями Imagen , а также приведено описание каждого параметра .
Настройте конфигурацию модели ( Imagen )
 Конфигурация сохраняется на протяжении всего жизненного цикла экземпляра. Если вы хотите использовать другую конфигурацию, создайте новый экземпляр ImagenModel с этой конфигурацией. 
Быстрый
 Задайте значения параметров в ImagenGenerationConfig в ходе создания экземпляра ImagenModel . 
import FirebaseAI
// 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 Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).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 Gemini Developer API backend service
// 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.googleAI())
                .imagenModel(
                    "IMAGEN_MODEL_NAME",
                    config
                );
);
// ...
Web
 Задайте значения параметров в ImagenGenerationConfig в ходе создания экземпляра ImagenModel . 
// ...
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// 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 Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
final model = FirebaseAI.googleAI().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(
  numberOfImages: 2,
  aspectRatio: ImagenAspectRatio.Landscape16x9,
  imageFormat: ImagenImageFormat.Jpeg(100)
);
// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
var model = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetImagenModel(
  modelName: "imagen-4.0-generate-001",
  generationConfig: config
);
// ...
Описание каждого параметра вы найдете в следующем разделе этой страницы.
Описание параметров ( Imagen )
Ниже представлен краткий обзор доступных параметров (при необходимости). Полный список параметров и их значений можно найти в документации Google Cloud .
| Параметр | Описание | Значение по умолчанию | 
|---|---|---|
| Отрицательная подсказка negativePrompt | Описание того, что вы хотите исключить из сгенерированных изображений.  Этот параметр пока не поддерживается  | --- | 
| Количество результатов numberOfImages | Количество сгенерированных изображений, возвращаемых для каждого запроса | по умолчанию одно изображение | 
| Соотношение сторон aspectRatio | Соотношение ширины к высоте генерируемых изображений | по умолчанию — квадрат (1:1) | 
| Формат изображения imageFormat | Параметры вывода, такие как формат изображения (тип MIME) и уровень сжатия создаваемых изображений. | Тип MIME по умолчанию — PNG сжатие по умолчанию — 75 (если тип MIME установлен на JPEG) | 
| Водяной знак addWatermark | Добавлять ли невидимый цифровой водяной знак (называемый SynthID ) к сгенерированным изображениям | по умолчанию true | 
| Поколение людей personGeneration | Разрешить ли генерацию людей по модели | по умолчанию зависит от модели | 
| Включить атрибуты безопасности includeSafetyAttributes | Следует ли включить округленные оценки Responsible AI для списка атрибутов безопасности в ответах на нефильтрованные входные и выходные данные  Категории атрибутов безопасности:  | по умолчанию — false | 
Другие варианты управления генерацией контента
- Узнайте больше о разработке подсказок , чтобы вы могли влиять на модель и генерировать выходные данные, соответствующие вашим потребностям.
- Используйте настройки безопасности , чтобы отрегулировать вероятность получения ответов, которые могут считаться вредоносными, включая высказывания, разжигающие ненависть, и материалы откровенно сексуального характера.
- Задайте системные инструкции для управления поведением модели. Эта функция подобна преамбуле, которую вы добавляете перед тем, как модель получит дальнейшие инструкции от конечного пользователя.
- Передайте схему ответа вместе с запросом на указание конкретной схемы выходных данных. Эта функция чаще всего используется при генерации выходных данных JSON , но её также можно использовать для задач классификации (например, когда требуется, чтобы модель использовала определённые метки или теги).