Antworten mithilfe der Modellkonfiguration steuern

Bei jedem Aufruf eines Modells können Sie eine Modellkonfiguration senden, um zu steuern, wie das Modell eine Antwort generiert. Jedes Modell unterstützt verschiedene Konfigurationsoptionen, z. B. das Festlegen von maxOutputTokens oder speziellen Konfigurationen für Denken, Antwortmodalitäten, Bilder oder Sprache.

In den meisten Anwendungsfällen, in denen auf ein Gemini-Modell zugegriffen wird, konfigurieren Sie das Modell mit GenerationConfig. Wenn Sie jedoch ein Gemini Live API-Modell konfigurieren, verwenden Sie LiveGenerationConfig.

Auf dieser Seite wird beschrieben, wie Sie die Konfiguration für Gemini-Modelle einrichten. Außerdem finden Sie eine Beschreibung der einzelnen Parameter.

 Zu Gemini-Konfiguration springen  Zu Gemini Live API-Konfiguration springen

GenerationConfig für Gemini-Modelle

Klicken Sie auf Ihren Gemini API-Anbieter, um anbieterspezifische Inhalte und Code auf dieser Seite aufzurufen.

Legen Sie einen GenerationConfig für die meisten Gemini-Modelle fest, einschließlich Modelle für die allgemeine Nutzung, Modelle zur Bildgenerierung („Nano Banana“-Modelle) und TTS-Modelle (Text-to-Speech).

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

Swift

Legen Sie die Werte der Parameter in einem GenerationConfig fest, wenn Sie eine GenerativeModel-Instanz erstellen.


import FirebaseAILogic

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
let config = GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: ["red"]
)

// Initialize the Gemini Developer API backend service.
// Specify the config as part of creating the `GenerativeModel` instance.
let model = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
  modelName: "GEMINI_MODEL_NAME",
  generationConfig: config
)

// ...

Kotlin

Legen Sie die Werte der Parameter in einer GenerationConfig fest, wenn Sie eine GenerativeModel-Instanz erstellen.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
val config = generationConfig {
    maxOutputTokens = 200
    stopSequences = listOf("red")
}

// Initialize the Gemini Developer API backend service.
// Specify the config as part of creating the `GenerativeModel` instance.
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
    modelName = "GEMINI_MODEL_NAME",
    generationConfig = config
)

// ...

Java

Legen Sie die Werte der Parameter in einer GenerationConfig fest, wenn Sie eine GenerativeModel-Instanz erstellen.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");

GenerationConfig config = configBuilder.build();

// Specify the config as part of creating the `GenerativeModel` instance.
GenerativeModelFutures model = GenerativeModelFutures.from(
        FirebaseAI.getInstance(GenerativeBackend.googleAI())
                .generativeModel(
                    "GEMINI_MODEL_NAME",
                    config
                );
);

// ...

Web

Legen Sie die Werte der Parameter in einem GenerationConfig fest, wenn Sie eine GenerativeModel-Instanz erstellen.


// ...

// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
const generationConfig = {
  maxOutputTokens: 200,
  stopSequences: ["red"],
};

// Specify the config as part of creating the `GenerativeModel` instance.
const model = getGenerativeModel(ai, { model: "GEMINI_MODEL_NAME",  generationConfig });

// ...

Dart

Legen Sie die Werte der Parameter in einem GenerationConfig fest, wenn Sie eine GenerativeModel-Instanz erstellen.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
final generationConfig = GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: ["red"],
);

// Initialize the Gemini Developer API backend service.
// Specify the config as part of creating the `GenerativeModel` instance.
final model = FirebaseAI.googleAI().generativeModel(
  model: 'GEMINI_MODEL_NAME',
  config: generationConfig,
);

// ...

Einheit

Legen Sie die Werte der Parameter in einem GenerationConfig fest, wenn Sie eine GenerativeModel-Instanz erstellen.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// For the latest general-use Gemini models, the following parameters are now unsupported:
// temperature, top-K, top-P, frequency penalty, presence penalty, and candidate count
var generationConfig = new GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: new string[] { "red" }
);

// Initialize the Gemini Developer API backend service.
// Specify the config as part of creating the `GenerativeModel` instance.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
var model = ai.GetGenerativeModel(
  modelName: "GEMINI_MODEL_NAME",
  generationConfig: generationConfig
);

Eine Beschreibung der einzelnen Parameter finden Sie im nächsten Abschnitt dieser Seite.

