瞭解及設定模型參數

您傳送至模型的每個呼叫都含有參數值,用來控制模型生成回覆的方式,模型生成的結果會因參數值而異。嘗試不同的參數值,取得最適合本工作目標的值。不同模型可用的參數可能不同。

跳至 Gemini 參數 跳至 Imagen 參數

Gemini 模型的參數

瞭解可與 Gemini 模型搭配使用的參數,包括如何設定

在初始化 Vertex AI 服務和模型例項的整個生命週期中,系統都會維持設定。如要更新模型設定,必須重新初始化模型例項。

各個參數的說明

最常見的參數如下:

請參閱本頁下方的各節,瞭解這些參數。

輸出符記數量上限

回應中可產生的符記數量上限。一個符記約為四個字元。100 個符記大約對應 20 個字詞。

如要取得較短的回覆,請指定較低的值;如要取得較長的回覆,請調高此值。

氣溫

溫度會在回應產生期間用於取樣,這會在套用 topPtopK 時發生。溫度參數會決定選取詞元時的隨機程度。如果您想藉由提示生成更具確定性、較不具開放性和創意性的回覆,建議調低溫度參數。另一方面,如果溫度參數較高,則可能產生較多元或有創意的結果。溫度參數為 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
說明您要在生成的圖像中省略哪些內容

imagen-3.0-generate-002 目前不支援此參數。

---
結果數量
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 輸出內容,但也可以用於分類工作 (例如希望模型使用特定標籤或標記時)。