W każdym wywołaniu modelu możesz wysłać konfigurację modelu, aby określić, jak model ma generować odpowiedź. Każdy model obsługuje różne opcje konfiguracji, np. ustawienie maxOutputTokens lub specjalistyczne konfiguracje dotyczące myślenia, trybów odpowiedzi, obrazów lub mowy.
W większości przypadków użycia podczas uzyskiwania dostępu 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 opis każdego parametru.
Przejdź do konfiguracji Gemini Przejdź do konfiguracji Gemini Live API
GenerationConfig w przypadku modeli Gemini
|
Kliknij Gemini API dostawcę, aby wyświetlić na tej stronie treści i kod dostawcy. |
Ustaw GenerationConfig dla większości modeli Gemini, w tym modeli ogólnego zastosowania, modeli generujących obrazy (modeli „Nano Banana”) i modeli zamiany tekstu na mowę (TTS).
Konfiguracja jest utrzymywana przez cały okres istnienia instancji GenerativeModel. Jeśli chcesz użyć innej konfiguracji, utwórz nową instancję z inną konfiguracją i jej używaj.
Swift
Ustaw wartości parametrów w sekcji GenerationConfig podczas tworzenia instancji GenerativeModel.
import FirebaseAILogic
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
let config = GenerationConfig(
candidateCount: 1,
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 sekcji GenerationConfig podczas tworzenia instancji GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
val config = generationConfig {
candidateCount = 1
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 sekcji GenerationConfig podczas tworzenia instancji GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.candidateCount = 1;
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 sekcji GenerationConfig podczas 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.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
const generationConfig = {
candidate_count: 1,
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 sekcji GenerationConfig podczas tworzenia instancji GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
final generationConfig = GenerationConfig(
candidateCount: 1,
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,
);
// ...
Unity
Ustaw wartości parametrów w sekcji GenerationConfig podczas tworzenia instancji GenerativeModel.
// ...
// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
// Note that temperature, top-K, and top-P are deprecated and ignored by the latest Gemini models.
var generationConfig = new GenerationConfig(
candidateCount: 1,
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
);
Opis każdego parametru znajdziesz w następnej sekcji tej strony.
Możesz eksperymentować z promptami i konfiguracjami modeli, korzystając z Google AI Studio.LiveGenerationConfig w przypadku modeli Gemini Live API
|
Kliknij Gemini API dostawcę, aby wyświetlić na tej stronie treści i kod dostawcy. |
Ustaw LiveGenerationConfig tylko wtedy, gdy używasz modeli Gemini Live API.
Konfiguracja jest utrzymywana przez cały okres istnienia instancji LiveModel. Jeśli chcesz użyć innej konfiguracji, utwórz nową instancję z inną konfiguracją i jej używaj.
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 podczas tworzenia instancji LiveModel.
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here).
val config = liveGenerationConfig {
maxOutputTokens = 200
responseModality = ResponseModality.AUDIO
speechConfig = SpeechConfig(voice = Voices.FENRIR)
}
// Specify the config as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.agentPlatform()).liveModel(
modelName = "GEMINI_LIVE_MODEL_NAME",
generationConfig = config
)
// ...
Java
Ustaw wartości parametrów w LiveGenerationConfig podczas 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(Voices.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 podczas 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 podczas 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
);
// ...
Opis każdego parametru znajdziesz w następnej sekcji tej strony.
Możesz eksperymentować z promptami i konfiguracjami modeli, korzystając z Google AI Studio.Opis parametrów
Poniższa tabela zawiera ogólne omówienie dostępnych parametrów. Niektóre parametry mają zastosowanie tylko w przypadku określonych modeli.
Pamiętaj, że parametry temperatura, top-K i top-P zostały wycofane i są ignorowane przez najnowsze modele Gemini.
| Parametr | Opis | Ograniczenia | Wartość domyślna |
|---|---|---|---|
Sygnatura czasowa dźwiękuaudioTimestamp
|
Umożliwia rozpoznawanie sygnatur czasowych w plikach wejściowych zawierających tylko dźwięk. |
Wartość logiczna
Ma zastosowanie tylko w przypadku korzystania z konfiguracji |
false
|
Liczba kandydatówcandidateCount
|
Określa liczbę wariantów odpowiedzi do zwrócenia. W przypadku każdego żądania opłata jest naliczana za tokeny wyjściowe wszystkich kandydatów, ale tylko raz za tokeny wejściowe. |
Obsługiwane wartości:
Ma zastosowanie tylko wtedy, gdy używana jest funkcja
Nie ma zastosowania w przypadku korzystania z modeli TTS |
1
|
Maksymalna liczba tokenów wyjściowychmaxOutputTokens
|
Określa maksymalną liczbę tokenów, które można wygenerować w odpowiedzi. | --- | --- |
Kara za częstotliwośćfrequencyPenalty
|
Określa prawdopodobieństwo uwzględnienia w wygenerowanej odpowiedzi tokenów, które pojawiają się w niej wielokrotnie. Wartości dodatnie karzą tokeny, które wielokrotnie pojawiają się w wygenerowanych treściach, zmniejszając prawdopodobieństwo powtórzenia treści. |
Nie dotyczy modeli TTS. | --- |
Kara za obecnośćpresencePenalty
|
Określa prawdopodobieństwo uwzględnienia tokenów, które już występują w wygenerowanej odpowiedzi. Wartości dodatnie karzą tokeny, które już występują w wygenerowanych treściach, zwiększając prawdopodobieństwo wygenerowania bardziej zróżnicowanych treści. |
Nie dotyczy modeli TTS. | --- |
Sekwencje zatrzymaniastopSequences
|
Określa listę ciągów znaków, które informują model, aby zatrzymał generowanie 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 TTS. |
--- |
| Konfiguracje specjalistyczne | |||
MyślęthinkingConfig
|
Określa „proces myślowy” modeli podczas generowania odpowiedzi.
|
Obsługiwane wartości: zobacz dokumentację dotyczącą myślenia Nie dotyczy modeli TTS.
Firebase AI Logic nie obsługuje jeszcze ustawiania |
Zależy od modelu |
Sposoby odpowiedziresponseModalities
|
Określa typ danych wyjściowych (np. tekst, dźwięk lub obrazy). | Dotyczy tylko (i jest wymagane) w przypadku korzystania z Gemini modeli obrazów (modeli „Nano Banana”), modeli TTS i Live API modeli. | --- |
Charakterystyka obrazuimageConfig
|
Określa format obrazu i rozdzielczość wygenerowanych obrazów. |
Obsługiwane wartości: zobacz Konfigurowanie generowania obrazów (ma zastosowanie tylko w przypadku korzystania z Gemini modeli obrazów („Nano Banana”)) |
Format obrazu 1:1 (kwadrat) rozdzielczość 1024 x 1024 |
Mowa (głos)speechConfig
|
Określa głos używany do wyjścia audio. |
Ma zastosowanie tylko w przypadku korzystania z modeli TTS i modeli Live API. Wymagane w przypadku modeli TTS. |
Puck
|
Inne opcje sterowania generowaniem treści
- Dowiedz się więcej o projektowaniu promptów, aby wpływać na model i generować dane wyjściowe dostosowane do Twoich potrzeb.
- Użyj ustawień bezpieczeństwa, aby dostosować prawdopodobieństwo otrzymania odpowiedzi, które mogą być uznane za szkodliwe, w tym wypowiedzi szerzące nienawiść i treści o charakterze jednoznacznie seksualnym.
- Ustaw instrukcje systemowe, aby sterować zachowaniem modelu. Ta funkcja działa jak wstęp, który 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ć w przypadku zadań klasyfikacji (np. gdy chcesz, aby model używał określonych etykiet lub tagów).