Mit Google AI Studio können Sie mit Prompts und Modellkonfigurationen experimentieren.

LiveGenerationConfig für Gemini Live API-Modelle

Klicken Sie auf Ihren Gemini API-Anbieter, um anbieterspezifische Inhalte und Code auf dieser Seite aufzurufen.

Legen Sie einen LiveGenerationConfig nur fest, wenn Sie Gemini Live API-Modelle verwenden.

Die Konfiguration wird für die gesamte Lebensdauer der LiveModel-Instanz beibehalten. Wenn Sie eine andere Konfiguration verwenden möchten, erstellen Sie eine neue Instanz mit einer anderen Konfiguration und verwenden Sie diese.

Swift

Legen Sie die Werte der Parameter in der liveGenerationConfig während der Initialisierung der LiveModel-Instanz fest:


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here).
let config = LiveGenerationConfig(
  maxOutputTokens: 200,
  responseModalities: [.audio],
  speech: SpeechConfig(voiceName: "Fenrir"),
)

// Specify the config as part of creating the `liveModel` instance.
let liveModel = FirebaseAI.firebaseAI(backend: .googleAI()).liveModel(
  modelName: "GEMINI_LIVE_MODEL_NAME",
  generationConfig: config
)

// ...

Kotlin

Legen Sie die Werte von Parametern in einem LiveGenerationConfig fest, wenn Sie eine LiveModel-Instanz erstellen.


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here).
val config = liveGenerationConfig {
    maxOutputTokens = 200
    responseModality = ResponseModality.AUDIO
    speechConfig = SpeechConfig(voice = Voice("FENRIR"))
}

// Specify the config as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.googleAI()).liveModel(
    modelName = "GEMINI_LIVE_MODEL_NAME",
    generationConfig = config
)

// ...

Java

Legen Sie die Werte von Parametern in einer LiveGenerationConfig fest, wenn Sie eine LiveModel-Instanz erstellen.


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here).
LiveGenerationConfig.Builder configBuilder = new LiveGenerationConfig.Builder();
configBuilder.setMaxOutputTokens(200);
configBuilder.setResponseModality(ResponseModality.AUDIO);

configBuilder.setSpeechConfig(new SpeechConfig(new Voice("FENRIR")));

LiveGenerationConfig config = configBuilder.build();

// Specify the config as part of creating the `LiveModel` instance.
LiveGenerativeModel lm = FirebaseAI.getInstance(GenerativeBackend.googleAI()).liveModel(
          "GEMINI_LIVE_MODEL_NAME",
          config
);

// ...

Web

Legen Sie die Werte der Parameter in LiveGenerationConfig bei der Initialisierung der LiveGenerativeModel-Instanz fest:


// ...

// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Set parameter values in a `LiveGenerationConfig` (example values shown here).
const liveGenerationConfig = {
  maxOutputTokens: 200,
  responseModalities: [ResponseModality.AUDIO],
  speechConfig: {
    voiceConfig: {
      prebuiltVoiceConfig: { voiceName: "Fenrir" },
    },
  },
};

// Specify the config as part of creating the `LiveGenerativeModel` instance.
const liveModel = getLiveGenerativeModel(ai, {
  model: "GEMINI_LIVE_MODEL_NAME",
  liveGenerationConfig,
});

// ...

Dart

Legen Sie die Werte von Parametern in einem LiveGenerationConfig fest, wenn Sie eine LiveGenerativeModel-Instanz erstellen.


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here).
final config = LiveGenerationConfig(
  maxOutputTokens: 200,
  responseModalities: [ResponseModalities.audio],
  speechConfig: SpeechConfig(voiceName: 'Fenrir'),
);

// Specify the config as part of creating the `liveGenerativeModel` instance.
final liveModel = FirebaseAI.googleAI().liveGenerativeModel(
  model: 'GEMINI_LIVE_MODEL_NAME',
  liveGenerationConfig: config,
);

// ...

Einheit

Legen Sie die Werte von Parametern in einer LiveGenerationConfig fest, wenn Sie eine LiveModel-Instanz erstellen.


// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here).
var config = new LiveGenerationConfig(
  maxOutputTokens: 200,
  responseModalities: new[] { ResponseModality.Audio },
  speechConfig: SpeechConfig.UsePrebuiltVoice("Fenrir")
);

