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_DEVICE 或 PREFER_IN_CLOUD 推理模式,则了解给定请求使用了哪种模式可能会很有帮助。此信息由每个响应的 inferenceSource 属性提供(从 JS SDK v12.5.0 开始提供)。

当您访问此属性时,返回的值将为 ON_DEVICE 或 IN_CLOUD。

// ...

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

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

替换默认后备模型

默认的云托管模型为 gemini-3.5-flash-lite(从 JS SDK v13.0.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",
    generationConfig: {
      maxOutputTokens: 200,
      stopSequences: ["red"]
    }
  }
});

配置设备端模型

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

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

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  onDeviceParams: {
    createOptions: {
      expectedInputs: [{ type: "text", languages: ["en"] }],
      expectedOutputs: [{ type: "text", languages: ["en"] }],
      initialPrompts: [
        { role: "system", content: [{ type: "text", value: "You are a helpful and concise assistant." }] }
      ]
    }
  }
});


就您使用 Firebase AI Logic 的体验提供反馈