使用模型配置来控制回答

在对模型的每次调用中,您都可以发送模型配置,以控制模型如何生成回答。每种型号都提供不同的配置选项。

您可以使用 Vertex AI Studio 试验提示和模型配置,并快速迭代。

跳转到 Gemini 配置选项 跳转到 Imagen 配置选项



Gemini 型号的配置选项

本部分介绍了如何设置配置以与 Gemini 模型搭配使用,并提供了每个参数的说明

Gemini 模型设置模型配置

GenerativeModel 实例初始化期间,在 GenerationConfig 中设置参数的值。配置会在实例的生命周期内保持不变,因此您需要创建新的 GenerativeModel 实例才能使用其他配置。

KotlinJava
// ...

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
)

// ...
// ...

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);

// ...

您可以在本页的下一部分中找到每个参数的说明

适用于 Gemini 模型的每个参数的说明

以下是可用参数的简要概览(如适用)。 您可以在 Google Cloud 文档中找到参数及其值的完整列表

参数 说明 默认值
音频时间戳
audioTimestamp

一个布尔值,用于为仅音频输入文件启用时间戳理解功能。

仅当使用 generateContentgenerateContentStream 调用且输入类型为仅音频文件时适用。

false
频次惩罚
frequencyPenalty
控制在生成的回答中包含反复出现的令牌的概率。
正值会惩罚生成的内容中反复出现的 token,从而降低重复内容概率。
---
输出令牌数量上限
maxOutputTokens
回答中可生成的词元数量上限。 ---
存在惩罚
presencePenalty
控制在生成的回答中包含已出现的令牌的概率。
正值会惩罚生成的内容中已存在的词元,从而增加生成更多样化内容的概率。
---
停止序列
stopSequences
指定一个字符串列表,告知模型在响应中遇到其中一个字符串时,停止生成内容。 ---
温度
temperature
控制回答的随机性。
温度越低,回答越确定;温度越高,回答越多样化或富有创造力。
取决于型号
前 K 个
topK
限制生成的内容中使用概率最高的字词的数量。
如果 top-K 值为 1,则表示下一个所选词元应为模型词汇表的所有词元中概率最高的词元;如果 top-K 值为 n,则表示下一个词元应从n 个概率最高的词元中选择(所有这些都基于设置的温度)。
取决于型号
Top-P
topP
控制生成内容的多样性。
系统会按照概率从最高(见上文中的 top-K)到最低的顺序选择 token,直到所选 token 的概率总和等于 top-P 的值。
取决于型号



Imagen 型号的配置选项

本部分介绍了如何设置配置以与 Imagen 模型搭配使用,并提供了每个参数的说明

Imagen 模型设置模型配置

ImagenModel 实例初始化期间,在 ImagenGenerationConfig 中设置参数的值。配置会在实例的生命周期内保持不变,因此您需要创建新的 ImagenModel 实例才能使用其他配置。

KotlinJava
// ...

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
)

// ...
// ...

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);

// ...

您可以在本页的下一部分中找到每个参数的说明

适用于 Imagen 模型的每个参数的说明

以下是可用参数(如适用)的简要概览。 您可以在 Google Cloud 文档中找到参数及其值的完整列表

参数 说明 默认值
否定提示
negativePrompt
有关您要在生成的图片中省略的内容的说明

imagen-3.0-generate-002 尚不支持此参数。

---
结果数量
numberOfImages
为每个请求返回的生成图片数量 默认情况下,Imagen 3 模型为 1 张图片
宽高比
aspectRatio
生成图片的宽高比 默认值为方形 (1:1)
图片格式
imageFormat
输出选项,例如图片格式(MIME 类型)和生成图片的压缩级别 默认 MIME 类型为 PNG
默认压缩率为 75(如果 MIME 类型设为 JPEG)
水印
addWatermark
是否向生成的图片添加不可见的数字水印(称为 SynthID Imagen 3 型号的默认值为 true
人物生成
personGeneration
是否允许模型生成人物 默认值取决于模型



用于控制内容生成的其他选项

  • 详细了解问题设计,以便影响模型生成符合您需求的输出。
  • 您可以使用安全设置来调整系统提供可能被视为有害的回答(包括仇恨言论和露骨色情内容)的可能性。
  • 设置系统指令来引导模型的行为。此功能类似于您在模型接触到来自最终用户的任何进一步指令之前添加的“序言”。
  • 响应架构与提示一起传递,以指定特定的输出架构。此功能最常用于生成 JSON 输出,但也可以用于分类任务(例如,当您希望模型使用特定标签或标记时)。