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

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

Вы также можете экспериментировать с подсказками и конфигурациями моделей с помощью Google AI Studio .

Перейти к параметрам конфигурации Gemini Перейти к параметрам конфигурации Imagen



Настройка моделей Gemini

Щелкните своего поставщика API Gemini , чтобы просмотреть специфичный для этого поставщика контент и код на этой странице.

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

Настройте конфигурацию модели ( Gemini )

Конфигурация для общих случаев использования

Конфигурация сохраняется на протяжении всего срока службы экземпляра. Если вы хотите использовать другую конфигурацию, создайте новый экземпляр GenerativeModel с этой конфигурацией.

Быстрый

Установите значения параметров в GenerationConfig как часть создания экземпляра GenerativeModel .


import FirebaseAI

// Set parameter values in a `GenerationConfig` (example values shown here)
let config = GenerationConfig(
  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` (example values shown here)
val config = generationConfig {
    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` (example values shown here)
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
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` (example values shown here)
const generationConfig = {
  max_output_tokens: 200,
  stop_sequences: ["red"],
  temperature: 0.9,
  top_p: 0.1,
  top_k: 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` (example values shown here)
final generationConfig = GenerationConfig(
  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` (example values shown here)
var generationConfig = new GenerationConfig(
  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

Описание параметров ( Близнецы )

Ниже приведен краткий обзор доступных параметров (по мере применимости).Полный список параметров и их значений можно найти в документации API разработчика Gemini .

Параметр Описание Значение по умолчанию
Аудио временная метка
audioTimestamp

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

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

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

Задает список строк, который сообщает модели о необходимости прекратить генерацию контента, если в ответе встречается одна из строк.

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

---
Температура
temperature
Контролирует степень случайности ответа.
Более низкие температуры приводят к более детерминированным реакциям, а более высокие температуры приводят к более разнообразным и креативным реакциям.
Зависит от модели
Топ-К
topK
Ограничивает количество наиболее вероятных слов, используемых в сгенерированном контенте.
Значение top-K, равное 1 означает, что следующий выбранный токен должен быть наиболее вероятным среди всех токенов в словаре модели, тогда как значение top-K, равное n , означает, что следующий токен должен быть выбран из n наиболее вероятных токенов (все на основе установленной температуры).
Зависит от модели
Топ-П
topP
Контролирует разнообразие генерируемого контента.
Токены выбираются от наиболее вероятных (см. top-K выше) к наименее вероятным до тех пор, пока сумма их вероятностей не станет равна значению top-P.
Зависит от модели
Модальность ответа
responseModality

Указывает тип потокового вывода при использовании Live API , например текст или аудио.

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

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

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

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

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,
);

// ...

Единство

Использование Imagen пока не поддерживается для Unity, но проверьте позже!

Описание каждого параметра вы найдете в следующем разделе этой страницы.

Описание параметров ( Imagen )

Вот общий обзор доступных параметров, если применимо. Полный список параметров и их значений можно найти в документации Google Cloud .

Параметр Описание Значение по умолчанию
Отрицательная подсказка
negativePrompt
Описание того, что вы хотите исключить из сгенерированных изображений.

Этот параметр пока не поддерживается imagen-3.0-generate-002 .

---
Количество результатов
numberOfImages
Количество сгенерированных изображений, возвращаемых для каждого запроса по умолчанию одно изображение для моделей Imagen 3
Соотношение сторон
aspectRatio
Соотношение ширины к высоте генерируемых изображений по умолчанию квадрат (1:1)
Формат изображения
imageFormat
Параметры вывода, такие как формат изображения (тип MIME) и уровень сжатия создаваемых изображений. Тип MIME по умолчанию — PNG
сжатие по умолчанию — 75 (если тип MIME установлен на JPEG)
Водяной знак
addWatermark
Добавлять ли невидимый цифровой водяной знак (называемый SynthID ) к сгенерированным изображениям по умолчанию установлено значение true для моделей Imagen 3
Поколение людей
personGeneration
Разрешить ли генерацию людей по модели по умолчанию зависит от модели



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

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