При каждом вызове модели вы можете передавать её конфигурацию, чтобы управлять её генерацией ответа. Каждая модель предлагает различные варианты конфигурации.
Вы также можете экспериментировать с подсказками и конфигурациями моделей, используя 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 | Логическое значение, которое позволяет распознавать временные метки для входных аудиофайлов. Применимо только при использовании вызовов | false |
Штраф частоты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,
);
// ...
Единство
Использование Imagen пока не поддерживается в Unity, но проверьте позже!
Описание каждого параметра вы найдете в следующем разделе этой страницы.
Описание параметров ( Imagen )
Ниже представлен краткий обзор доступных параметров (при необходимости). Полный список параметров и их значений можно найти в документации Google Cloud .
Параметр | Описание | Значение по умолчанию |
---|---|---|
Отрицательная подсказкаnegativePrompt | Описание того, что вы хотите исключить из сгенерированных изображений. Этот параметр пока не поддерживается | --- |
Количество результатовnumberOfImages | Количество сгенерированных изображений, возвращаемых для каждого запроса | по умолчанию используется одно изображение для моделей Imagen 3 |
Соотношение сторонaspectRatio | Соотношение ширины к высоте генерируемых изображений | по умолчанию — квадрат (1:1) |
Формат изображенияimageFormat | Параметры вывода, такие как формат изображения (тип MIME) и уровень сжатия создаваемых изображений. | Тип MIME по умолчанию — PNG сжатие по умолчанию — 75 (если тип MIME установлен на JPEG) |
Водяной знакaddWatermark | Добавлять ли невидимый цифровой водяной знак (называемый SynthID ) к сгенерированным изображениям | по умолчанию true для моделей Imagen 3 |
Поколение людейpersonGeneration | Разрешить ли генерацию людей по модели | по умолчанию зависит от модели |
Другие варианты управления генерацией контента
- Узнайте больше о разработке подсказок , чтобы вы могли влиять на модель и генерировать выходные данные, соответствующие вашим потребностям.
- Используйте настройки безопасности , чтобы отрегулировать вероятность получения ответов, которые могут считаться вредоносными, включая высказывания, разжигающие ненависть, и материалы откровенно сексуального характера.
- Задайте системные инструкции для управления поведением модели. Эта функция подобна преамбуле, которую вы добавляете перед тем, как модель получит дальнейшие инструкции от конечного пользователя.
- Передайте схему ответа вместе с запросом на указание конкретной схемы выходных данных. Эта функция чаще всего используется при генерации выходных данных JSON , но её также можно использовать для задач классификации (например, когда требуется, чтобы модель использовала определённые метки или теги).