Konfigurationsoptionen für hybride Funktionen in Web-Apps

Auf dieser Seite werden die folgenden Konfigurationsoptionen beschrieben:

Sie können auch strukturierte Ausgaben generieren, einschließlich JSON und Enums.

Hinweis

Sie müssen den Startleitfaden zum Erstellen von Hybrid-Anwendungen abgeschlossen haben.

Inferenzmodus festlegen

In den Beispielen im Startleitfaden wird der PREFER_ON_DEVICE-Modus verwendet. Dies ist jedoch nur einer der vier verfügbaren Inferenzmodi.

  • PREFER_ON_DEVICE: Verwenden Sie das On-Device-Modell, wenn es verfügbar ist. Andernfalls greifen Sie auf das in der Cloud gehostete Modell zurück.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_ON_DEVICE });
    
  • ONLY_ON_DEVICE: Das On-Device-Modell wird verwendet, wenn es verfügbar ist. Andernfalls wird eine Ausnahme ausgelöst.

    const model = getGenerativeModel(ai, { mode: InferenceMode.ONLY_ON_DEVICE });
    
  • PREFER_IN_CLOUD: Verwenden Sie das in der Cloud gehostete Modell, falls verfügbar. Andernfalls greifen Sie auf das On-Device-Modell zurück.

    const model = getGenerativeModel(ai, { mode: InferenceMode.PREFER_IN_CLOUD });
    
  • ONLY_IN_CLOUD: Verwenden Sie das in der Cloud gehostete Modell, falls verfügbar. Andernfalls wird eine Ausnahme ausgelöst.

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

Feststellen, ob die Inferenz auf dem Gerät oder in der Cloud verwendet wurde

Wenn Sie die Inferenzmodi PREFER_ON_DEVICE oder PREFER_IN_CLOUD verwenden, kann es hilfreich sein, zu wissen, welcher Modus für bestimmte Anfragen verwendet wurde. Diese Informationen werden durch das Attribut inferenceSource jeder Antwort bereitgestellt (verfügbar ab JS SDK v12.5.0).

Wenn Sie auf dieses Attribut zugreifen, ist der zurückgegebene Wert entweder ON_DEVICE oder IN_CLOUD.

// ...

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

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

Standard-Fallback-Modell überschreiben

Das standardmäßige in der Cloud gehostete Modell ist gemini-3.5-flash-lite (ab JS SDK v13.0.0).

Dieses Modell ist das Fallback-Modell, das in der Cloud gehostet wird, wenn Sie den Modus PREFER_ON_DEVICE verwenden. Es ist auch das Standardmodell, wenn Sie den Modus ONLY_IN_CLOUD oder PREFER_IN_CLOUD verwenden.

Mit der Konfigurationsoption inCloudParams können Sie ein alternatives standardmäßiges in der Cloud gehostetes Modell angeben.

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

Modellnamen für alle unterstützten Gemini-Modelle finden.

Modellkonfiguration zum Steuern von Antworten verwenden

In jeder Anfrage an ein Modell können Sie eine Modellkonfiguration mitsenden, um zu steuern, wie das Modell eine Antwort generiert. In der Cloud gehostete Modelle und On-Device-Modelle bieten unterschiedliche Konfigurationsoptionen.

Die Konfiguration wird für die Lebensdauer der Instanz beibehalten. Wenn Sie eine andere Konfiguration verwenden möchten, erstellen Sie eine neue GenerativeModel-Instanz mit dieser Konfiguration.

In der Cloud gehostetes Modell konfigurieren

Verwenden Sie die Option inCloudParams, um ein in der Cloud gehostetes Gemini-Modell zu konfigurieren. Informationen zu verfügbaren Parametern

const model = getGenerativeModel(ai, {
  mode: InferenceMode.INFERENCE_MODE,
  inCloudParams: {
    model: "GEMINI_MODEL_NAME",
    generationConfig: {
      maxOutputTokens: 200,
      stopSequences: ["red"]
    }
  }
});

On-Device-Modell konfigurieren

Für die Inferenz mit einem On-Device-Modell wird die Prompt API von Chrome verwendet.

Verwenden Sie die Option onDeviceParams, um ein On-Device-Modell zu konfigurieren. Informationen zu verfügbaren Parametern

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." }] }
      ]
    }
  }
});


Feedback zu Ihren Erfahrungen mit Firebase AI Logic geben