您傳送至模型的每個呼叫都含有參數值,用來控制模型生成回覆的方式,模型生成的結果會因參數值而異。嘗試不同的參數值,取得最適合本工作目標的值。不同模型可用的參數可能不同。
Gemini 模型的參數
瞭解可與 Gemini 模型搭配使用的參數,包括如何設定。
在初始化 Vertex AI 服務和模型例項的整個生命週期中,系統都會維持設定。如要更新模型設定,必須重新初始化模型例項。
各個參數的說明
最常見的參數如下:
請參閱本頁下方的各節,瞭解這些參數。
輸出符記數量上限
回應中可產生的符記數量上限。一個符記約為四個字元。100 個符記大約對應 20 個字詞。
如要取得較短的回覆,請指定較低的值;如要取得較長的回覆,請調高此值。
氣溫
溫度會在回應產生期間用於取樣,這會在套用 topP
和 topK
時發生。溫度參數會決定選取詞元時的隨機程度。如果您想藉由提示生成更具確定性、較不具開放性和創意性的回覆,建議調低溫度參數。另一方面,如果溫度參數較高,則可能產生較多元或有創意的結果。溫度參數為 0
代表具有確定性,即模型一律會選取可能性最高的回覆。
以大部分用途來說,可以先將溫度設為 0.2
,如果模型的回覆太普通、太短或提供了備用回覆,再試試看調高 Temperature。
Top-K
「Top-K」會影響模型選取輸出符記的方式。如果「前 K 個」設為 1
,代表下一個所選詞元是模型詞彙表的所有詞元中可能性最高者 (也稱為「貪婪解碼」)。如果「前 K 個」設為 3
,則代表模型會依據溫度參數,從可能性最高的 3 個詞元中選取下一個詞元。
在每個符記選取步驟中,模型會對機率最高的「Top-K」符記取樣,接著進一步根據「Top-P」篩選詞元,最後依 temperature 選出最終詞元。
如要取得較不隨機的回覆,請指定較低的值;如要取得較隨機的回覆,請調高此值。預設的 Top-K 為 40
。
Top-P
「Top-P」會影響模型選取輸出符記的方式。模型會按照機率最高 (請見「Top-K」) 到最低的順序選取符記,直到所選符記的機率總和等於 Top-P 值。舉例來說,假設詞元 A、B 和 C 的可能性分別為 0.3、0.2 和 0.1,而 Top-P 值為 0.5
,模型會依據溫度參數選擇 A 或 B 做為下一個詞元,並排除 C 做為候選詞元。
如要取得較不隨機的回覆,請指定較低的值;如要取得較隨機的回覆,請調高此值。預設的 top-P 為 0.95
。
設定 Gemini 模型的模型參數
您可以在模型初始化期間,在 generationConfig
中設定模型參數。以下是基本範例:
Kotlin
// ...
val config = generationConfig {
maxOutputTokens = 200
stopSequences = listOf("red")
temperature = 0.9f
topK = 16
topP = 0.1f
}
val generativeModel = Firebase.vertexAI.generativeModel(
modelName = "GEMINI_MODEL_NAME",
generationConfig = config
)
// ...
Java
// ...
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 generationConfig = configBuilder.build();
GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
"GEMINI_MODEL_NAME",
generationConfig
);
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
// ...
Imagen 模型適用的參數
瞭解可與 Imagen 模型搭配使用的參數,以及如何設定這些參數。
在初始化 Vertex AI 服務和模型例項的整個生命週期中,系統都會維持設定。如要更新模型設定,必須重新初始化模型例項。
各項參數的說明
您可以在 Google Cloud 說明文件中找到完整的參數清單及其值,但我們在此提供可用參數和預設值的概略說明 (如適用)。
參數 | 說明 | 預設值 |
---|---|---|
負面提示
negativePrompt
|
說明您要在生成的圖像中省略哪些內容
|
--- |
結果數量
numberOfImages
|
每個要求傳回的產生圖片數量 | Imagen 3 型號的預設值為一張圖片 |
顯示比例
aspectRatio
|
生成圖片的寬高比 | 預設為正方形 1:1 |
圖片格式
imageFormat
|
輸出選項,例如圖片格式 (MIME 類型) 和產生圖片的壓縮等級 | 預設 MIME 類型為 PNG 預設壓縮率為 75 (如果 MIME 類型設為 JPEG) |
浮水印
addWatermark
|
是否要在生成的圖像中加入隱形數位浮水印 (稱為 SynthID) | Imagen 3 型號的預設值為 true
|
人物生成
personGeneration
|
是否允許模型產生人物 | 預設值取決於模型 |
設定 Imagen 模型的模型參數
Kotlin
// ...
val config = ImagenGenerationConfig(
negativePrompt = "frogs",
numberOfImages = 2,
aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
addWatermark = false
)
val imagenModel = Firebase.vertexAI.imagenModel(
modelName = "IMAGEN_MODEL_NAME",
generationConfig = config
)
// ...
Java
// ...
ImagenGenerationConfig config = new ImagenGenerationConfig.Builder()
.setNegativePrompt("frogs")
.setNumberOfImages(2)
.setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
.setImageFormat(ImagenImageFormat.jpeg(100))
.setAddWatermark(false)
.build();
ImagenModel m = FirebaseVertexAI.getInstance().imagenModel(
"IMAGEN_MODEL_NAME",
config
);
ImagenModelFutures model = ImagenModelFutures.from(m);
// ...
其他控管內容產生方式的選項
- 進一步瞭解提示設計,以便您影響模型,讓模型產生符合您需求的輸出內容。
- 您可以使用安全性設定,調整可能會收到有害回應內容的機率,包括仇恨言論和煽情露骨內容。
- 設定系統指示,引導模型的行為。這項功能就像是「前言」,可在模型向使用者提供任何進一步指示之前新增。
- 請傳遞回應結構定義和提示,以便指定特定輸出結構定義。這項功能最常用於產生 JSON 輸出內容,但也可以用於分類工作 (例如希望模型使用特定標籤或標記時)。