// Specify the config as part of creating the `LiveModel` instance.
var liveModel = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetLiveModel(
  modelName: "GEMINI_LIVE_MODEL_NAME",
  liveGenerationConfig: config
);

// ...

Eine Beschreibung der einzelnen Parameter finden Sie im nächsten Abschnitt dieser Seite.

Mit Google AI Studio können Sie mit Prompts und Modellkonfigurationen experimentieren.



Beschreibung der Parameter

Die folgende Tabelle bietet einen allgemeinen Überblick über die verfügbaren Parameter. Einige Parameter sind nur für bestimmte Modelle anwendbar.

Parameter Beschreibung Beschränkungen Standardwert
Audiozeitstempel
audioTimestamp
Ermöglicht das Erkennen von Zeitstempeln für reine Audio-Eingabedateien.

Boolesch

Gilt nur, wenn eine GenerativeModel-Konfiguration verwendet wird und der Eingabetyp eine reine Audiodatei ist.

false
Maximale Ausgabetokens
maxOutputTokens

Gibt die maximale Anzahl von Tokens an, die in der Antwort generiert werden können.

Für gemini-4-argon beträgt das Standard- und maximale Ausgabetokenlimit 32,768 Tokens für Nicht-Streaming-Anfragen und 65,536 Tokens für Streaming-Anfragen. Beachten Sie, dass Firebase AI Logic noch nicht die lange Dekodierung unterstützt, diese Funktion aber demnächst verfügbar sein wird!

--- ---
Stoppsequenzen
stopSequences
Gibt eine Liste an Strings an, die das Modell anweist, keine Inhalte mehr zu generieren, wenn einer der Strings in der Antwort gefunden wird.

Gilt nur, wenn eine GenerativeModel-Konfiguration verwendet wird.

Gilt nicht für Bildmodelle („Nano Banana“) oder TTS-Modelle.

---
Spezielle Konfigurationen
Denkprozess
thinkingConfig

Steuert den „Denkprozess“ der Modelle beim Generieren einer Antwort.

  • Mit dem Denkaufwand können Sie festlegen, wie viel das Modell nachdenken darf.
  • Festlegen, ob Zusammenfassungen von Denkprozessen einbezogen werden sollen.

Unterstützte Werte: Dokumentation zu „Denken“

Nicht zutreffend für TTS-Modelle.

Firebase AI Logic unterstützt noch nicht das Festlegen eines thinkingConfig für Live API-Modelle.

Abhängig vom Modell
Antwortmodalitäten
responseModalities
Gibt den Ausgabetyp an (z. B. Text, Audio oder Bilder). Nur anwendbar (und erforderlich) bei Verwendung von Gemini-Bildmodellen („Nano Banana“-Modelle), TTS-Modellen und Live API-Modellen. ---
Bildeigenschaften
imageConfig
Gibt das Seitenverhältnis und die Auflösung der generierten Bilder an.

Unterstützte Werte: Siehe Bildgenerierung konfigurieren

Gilt nur bei Verwendung von Gemini-Bildmodellen (Nano Banana-Modelle).

Seitenverhältnis 1:1 (quadratisch)
Auflösung 1024 × 1024
Sprache (Stimme)
speechConfig
Gibt die Stimme an, die für die Audioausgabe verwendet wird. Gilt nur, wenn TTS-Modelle und Live API-Modelle verwendet werden.

Erforderlich für TTS-Modelle.
Puck



Weitere Optionen zum Steuern der Inhaltserstellung

  • Weitere Informationen zum Prompt-Design, damit Sie das Modell so beeinflussen können, dass es Ausgaben generiert, die Ihren Anforderungen entsprechen.
  • Mit den Sicherheitseinstellungen können Sie die Wahrscheinlichkeit anpassen, dass Sie Antworten erhalten, die als schädlich eingestuft werden könnten, einschließlich Hassrede und sexuell expliziter Inhalte.
  • Systemanweisungen festlegen, um das Verhalten des Modells zu steuern. Diese Funktion ist wie eine Präambel, die Sie hinzufügen, bevor das Modell weiteren Anweisungen des Endnutzers ausgesetzt wird.
  • Übergeben Sie zusammen mit dem Prompt ein Antwortschema, um ein bestimmtes Ausgabeschema anzugeben. Diese Funktion wird am häufigsten verwendet, wenn JSON-Ausgabe generiert wird, kann aber auch für Klassifizierungsaufgaben verwendet werden, z. B. wenn das Modell bestimmte Labels oder Tags verwenden soll.