Używanie konfiguracji modelu do kontrolowania odpowiedzi

W każdym wywołaniu modelu możesz wysłać konfigurację modelu, aby określić, jak model ma generować odpowiedź. Każdy model oferuje różne opcje konfiguracji.

Możesz też eksperymentować z promptami i konfiguracjami modeli, korzystając z Google AI Studio.

Przejdź do Gemini opcji konfiguracji Przejdź do Imagen opcji konfiguracji (wycofane)



Konfigurowanie modeli Gemini

W tej sekcji dowiesz się, jak skonfigurować modele Gemini i znajdziesz opis każdego parametru.

Konfigurowanie modelu (Gemini)

.

Konfiguracja dla ogólnych przypadków użycia Gemini

Kliknij Gemini API dostawcę, aby wyświetlić na tej stronie treści i kod dostawcy.

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

Swift

Ustaw wartości parametrów w 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.
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.
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 GenerationConfig podczas tworzenia instancji GenerativeModel.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
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.
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.
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 GenerationConfig podczas tworzenia instancji GenerativeModel.


// ...

// Set parameter values in a `GenerationConfig`.
// IMPORTANT: Example values shown here. Make sure to update for your use case.
var generationConfig = new GenerationConfig(
  candidateCount: 1,
  maxOutputTokens: 200,
  stopSequences: new string[] { "red" }
);

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

Konfiguracja usługi Gemini Live API

Kliknij Gemini API dostawcę, aby wyświetlić na tej stronie treści i kod dostawcy.

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

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 sekcji 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.googleAI()).liveModel(
    modelName = "GEMINI_LIVE_MODEL_NAME",
    generationConfig = config
)

// ...

Java

Ustaw wartości parametrów w sekcji 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:


// ...

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 sekcji 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 sekcji 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.

Opis parametrów (Gemini)

Poniżej znajdziesz ogólny przegląd dostępnych parametrów. Pełną listę parametrów i ich wartości znajdziesz w dokumentacji wybranego Gemini API dostawcy:Gemini Developer API lub Vertex AI Gemini API.

Parametr Opis Wartość domyślna
Sygnatura czasowa 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 wejściowych to plik zawierający tylko dźwięk.

false
Liczba kandydatów
candidateCount

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: 18 (włącznie)

Ma zastosowanie tylko w przypadku korzystania z generateContent i najnowszych modeli Gemini.
Nie ma zastosowania w przypadku modeli generateContentStream lub Live API.

1
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.
---
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 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.
---
Sekwencje zatrzymania
stopSequences

Określa listę ciągów znaków, które informują model, aby przestał generować treści, jeśli w odpowiedzi pojawi się jeden z tych ciągów.

Ma zastosowanie tylko w przypadku korzystania z konfiguracji GenerativeModel.

---
Sposoby odpowiedzi
responseModalities

Określa typ danych wyjściowych (np. tekst, dźwięk lub obrazy).

Dotyczy tylko modeli Gemini graficznych (takich jak modele „Nano Banana”) lub modeli Live API.

---
Mowa (głos)
speechConfig

Określa głos używany na potrzeby wyjścia audio.

Dotyczy tylko modeli generujących dźwięk, takich jak modele Live API.

Puck
Charakterystyka obrazu
imageConfig

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 (takich jak modele „Nano Banana”).

Format obrazu 1:1 (kwadrat)
rozdzielczość 1024 x 1024



Konfigurowanie modeli Imagen

Kliknij Imagen API dostawcę, aby wyświetlić na tej stronie treści i kod dostawcy.

W tej sekcji dowiesz się, jak skonfigurować modele Imagen i znajdziesz opis każdego parametru.

Konfigurowanie modelu (Imagen)

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

Swift

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


import FirebaseAILogic

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

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).imagenModel(
  modelName: "IMAGEN_MODEL_NAME",
  generationConfig: config
)

// ...

Kotlin

Ustaw wartości parametrów w ImagenGenerationConfig podczas 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
}

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
    modelName = "IMAGEN_MODEL_NAME",
    generationConfig = config
)

// ...

Java

Ustaw wartości parametrów w ImagenGenerationConfig podczas 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
ImagenModelFutures model = ImagenModelFutures.from(
        FirebaseAI.getInstance(GenerativeBackend.googleAI())
                .imagenModel(
                    "IMAGEN_MODEL_NAME",
                    config
                );
);

// ...

Web

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


// ...

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// 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 model = getImagenModel(ai, { model: "IMAGEN_MODEL_NAME", generationConfig });

// ...

Dart

Ustaw wartości parametrów w sekcji ImagenGenerationConfig podczas 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
);

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
final model = FirebaseAI.googleAI().imagenModel(
  model: 'IMAGEN_MODEL_NAME',
  config: generationConfig,
);

// ...

Unity

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


using Firebase.AI;

// Set parameter values in a `ImagenGenerationConfig` (example values shown here)
var config = new ImagenGenerationConfig(
  numberOfImages: 2,
  aspectRatio: ImagenAspectRatio.Landscape16x9,
  imageFormat: ImagenImageFormat.Jpeg(100)
);

// Initialize the Gemini Developer API backend service
// Specify the config as part of creating the `ImagenModel` instance
var model = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetImagenModel(
  modelName: "imagen-4.0-generate-001",
  generationConfig: config
);

// ...

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

Opis parametrów (Imagen)

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

Parametr Opis Wartość domyślna
Negatywny prompt
negativePrompt
opis tego, co chcesz pominąć na wygenerowanych obrazach;

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

---
Liczba wyników
numberOfImages
Liczba wygenerowanych obrazów zwracanych w odpowiedzi na każde żądanie domyślnie jest to jeden obraz.
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ślny poziom kompresji to 75 (jeśli typ MIME to JPEG)
Znak wodny
addWatermark
czy do wygenerowanych obrazów dodawać niewidoczny cyfrowy znak wodny (zwany SynthID); wartość domyślna to true
Generowanie osób
personGeneration
Czy model może generować obrazy osób. domyślna zależy od modelu
Dołącz atrybuty dotyczące bezpieczeństwa
includeSafetyAttributes
Określa, czy w przypadku listy atrybutów bezpieczeństwa w odpowiedziach na niefiltrowane dane wejściowe i wyjściowe mają być włączone zaokrąglone wyniki odpowiedzialnej AI

Kategorie atrybutów bezpieczeństwa: "Death, Harm & Tragedy", "Firearms & Weapons", "Hate", "Health", "Illicit Drugs", "Politics", "Porn", "Religion & Belief", "Toxic", "Violence", "Vulgarity", "War & Conflict".

wartość domyślna to false



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 danych wyjściowych. 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).