モデルを呼び出すたびに、モデル構成を送信して、モデルがレスポンスを生成する方法を制御できます。モデルごとに構成オプションが異なります。
Google AI Studio を使用して、プロンプトとモデル構成をテストすることもできます。Gemini 構成オプションに移動 Imagen 構成オプションに移動
Gemini モデルを構成する
Gemini API プロバイダをクリックして、このページでプロバイダ固有のコンテンツとコードを表示します。 |
このセクションでは、Gemini モデルで使用する構成を設定する方法と、各パラメータの説明について説明します。
モデル構成を設定する(Gemini)
一般的なユースケースの構成
この構成は、インスタンスの存続期間中維持されます。別の構成を使用する場合は、その構成を使用して新しい GenerativeModel
インスタンスを作成します。
Swift
GenerativeModel
インスタンスの作成の一環として、GenerationConfig
でパラメータの値を設定します。
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
GenerativeModel
インスタンスの作成の一環として、GenerationConfig
でパラメータの値を設定します。
// ...
// 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
GenerativeModel
インスタンスの作成の一環として、GenerationConfig
でパラメータの値を設定します。
// ...
// 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
GenerativeModel
インスタンスの作成の一環として、GenerationConfig
でパラメータの値を設定します。
// ...
// 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
GenerativeModel
インスタンスの作成の一環として、GenerationConfig
でパラメータの値を設定します。
// ...
// 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,
);
// ...
Unity
GenerativeModel
インスタンスの作成の一環として、GenerationConfig
でパラメータの値を設定します。
// ...
// 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 の構成
パラメータの説明(Gemini)
使用可能なパラメータの概要は次のとおりです。 パラメータとその値の包括的なリストは、Gemini Developer API のドキュメントで確認できます。
パラメータ | 説明 | デフォルト値 |
---|---|---|
音声のタイムスタンプ
audioTimestamp
|
音声のみの入力ファイルでタイムスタンプの認識を有効にするブール値。
|
false |
頻度のペナルティ
frequencyPenalty
|
生成されたレスポンスに繰り返し出現するトークンを含める確率を制御します。 値が正の場合は、生成されたコンテンツに繰り返し出現するトークンにペナルティが課されるため、コンテンツが繰り返される確率は低下します。 |
--- |
最大出力トークン
maxOutputTokens
|
レスポンスで生成できるトークンの最大数を指定します。 | --- |
プレゼンス ペナルティ
presencePenalty
|
生成されたレスポンスにすでに存在するトークンが含まれる確率を制御します。 値が正の場合は、生成されたコンテンツにすでに出現しているトークンにペナルティが課されるため、より多様なコンテンツが生成される確率は高くなります。 |
--- |
停止シーケンス
stopSequences
|
レスポンスでいずれかの文字列が検出された場合に、コンテンツの生成を停止するようモデルに指示する文字列のリストを指定します。
|
--- |
温度
temperature
|
回答のランダム性の度合いを制御します。 温度が低いほど、確定的なレスポンスが得られ、温度が高いほど、より多様で創造的なレスポンスが得られます。 |
モデルによって異なる |
Top-K
topK
|
生成されたコンテンツで使用される最も高い確率の単語の数を制限します。 Top-K 値が 1 の場合、次に選択されるトークンは、モデルの語彙内のすべてのトークンで最も確率の高いものである必要があります。Top-K 値が n の場合、次に選択されるトークンは、最も確率の高い n 個のトークンから選択されます(すべて設定された温度に基づきます)。 |
モデルによって異なる |
Top-P
topP
|
生成されるコンテンツの多様性を制御します。 トークンは、確率の合計が Top-P 値に等しくなるまで、確率の高いもの(上記の Top-K を参照)から低いものへと選択されます。 |
モデルによって異なる |
レスポンス モダリティ
responseModality
|
Live API を使用するときにストリーミング出力のタイプ(テキストや音声など)を指定します。 Live API と |
--- |
音声(ボイス)
speechConfig
|
Live API を使用するときに、ストリーミングされた音声出力に使用する音声を指定します。 Live API と |
Puck |
Imagen モデルを構成する
Imagen API プロバイダをクリックして、このページでプロバイダ固有のコンテンツとコードを表示します。 |
このセクションでは、Imagen モデルで使用する構成を設定する方法と、各パラメータの説明について説明します。
モデル構成を設定する(Imagen)
この構成は、インスタンスの存続期間中維持されます。別の構成を使用する場合は、その構成を使用して新しい ImagenModel
インスタンスを作成します。
Swift
ImagenModel
インスタンスの作成の一環として、ImagenGenerationConfig
でパラメータの値を設定します。
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
ImagenModel
インスタンスの作成の一環として、ImagenGenerationConfig
でパラメータの値を設定します。
// ...
// 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
ImagenModel
インスタンスの作成の一環として、ImagenGenerationConfig
でパラメータの値を設定します。
// ...
// 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
ImagenModel
インスタンスの作成の一環として、ImagenGenerationConfig
でパラメータの値を設定します。
// ...
// 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
ImagenModel
インスタンスの作成の一環として、ImagenGenerationConfig
でパラメータの値を設定します。
// ...
// 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,
);
// ...
Unity
Imagen の使用は Unity ではまだサポートされていませんが、今後対応する予定です。
各パラメータの説明については、このページの次のセクションをご覧ください。
パラメータの説明(Imagen)
使用可能なパラメータの概要は次のとおりです。パラメータとその値の包括的なリストは、Google Cloud のドキュメントで確認できます。
パラメータ | 説明 | デフォルト値 |
---|---|---|
否定的なプロンプト
negativePrompt
|
生成される画像から除外する内容の説明 このパラメータは |
--- |
結果の数
numberOfImages
|
リクエストごとに返される生成画像の数 | デフォルトは、Imagen 3 モデルの場合は 1 つの画像 |
アスペクト比
aspectRatio
|
生成された画像の幅と高さの比率 | デフォルトは正方形(1:1)です |
画像形式
imageFormat
|
出力オプション(画像形式(MIME タイプ)や生成された画像の圧縮レベルなど) | デフォルトの MIME タイプは PNG デフォルトの圧縮は 75(MIME タイプが JPEG に設定されている場合) |
ウォーターマーク
addWatermark
|
生成された画像に目に見えないデジタル透かし(SynthID)を追加するかどうか | デフォルトは、Imagen 3 モデルの場合は true です。 |
人物の生成
personGeneration
|
モデルによる人物の画像生成を許可するかどうか | デフォルトはモデルによって異なります |
コンテンツ生成を制御するためのその他のオプション
- プロンプトの設計について学び、ニーズに固有の出力を生成するようにモデルに影響を与えましょう。
- 安全性設定を使用して、ヘイトスピーチや露骨な性的描写を含むコンテンツなど、有害と見なされる可能性のあるレスポンスを受け取る頻度を調整します。
- システム指示を設定して、モデルの動作を制御します。この機能は、モデルがエンドユーザーからの詳細な手順に公開される前に追加するプリアンブルのようなものです。
- プロンプトとともにレスポンス スキーマを渡して、特定の出力スキーマを指定します。この機能は、JSON 出力の生成に最もよく使用されますが、分類タスクにも使用できます(モデルで特定のラベルやタグを使用する場合など)。