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 opcji konfiguracji Gemini Przejdź do opcji konfiguracji Imagen



Konfigurowanie modeli Gemini

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

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

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 sekcji GenerationConfig podczas tworzenia instancji GenerativeModel.


import FirebaseAI

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

// 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` (example values shown here)
val config = generationConfig {
    maxOutputTokens = 200
    stopSequences = listOf("red")
    temperature = 0.9f
    topK = 16
    topP = 0.1f
}

// 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` (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 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` (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(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` (example values shown here)
final generationConfig = GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: ["red"],
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
);

// 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` (example values shown here)
var generationConfig = new GenerationConfig(
  maxOutputTokens: 200,
  stopSequences: new string[] { "red" },
  temperature: 0.9f,
  topK: 16,
  topP: 0.1f
);

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

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 Gemini Developer API dokumentacji.

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, w przypadku których typ danych wejściowych to plik audio.

false
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, że ma 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.

---
Temperatura
temperature
Określa stopień losowości odpowiedzi.
Niższe temperatury skutkują bardziej deterministycznymi odpowiedziami, a wyższe – bardziej różnorodnymi lub kreatywnymi.
Zależy od modelu
Top-K
topK
Ogranicza liczbę słów o największym prawdopodobieństwie używanych w wygenerowanych treściach.
Wartość Top-K równa 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 równa 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
Określa różnorodność wygenerowanych 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
Tryb odpowiedzi
responseModality

Określa typ strumieniowych danych wyjściowych podczas korzystania z Live API lub natywnych danych wyjściowych multimodalnych generowanych przez model Live API, np. tekst, dźwięk lub obrazy.Gemini

Ma zastosowanie tylko w przypadku korzystania z konfiguracji Live APILiveModel lub z modelu Gemini, który może generować dane wyjściowe w różnych formatach.

---
Mowa (głos)
speechConfig

Określa głos używany do strumieniowego wyjścia audio podczas korzystania z Live API.

Ma zastosowanie tylko w przypadku korzystania z konfiguracji Live APILiveModel.

Puck



Konfigurowanie modeli Imagen

Kliknij dostawcę Imagen API, 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 istnienia instancji. Jeśli chcesz użyć innej konfiguracji, utwórz nową instancję ImagenModel z tą konfiguracją.

Swift

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


import FirebaseAI

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

Korzystanie z Imagen nie jest jeszcze obsługiwane w przypadku Unity, ale zajrzyj tu za jakiś czas.

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 1 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ślny poziom kompresji to 75 (jeśli typ MIME to JPEG)
Znak wodny
addWatermark
Czy do wygenerowanych obrazów ma być dodawany niewidoczny cyfrowy znak wodny (zwany SynthID). w przypadku modeli Imagen 3 domyślna wartość to true.
Generowanie osób
personGeneration
czy model może generować wizerunki osób. wartość domyślna zależy od modelu



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 zadaniach klasyfikacyjnych (np. gdy chcesz, aby model używał określonych etykiet lub tagów).