Używanie konfiguracji modelu do kontrolowania odpowiedzi

W każdym wywołaniu modelu możesz przesłać konfigurację modelu, aby kontrolować sposób generowania przez niego odpowiedzi. Każdy model oferuje różne opcje konfiguracji.

Możesz eksperymentować z promptami i konfiguracjami modeli oraz szybko ulepszać model za pomocą Vertex AI Studio.

Przejdź do opcji konfiguracji Gemini Przejdź do opcji konfiguracji Imagen



Konfigurowanie modeli Gemini

W tej sekcji dowiesz się, jak skonfigurować konfigurację na potrzeby modeli Gemini oraz jak opisy poszczególnych parametrów.

Konfigurowanie konfiguracji modelu (Gemini)

Konfiguracja na potrzeby ogólnych zastosowań

Ustaw wartości parametrów w GenerationConfig w ramach tworzenia wystąpienia GenerativeModel i wywołania generateContent, generateContentStream lub startChat.

Konfiguracja jest utrzymywana przez cały okres istnienia instancji. Jeśli chcesz użyć innej konfiguracji, utwórz nową instancję GenerativeModel z tą konfiguracją.

KotlinJava
// ...

// Set parameter values in a `GenerationConfig` (example values shown here)
val config = generationConfig {
    maxOutputTokens = 200
    stopSequences = listOf("red")
    temperature = 0.9f
    topK = 16
    topP = 0.1f
}

// Specify the config as part of creating the `GenerativeModel` instance
val generativeModel = Firebase.vertexAI.generativeModel(
    modelName = "GEMINI_MODEL_NAME",
    generationConfig = config
)

// ...
// ...

// Set parameter values in a `GenerationConfig` (example values shown here)
GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = List.of("red");
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;

GenerationConfig generationConfig = configBuilder.build();

// Specify the config as part of creating the `GenerativeModel` instance
GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
    "GEMINI_MODEL_NAME",
    generationConfig
);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// ...

Opis każdego parametru znajdziesz w następnej sekcji tej strony.

Konfiguracja Gemini Live API

Ustaw wartości parametrów w LiveGenerationConfig w ramach tworzenia instancji LiveModel.

Konfiguracja jest utrzymywana przez cały okres istnienia instancji. Jeśli chcesz użyć innej konfiguracji, utwórz nową instancję LiveModel z tą konfiguracją.

KotlinJava
// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here)
val config = liveGenerationConfig {
    maxOutputTokens = 200
    responseModality = ResponseModality.AUDIO
    speechConfig = SpeechConfig(voice = Voices.FENRIR)
    temperature = 0.9f
    topK = 16
    topP = 0.1f
}

// Specify the config as part of creating the `LiveModel` instance
val generativeModel = Firebase.vertexAI.liveModel(
    modelName = "gemini-2.0-flash-live-preview-04-09",
    generationConfig = config
)

// ...
// ...

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

configBuilder.setSpeechConfig(new SpeechConfig(Voices.FENRIR));
configBuilder.setTemperature(0.9f);
configBuilder.setTopK(16);
configBuilder.setTopP(0.1f);

LiveGenerationConfig generationConfig = configBuilder.build();

// Specify the config as part of creating the `LiveModel` instance
LiveGenerativeModel gm = FirebaseVertexAI.getInstance().liveModel(
    "gemini-2.0-flash-live-preview-04-09",
    generationConfig
);

LiveModelFutures model = LiveModelFutures.from(gm);

// ...

Opis każdego parametru znajdziesz w następnej sekcji tej strony.

Opis parametrów (Gemini)

Oto ogólny przegląd dostępnych parametrów. Pełną listę parametrów i ich wartości znajdziesz w dokumentacji Google Cloud.

Parametr Opis Wartość domyślna
Sygnalizowanie czasu w dźwięku
audioTimestamp

Wartość logiczna, która umożliwia rozpoznawanie sygnatur czasowych w plikach wejściowych zawierających tylko dźwięk.

Dotyczy tylko połączeń generateContent lub generateContentStream, gdy typ danych to plik tylko z dźwiękiem.

false
Kara za nadużywanie wyświetleń
frequencyPenalty
Określa prawdopodobieństwo uwzględnienia tokenów, które wielokrotnie pojawiają się w wygenerowanej odpowiedzi.
Wartości dodatnie penalizują tokeny, które wielokrotnie pojawiają się w wygenerowanych treściach, zmniejszając prawdopodobieństwo powtarzania się treści.
---
Maksymalna liczba tokenów wyjściowych
maxOutputTokens
Określa maksymalną liczbę tokenów, które można wygenerować w odpowiedzi. ---
Kara za obecność
presencePenalty
Określa prawdopodobieństwo uwzględnienia tokenów, które występują już w wygenerowanej odpowiedzi.
Wartości dodatnie penalizują tokeny, które występują już w wygenerowanych treściach, zwiększając prawdopodobieństwo wygenerowania bardziej zróżnicowanych treści.
---
Sekwencja zatrzymania
stopSequences

Określa listę ciągów znaków, która informuje model, że ma przestać generować treści, jeśli w odpowiedzi pojawi się jeden z tych ciągów.

Dotyczy tylko konfiguracji GenerativeModel.

