W każdym wywołaniu modelu możesz wysłać konfigurację modelu, aby określić, jak model wygeneruje odpowiedź. Każdy model obsługuje różne opcje konfiguracji, takie jak ustawienie maxOutputTokens lub specjalne konfiguracje dotyczące rozumowania, modalności odpowiedzi, obrazów, mowy lub wykrywania aktywności głosowej (VAD).
W większości przypadków użycia, gdy uzyskujesz dostęp do modelu Gemini, konfigurujesz go za pomocą GenerationConfig. Jeśli jednak konfigurujesz model Gemini Live API, używasz LiveGenerationConfig.
Na tej stronie dowiesz się, jak skonfigurować modele Gemini, i znajdziesz tabelę dostępnych parametrów.
Przejdź do konfiguracji Gemini Przejdź do konfiguracji Gemini Live API
GenerationConfig dla modeli Gemini
|
Kliknij dostawcę Gemini API, aby wyświetlić na tej stronie treści i kod dotyczące tego dostawcy. |
Ustaw GenerationConfig dla większości modeli Gemini, w tym modeli ogólnego zastosowania, modeli generujących obrazy (Nano Banana) i modeli zamiany tekstu na mowę (TTS).
Konfiguracja jest utrzymywana przez cały okres eksploatacji instancji GenerativeModel. Jeśli chcesz użyć innej konfiguracji, utwórz i użyj nowej instancji z inną konfiguracją.
Poniższy przykład pokazuje bardzo prostą konfigurację modelu. Dodatkowe opcje (zwłaszcza w przypadku modeli specjalistycznych) znajdziesz w tabeli dostępnych parametrów poniżej.
Swift
Ustaw wartości parametrów w GenerationConfig w ramach tworzenia instancji GenerativeModel.
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
Ustaw wartości parametrów w GenerationConfig w ramach tworzenia instancji GenerativeModel.
// ...
// 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
Ustaw wartości parametrów w GenerationConfig w ramach tworzenia instancji GenerativeModel.
// ...
// 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
Ustaw wartości parametrów w GenerationConfig w ramach tworzenia instancji GenerativeModel.
// ...
// 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
Ustaw wartości parametrów w GenerationConfig w ramach tworzenia instancji GenerativeModel.
// ...
// 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,
);
// ...
Unity
Ustaw wartości parametrów w GenerationConfig w ramach tworzenia instancji GenerativeModel.
// ...
// 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 dla modeli Gemini Live API
|
Kliknij dostawcę Gemini API, aby wyświetlić na tej stronie treści i kod dotyczące tego dostawcy. |
Ustaw LiveGenerationConfig tylko wtedy, gdy używasz modeli Gemini Live API.
Konfiguracja jest utrzymywana przez cały okres eksploatacji instancji LiveModel. Jeśli chcesz użyć innej konfiguracji, utwórz i użyj nowej instancji z inną konfiguracją.
Poniższy przykład pokazuje bardzo prostą konfigurację modelu. Dodatkowe opcje (np. konfigurowanie wykrywania aktywności głosowej) znajdziesz w tabeli dostępnych parametrów poniżej.
Swift
Ustaw wartości parametrów w liveGenerationConfig podczas inicjowania instancji LiveModel:
// ...
// 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
Ustaw wartości parametrów w LiveGenerationConfig w ramach tworzenia instancji LiveModel.
// ...
// 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
Ustaw wartości parametrów w LiveGenerationConfig w ramach tworzenia instancji LiveModel.
// ...
// 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
Ustaw wartości parametrów w LiveGenerationConfig podczas inicjowania instancji LiveGenerativeModel:
// ...
// 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
Ustaw wartości parametrów w LiveGenerationConfig w ramach tworzenia instancji LiveGenerativeModel.
// ...
// 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,
);
// ...
Unity
Ustaw wartości parametrów w LiveGenerationConfig w ramach tworzenia instancji LiveModel.
// ...
// 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
);
// ...
Dostępne parametry modelu
Poniższa tabela zawiera ogólne omówienie dostępnych parametrów konfiguracji modelu. Niektóre parametry mają zastosowanie tylko do określonych modeli.
| Parametr | Opis | Ograniczenia | Wartość domyślna |
|---|---|---|---|
Sygnatura czasowa dźwiękuaudioTimestamp
|
Włącza rozpoznawanie sygnatur czasowych w plikach wejściowych zawierających tylko dźwięk. |
Wartość logiczna
Ma zastosowanie tylko wtedy, gdy używasz konfiguracji |
false
|
Maksymalna liczba tokenów wyjściowychmaxOutputTokens
|
Określa maksymalną liczbę tokenów, które można wygenerować w odpowiedzi.
W przypadku modelu |
--- | --- |
Sekwencje zatrzymaniastopSequences
|
Określa listę ciągów znaków, które informują model, że ma przestać generować treści, jeśli w odpowiedzi pojawi się jeden z tych ciągów. |
Ma zastosowanie tylko wtedy, gdy używasz konfiguracji Nie dotyczy modeli Nano Banana ani TTS. |
--- |
| Konfiguracje specjalistyczne | |||
MyślęthinkingConfig
|
Kontroluje „proces myślowy” modeli podczas generowania odpowiedzi.
|
Obsługiwane wartości: zapoznaj się z dokumentacją dotyczącą rozumowania Nie dotyczy modeli TTS.
Firebase AI Logic nie obsługuje jeszcze ustawiania |
Zależy od modelu |
Modalności odpowiedziresponseModalities
|
Określa typ danych wyjściowych (np. tekst, dźwięk lub obrazy). | Ma zastosowanie (i jest wymagany) tylko w przypadku modeli Nano Banana, TTS i Live API. | --- |
Cechy obrazuimageConfig
|
Określa format obrazu i rozdzielczość wygenerowanych obrazów. |
Obsługiwane wartości: patrz Konfigurowanie generowania obrazów. Ma zastosowanie tylko w przypadku modeli Nano Banana. |
Format obrazu: 1:1 (kwadrat) Rozdzielczość: 1024 x 1024 |
Mowa (głos)speechConfig
|
Określa głos używany do odtwarzania dźwięku. |
Ma zastosowanie tylko w przypadku korzystania z modeli TTS i Live API. Wymagane w przypadku modeli TTS. |
Puck
|
Wykrywanie aktywności głosowej (VAD)realtimeInputConfig
|
Konfiguruje wykrywanie aktywności głosowej (VAD), obsługę przerw i zakres kontekstu tury lub wyłącza automatyczne wykrywanie aktywności głosowej. |
Obsługiwane wartości: patrz Konfigurowanie VAD Ma zastosowanie tylko w przypadku modeli Live API. |
Włączono wykrywanie aktywności głosowej Zobacz wartości domyślne poszczególnych ustawień. |
Inne opcje kontrolowania generowania treści
- Dowiedz się więcej o projektowaniu promptów, aby móc wpływać na model i generować wyniki dostosowane do Twoich potrzeb.
- Użyj ustawień bezpieczeństwa, aby dostosować prawdopodobieństwo otrzymywania odpowiedzi, które mogą być uznane za szkodliwe, w tym wypowiedzi szerzących nienawiść i treści o charakterze jednoznacznie seksualnym.
- Ustaw instrukcje systemowe, aby sterować zachowaniem modelu. Ta funkcja działa jak wprowadzenie, które dodajesz, zanim model otrzyma dalsze instrukcje od użytkownika.
- Przekaż schemat odpowiedzi wraz z promptem, aby określić konkretny schemat wyjściowy. Ta funkcja jest najczęściej używana podczas generowania danych wyjściowych w formacie JSON, ale można jej też używać do zadań klasyfikacji (np. gdy chcesz, aby model używał określonych etykiet lub tagów).