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