---
Temperatura
temperature
Określa stopień losowości odpowiedzi.
Niższe temperatury skutkują bardziej deterministycznymi odpowiedziami, a wyższe – bardziej zróżnicowanymi lub kreatywnymi odpowiedziami.
Zależy od modelu
Top-K
topK
Ogranicza liczbę słów o najwyższym prawdopodobieństwie występujących w generowanych treściach.
Wartość top-K 1 oznacza, że następny wybrany token powinien być najbardziej prawdopodobny spośród wszystkich tokenów w słowniku modelu, natomiast wartość top-K n oznacza, że następny token powinien być wybrany spośród n najbardziej prawdopodobnych tokenów (wszystko na podstawie ustawionej temperatury).
Zależy od modelu
Top-P
topP
kontroluje różnorodność generowanych treści;
Tokeny są wybierane w kolejności od najbardziej (patrz Top-K powyżej) do najmniej prawdopodobnych, aż suma ich prawdopodobieństw będzie równa wartości Top-P.
Zależy od modelu
Sposób odpowiedzi
responseModality

Określa typ danych przesyłanych strumieniowo podczas korzystania z funkcji Live API, np. tekst lub dźwięk.

Dotyczy tylko konfiguracji Live API i LiveModel.

---
Mowa (głos)
speechConfig

Określa głos używany na potrzeby strumieniowego przesyłania danych wyjściowych z urządzenia Live API.

Dotyczy tylko konfiguracji Live API i LiveModel.

Puck



Konfigurowanie modeli Imagen

W tej sekcji dowiesz się, jak skonfigurować konfigurację na potrzeby modeli Imagen oraz jak opisy poszczególnych parametrów.

Konfigurowanie konfiguracji modelu (Imagen)

Ustaw wartości parametrów w ImagenGenerationConfig w ramach tworzenia instancji ImagenModel i wywołania generateImages.

Konfiguracja jest utrzymywana przez cały okres istnienia instancji. Jeśli chcesz użyć innej konfiguracji, utwórz nową instancję ImagenModel z tą konfiguracją.

KotlinJava
// ...

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
val config = ImagenGenerationConfig(
    negativePrompt = "frogs",
    numberOfImages = 2,
    aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
    imageFormat = ImagenImageFormat.jpeg(compressionQuality = 100),
    addWatermark = false
)

// Specify the config as part of creating the `ImagenModel` instance
val imagenModel = Firebase.vertexAI.imagenModel(
    modelName = "IMAGEN_MODEL_NAME",
    generationConfig = config
)

// ...
// ...

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
ImagenGenerationConfig config = new ImagenGenerationConfig.Builder()
    .setNegativePrompt("frogs")
    .setNumberOfImages(2)
    .setAspectRatio(ImagenAspectRatio.LANDSCAPE_16x9)
    .setImageFormat(ImagenImageFormat.jpeg(100))
    .setAddWatermark(false)
    .build();

// Specify the config as part of creating the `ImagenModel` instance
ImagenModel m = FirebaseVertexAI.getInstance().imagenModel(
    "IMAGEN_MODEL_NAME",
    config
);

ImagenModelFutures model = ImagenModelFutures.from(m);

// ...

Opis każdego parametru znajdziesz w następnej sekcji tej strony.

Opis parametrów (Imagen)

Oto ogólny przegląd dostępnych parametrów. Pełną listę parametrów i ich wartości znajdziesz w dokumentacji Google Cloud.

Parametr Opis Wartość domyślna
Prompt negatywny
negativePrompt
opis tego, co chcesz pominąć w wygenerowanych obrazach;

Ten parametr nie jest jeszcze obsługiwany przez usługę imagen-3.0-generate-002.

---
Liczba wyników
numberOfImages
Liczba wygenerowanych obrazów zwróconych na potrzeby każdego żądania domyślnie jeden obraz w przypadku modeli Imagen 3
Format obrazu
aspectRatio
Stosunek szerokości do wysokości wygenerowanych obrazów Domyślnie jest to kwadrat (1:1).
Format obrazu
imageFormat
opcje wyjściowe, takie jak format obrazu (typ MIME) i poziom kompresji wygenerowanych obrazów; domyślny typ MIME to PNG
domyślne skompresowanie to 75 (jeśli typ MIME to JPEG)
Znak wodny
addWatermark
czy do wygenerowanych obrazów ma zostać dodany niewidoczny cyfrowy znak wodny (nazywany SynthID); Domyślna wartość dla modeli Imagen 3 to true
Generowanie osób
personGeneration
czy chcesz zezwolić na generowanie osób przez model. domyślnie zależy od modelu



Inne opcje kontrolowania generowania treści

  • Dowiedz się więcej o projektowaniu promptów, aby móc wpływać na model w celu generowania wyników odpowiadających Twoim potrzebom.
  • 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 kierować działaniem modelu. Ta funkcja jest jak „wstęp”, który dodajesz przed udostępnieniem modelu w celu uzyskania dalszych instrukcji od użytkownika końcowego.
  • Przekaż schemat odpowiedzi wraz z prośbą o podanie konkretnego schematu wyjściowego. Ta funkcja jest najczęściej używana do generowania danych wyjściowych w formacie JSON, ale może też służyć do zadań klasyfikacji (np. gdy chcesz, aby model używał określonych etykiet).