Web 应用中混合体验的配置选项


本页介绍了以下配置选项:

您还可以 生成结构化输出, 包括 JSON 和枚举。

准备工作

请确保您已完成 构建混合体验的入门指南

设置推理模式

入门指南中的示例使用 PREFER_ON_DEVICE 模式,但 它只是四种可用 推理模式之一。

  • PREFER_ON_DEVICE:如果设备端模型可用,则使用该模型;否则, 回退到云托管模型

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_ON_DEVICE });
    
  • ONLY_ON_DEVICE:如果设备端模型可用,则使用该模型;否则, 抛出异常

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_ON_DEVICE });
    
  • PREFER_IN_CLOUD:如果云托管模型可用,则使用该模型;否则, 回退到设备端模型

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_IN_CLOUD });
    
  • ONLY_IN_CLOUD:如果云托管模型可用,则使用该模型;否则, 抛出异常

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_IN_CLOUD });
    

确定使用的是设备端推理还是云端推理

如果您使用 PREFER_ON_DEVICEPREFER_IN_CLOUD 推理模式,那么了解给定请求使用的是哪种模式可能会很有帮助。此信息由每个响应的 inferenceSource 属性提供(从 JS SDK v12.5.0 开始提供)。

当您访问此属性时,返回的值将为 ON_DEVICEIN_CLOUD

// ...

console.log('You used: ' + result.response.inferenceSource);

console.log(result.response.text());

替换默认的回退模型

默认的云托管模型是 gemini-2.5-flash-lite (从 JS SDK v12.8.0 开始)。

当您使用 PREFER_ON_DEVICE 模式时,此模型是回退云托管模型。当您使用 ONLY_IN_CLOUD 模式或 PREFER_IN_CLOUD 模式时,它也是默认模型。

您可以使用 inCloudParams 配置选项来指定替代的默认云托管模型。

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  inCloudParams: {
    model: "GEMINI_MODEL_NAME"
  }
});

查找所有 受支持的 Gemini 模型的模型名称。

使用模型配置来控制响应

在向模型发出的每个请求中,您都可以发送模型配置来控制模型如何生成响应。云托管模型和设备端模型提供不同的配置选项。

配置在实例的生命周期内保持不变。如果您想使用不同的配置,请使用该配置创建一个新的 GenerativeModel 实例。

配置云托管模型

使用 inCloudParams 选项配置云托管 Gemini 模型。了解 可用参数

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  inCloudParams: {
    model: "GEMINI_MODEL_NAME"
    temperature: 0.8,
    topK: 10
  }
});

配置设备端模型

请注意,使用设备端模型进行推理时,会使用 Chrome 的 Prompt API

使用 onDeviceParams 选项配置设备端模型。了解 可用参数

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  onDeviceParams: {
    createOptions: {
      temperature: 0.8,
      topK: 8
    }
  }
});