При каждом обращении к модели вы можете передать конфигурацию модели, чтобы управлять тем, как модель генерирует ответ. Каждая модель предлагает различные параметры конфигурации.
Вы также можете поэкспериментировать с подсказками и настройками модели, используя Google AI Studio .Перейти к параметрам конфигурации Gemini Перейти к параметрам конфигурации Imagen
Настройка моделей Gemini
Чтобы просмотреть контент и код, относящиеся к вашему поставщику API Gemini , нажмите на него. |
В этом разделе показано, как настроить конфигурацию для использования с моделями Gemini , и приведено описание каждого параметра .
Настройка конфигурации модели ( Gemini )
Конфигурация для общих сценариев использования Gemini
Данная конфигурация сохраняется на протяжении всего срока службы экземпляра. Если вы хотите использовать другую конфигурацию, создайте новый экземпляр GenerativeModel с этой конфигурацией.
Быстрый
Задайте значения параметров в GenerationConfig при создании экземпляра GenerativeModel .
import FirebaseAILogic
// 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 во время инициализации экземпляра LiveModel :
// ...
// 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"),
)
// 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 = Voices.FENRIR)
temperature = 0.9f
topK = 16
topP = 0.1f
}
// 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(Voices.FENRIR));
configBuilder.setTemperature(0.9f);
configBuilder.setTopK(16);
configBuilder.setTopP(0.1f);
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 :
// ...
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" },
},
},
temperature: 0.9,
topP: 0.1,
topK: 16,
};
// 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'),
temperature: 0.9,
topP: 0.1,
topK: 16,
);
// Specify the config as part of creating the `liveGenerativeModel` instance
final liveModel = FirebaseAI.googleAI().liveGenerativeModel(
model: 'GEMINI_LIVE_MODEL_NAME',
liveGenerationConfig: config,
);
// ...
Единство
Задайте значения параметров в 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"),
temperature: 0.9f,
topK: 16,
topP: 0.1f
);
// 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
);
// ...
Описание каждого параметра вы найдете в следующем разделе этой страницы.
Описание параметров ( Gemini )
Ниже представлен общий обзор доступных параметров, если таковые имеются.Полный список параметров и их значений можно найти в документации по 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 или при использовании модели Gemini , способной выдавать многомодальные данные. | --- |
Речь (голос)speechConfig | Указывает голос, используемый для потокового аудиовыхода при использовании Live API . Применимо только при использовании моделей Live API . | Puck |
Настройка моделей Imagen
Чтобы просмотреть контент и код, относящиеся к вашему поставщику Imagen API , нажмите на него, чтобы перейти по ссылке. |
В этом разделе показано, как настроить конфигурацию для использования с моделями Imagen , и приведено описание каждого параметра .
Настройка конфигурации модели ( Imagen )
Данная конфигурация сохраняется на протяжении всего срока службы экземпляра. Если вы хотите использовать другую конфигурацию, создайте новый экземпляр ImagenModel с этой конфигурацией.
Быстрый
Задайте значения параметров в объекте ImagenGenerationConfig при создании экземпляра ImagenModel .
import FirebaseAILogic
// 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 | Следует ли включать округленные оценки «Ответственного ИИ» для списка атрибутов безопасности в ответах на нефильтрованные входные и выходные данные? Категории атрибутов безопасности: | Значение по умолчанию — false |
Другие варианты управления генерацией контента.
- Узнайте больше о разработке подсказок , чтобы вы могли влиять на модель и генерировать результаты, соответствующие вашим потребностям.
- Используйте настройки безопасности , чтобы скорректировать вероятность получения ответов, которые могут быть расценены как вредные, включая разжигание ненависти и контент сексуального характера.
- Задайте системные инструкции для управления поведением модели. Эта функция подобна преамбуле, которую вы добавляете перед тем, как модель будет получать какие-либо дальнейшие инструкции от конечного пользователя.
- Передайте схему ответа вместе с запросом, чтобы указать конкретную схему вывода. Эта функция чаще всего используется при генерации выходных данных в формате JSON , но ее также можно использовать для задач классификации (например, когда вы хотите, чтобы модель использовала определенные метки или теги).