Używanie konfiguracji modelu do kontrolowania odpowiedzi

W każdym wywołaniu modelu możesz przesłać konfigurację modelu, aby kontrolować sposób generowania 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ń

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

Swift

Ustaw wartości parametrów w GenerationConfig w ramach tworzenia instancji GenerativeModel.

// ...

// Set parameter values in a `GenerationConfig` (example values shown here)
let config = GenerationConfig(
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
  maxOutputTokens: 200,
  stopSequences: ["red"]
)

// Specify the config as part of creating the `GenerativeModel` instance
let model = vertex.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` (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
)

// ...

Java

Ustaw wartości parametrów w GenerationConfig w ramach tworzenia instancji GenerativeModel.

// ...

// 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);

// ...

Web

Ustaw wartości parametrów w GenerationConfig w ramach tworzenia instancji GenerativeModel.

// ...

// Set parameter values in a `GenerationConfig` (example values shown here)
const generationConfig = {
  max_output_tokens: 200,
  stop_sequences: ["red"],
  temperature: 0.9,
  top_p: 0.1,
  top_k: 16,
};

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

// ...

Dart

Ustaw wartości parametrów w GenerationConfig w ramach tworzenia instancji GenerativeModel.

// ...

// Set parameter values in a `GenerationConfig` (example values shown here)
final generationConfig = GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: ["red"],
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
);
final model = FirebaseVertexAI.instance.generativeModel(
  model: 'GEMINI_MODEL_NAME',
  // Specify the config as part of creating the `GenerativeModel` instance
  config: generationConfig,
);

// ...

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

Konfiguracja Gemini Live API

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

Swift

Live API nie jest jeszcze obsługiwany w przypadku aplikacji na platformę Apple, ale wkrótce się to zmieni.

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 = 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
)

// ...

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.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);

// ...

Web

Live API nie jest jeszcze obsługiwany w przypadku aplikacji internetowych, ale wkrótce się to zmieni.

Dart

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

// ...

// Set parameter values in a `LiveGenerationConfig` (example values shown here)
final generationConfig = LiveGenerationConfig(
  maxOutputTokens: 200,
  responseModalities: [ResponseModality.audio],
  speechConfig: SpeechConfig(voice: Voice.fenrir),
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
);

// Specify the config as part of creating the `LiveModel` instance
final model = FirebaseVertexAI.instance.LiveModel(
  model: 'gemini-2.0-flash-live-preview-04-09',
  config: generationConfig,
);

// ...

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 nadmierne wyświetlanie reklam
frequencyPenalty
Określa prawdopodobieństwo uwzględnienia tokenów, które wielokrotnie występują 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 o zatrzymaniu generowania treści, jeśli w odpowiedzi pojawi się jeden z tych ciągów.

Ma zastosowanie tylko wtedy, gdy używasz 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.

Ma zastosowanie tylko wtedy, gdy używasz 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.

Ma zastosowanie tylko wtedy, gdy używasz 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)

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

Swift

Ustaw wartości parametrów w ImagenGenerationConfig w ramach tworzenia instancji ImagenModel.

// ...

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

// Specify the config as part of creating the `ImagenModel` instance
let model = vertex.imagenModel(
  modelName: "IMAGEN_MODEL_NAME",
  generationConfig: config
)

// ...

Kotlin

Ustaw wartości parametrów w ImagenGenerationConfig w ramach tworzenia instancji ImagenModel.

// ...

// 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
)

// ...

Java

Ustaw wartości parametrów w ImagenGenerationConfig w ramach tworzenia instancji ImagenModel.

// ...

// 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);

// ...

Web

Ustaw wartości parametrów w ImagenGenerationConfig w ramach tworzenia instancji ImagenModel.

// ...

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
const generationConfig = {
  negativePrompt: "frogs",
  numberOfImages: 2,
  aspectRatio: ImagenAspectRatio.LANDSCAPE_16x9,
  imageFormat: ImagenImageFormat.jpeg(100),
  addWatermark: false
};

// Specify the config as part of creating the `ImagenModel` instance
const imagenModel = getImagenModel(vertexAI, { model: "IMAGEN_MODEL_NAME", generationConfig });

// ...

Dart

Ustaw wartości parametrów w ImagenGenerationConfig w ramach tworzenia instancji ImagenModel.

// ...

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
final generationConfig = ImagenGenerationConfig(
  negativePrompt: 'frogs',
  numberOfImages: 2,
  aspectRatio: ImagenAspectRatio.landscape16x9,
  imageFormat: ImagenImageFormat.jpeg(compressionQuality: 100)
  addWatermark: false
);

// Specify the config as part of creating the `ImagenModel` instance
final model = FirebaseVertexAI.instance.imagenModel(
  model: 'IMAGEN_MODEL_NAME',
  config: generationConfig,
);

// ...

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 określenie konkretnego schematu danych wyjściowych. 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).