Bei jedem Aufruf eines Modells können Sie eine Modellkonfiguration mitsenden, um zu steuern, wie das Modell eine Antwort generiert. Jedes Modell unterstützt unterschiedliche Konfigurationsoptionen, z. B. das Festlegen von maxOutputTokens oder spezielle Konfigurationen für das Denken, Antwortmodalitäten, Bilder, Sprache oder die Erkennung von Sprachaktivität (VAD).
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 hier eine Tabelle der verfügbaren 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 für die meisten Gemini-Modelle, einschließlich allgemeiner Modelle, Modelle zur Bildgenerierung (Nano Banana) und Text-to-Speech-Modelle (TTS), einen GenerationConfig fest.
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.
Das folgende Beispiel zeigt eine sehr einfache Modellkonfiguration. Weitere Optionen (insbesondere für spezialisierte Modelle) finden Sie in der Tabelle der verfügbaren Parameter weiter unten auf dieser Seite.
Swift
Legen Sie die Werte der Parameter in einer 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 einer 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 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
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',
generationConfig: generationConfig,
);
// ...
Einheit
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
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
);
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 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.
Das folgende Beispiel zeigt eine sehr einfache Modellkonfiguration. Weitere Optionen (z. B. die Konfiguration der Erkennung von Sprachaktivität (VAD)) finden Sie weiter unten auf dieser Seite in der Tabelle der verfügbaren Parameter.
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 einer 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 der LiveGenerationConfig während 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 einer 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
);
// ...
Verfügbare Modellparameter
Die folgende Tabelle bietet einen allgemeinen Überblick über die verfügbaren Parameter für die Modellkonfiguration. Einige Parameter gelten nur für bestimmte Modelle.
| Parameter | Beschreibung | Beschränkungen | Standardwert |
|---|---|---|---|
AudiozeitstempelaudioTimestamp
|
Ermöglicht die Zeitstempelerkennung für reine Audioeingabedateien. |
Boolesch
Gilt nur, wenn eine |
false
|
Maximale AusgabetokensmaxOutputTokens
|
Gibt die maximale Anzahl an Tokens an, die in der Antwort generiert werden können.
Für |
--- | --- |
StoppsequenzenstopSequences
|
Gibt eine Liste an Strings an, die das Modell anweist, Inhalte nicht mehr zu generieren, wenn einer der Strings in der Antwort gefunden wird. |
Gilt nur, wenn eine Nicht zutreffend für Nano Banana- oder TTS-Modelle. |
--- |
| Spezielle Konfigurationen | |||
DenkprozessthinkingConfig
|
Steuert den „Denkprozess“ der Modelle, wenn sie eine Antwort generieren.
|
Unterstützte Werte: Weitere Informationen finden Sie in der Dokumentation zum Nachdenken. Nicht zutreffend für TTS-Modelle.
Firebase AI Logic unterstützt noch nicht das Festlegen eines |
Abhängig vom Modell |
AntwortmodalitätenresponseModalities
|
Gibt den Typ der Ausgabe an (z. B. Text, Audio oder Bilder). | Gilt nur (und ist erforderlich), wenn die Modelle Nano Banana, TTS und Live API verwendet werden. | --- |
BildmerkmaleimageConfig
|
Gibt das Seitenverhältnis und die Auflösung der generierten Bilder an. |
Unterstützte Werte: Siehe Bildgenerierung konfigurieren. Gilt nur, wenn Nano Banana-Modelle verwendet werden. |
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
|
Erkennung von Sprachaktivität (VAD)realtimeInputConfig
|
Konfiguriert die Spracherkennung (Voice Activity Detection, VAD), die Verarbeitung von Unterbrechungen und die Abdeckung des Turn-Kontexts oder deaktiviert die automatische VAD. |
Unterstützte Werte: Siehe VAD konfigurieren. Gilt nur, wenn Live API-Modelle verwendet werden. |
VAD aktiviert Informationen zu den Standardwerten für einzelne Einstellungen. |
Weitere Optionen zum Steuern der Inhaltsgenerierung
- 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-Ausgaben generiert werden. Sie kann aber auch für Klassifizierungsaufgaben verwendet werden, z. B. wenn das Modell bestimmte Labels oder Tags verwenden soll.