W każdym wywołaniu modelu możesz wysłać konfigurację modelu, aby określić, jak model ma generować odpowiedź. Każdy model oferuje inne opcje konfiguracji.
Możesz też eksperymentować z promptami i konfiguracjami modeli w Google AI Studio.Przejdź do Gemini opcji konfiguracji Przejdź do Imagen opcji konfiguracji (Wycofane)
Konfigurowanie modeli Gemini
|
Kliknij dostawcę Gemini API, aby wyświetlić na tej stronie treści i kod specyficzne dla dostawcy. |
W tej sekcji dowiesz się, jak skonfigurować model do użycia z Gemini modelami, oraz znajdziesz opis każdego parametru.
Konfigurowanie modelu (Gemini)
Konfiguracja na potrzeby ogólnych Gemini 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
GenerationConfig
w ramach 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,
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
GenerationConfig
w ramach 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")
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
GenerationConfig
w ramach 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");
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
GenerationConfig
w ramach 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"],
temperature: 0.9,
topP: 0.1,
topK: 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
GenerationConfig
w ramach 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"],
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
GenerationConfig
w ramach 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" },
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 na potrzeby 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
Ustaw wartości parametrów w
liveGenerationConfig
podczas inicjowania instancji LiveModel:
// ...
// Set parameter values in a `LiveGenerationConfig` (example values shown here)
let config = LiveGenerationConfig(
temperature: 0.9,
topP: 0.1,
topK: 16,
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
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 liveModel = Firebase.ai(backend = GenerativeBackend.googleAI()).liveModel(
modelName = "GEMINI_LIVE_MODEL_NAME",
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.setResponseModality(ResponseModality.AUDIO);
configBuilder.setSpeechConfig(new SpeechConfig(Voices.FENRIR));
configBuilder.setTemperature(0.9f);
configBuilder.setTopK(16);
configBuilder.setTopP(0.1f);
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" },
},
},
temperature: 0.9,
topP: 0.1,
topK: 16,
};
// 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
w ramach 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'),
temperature: 0.9,
topP: 0.1,
topK: 16,
);
// 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
w ramach 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"),
temperature: 0.9f,
topK: 16,
topP: 0.1f
);
// 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)
Oto 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ękuaudioTimestamp
|
Wartość logiczna, która umożliwia rozpoznawanie sygnatur czasowych w plikach wejściowych zawierających tylko dźwięk. Ma zastosowanie tylko w przypadku używania |
false |
Liczba kandydatówcandidateCount
|
Określa liczbę wariantów odpowiedzi do zwrócenia. Za każde żądanie naliczana jest opłata za tokeny wyjściowe wszystkich kandydatów, ale opłata za tokeny wejściowe jest naliczana tylko raz. Obsługiwane wartości: Ma zastosowanie tylko w przypadku używania |
1 |
Kara za częstotliwośćfrequencyPenalty
|
Określa prawdopodobieństwo uwzględnienia tokenów, które wielokrotnie pojawiają się w
wygenerowanej odpowiedzi. Wartości dodatnie powodują karanie tokenów, które wielokrotnie pojawiają się w wygenerowanych treściach, co zmniejsza prawdopodobieństwo powtórzenia treści. |
--- |
Maksymalna liczba tokenów wyjściowychmaxOutputTokens
|
Określa maksymalną liczbę tokenów, które mogą zostać wygenerowane w odpowiedzi. | --- |
Kara za obecnośćpresencePenalty
|
Określa prawdopodobieństwo uwzględnienia tokenów, które już pojawiają się w
wygenerowanej odpowiedzi. Wartości dodatnie powodują karanie tokenów, które już pojawiają się w wygenerowanych treściach, co zwiększa prawdopodobieństwo wygenerowania bardziej różnorodnych treści. |
--- |
Sekwencje zatrzymaniastopSequences
|
Określa listę ciągów znaków, które informują model, aby przestał generować treści, jeśli w odpowiedzi zostanie napotkany jeden z tych ciągów. Ma zastosowanie tylko w przypadku używania konfiguracji
|
--- |
Temperaturatemperature
|
Określa stopień losowości w odpowiedzi. Niższe temperatury powodują bardziej deterministyczne odpowiedzi, a wyższe temperatury – bardziej różnorodne lub kreatywne. |
Zależy od modelu |
Top-KtopK
|
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
zostać wybrany spośród n najbardziej prawdopodobnych tokenów
(wszystko na podstawie ustawionej temperatury).
|
Zależy od modelu |
Top-PtopP
|
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 |
Modalność odpowiedziresponseModality
|
Określa typ strumieniowych danych wyjściowych podczas korzystania z Live API lub natywnych danych wyjściowych multimodalnych generowanych przez Gemini model, np. tekst, dźwięk lub obrazy. Ma zastosowanie tylko w przypadku używania modeli Live API, lub w przypadku używania modelu Gemini, który może generować dane wyjściowe multimodalne. |
--- |
Mowa (głos)speechConfig
|
Określa głos używany na potrzeby strumieniowych danych wyjściowych audio podczas korzystania z Live API. Ma zastosowanie tylko w przypadku używania modeli Live API. |
Puck |
Konfigurowanie modeli Imagen
|
Kliknij dostawcę Imagen API, aby wyświetlić na tej stronie treści i kod specyficzne dla dostawcy. |
W tej sekcji dowiesz się, jak skonfigurować model do użycia z Imagen modelami, oraz 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
ImagenGenerationConfig
w ramach 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
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
}
// 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
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
ImagenModelFutures model = ImagenModelFutures.from(
FirebaseAI.getInstance(GenerativeBackend.googleAI())
.imagenModel(
"IMAGEN_MODEL_NAME",
config
);
);
// ...
Web
Ustaw wartości parametrów w
ImagenGenerationConfig
w ramach 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
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
);
// 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
w ramach 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)
Oto 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 |
|---|---|---|
Prompt negatywny
negativePrompt
|
Opis tego, co chcesz pominąć w wygenerowanych obrazach.
Ten parametr nie jest jeszcze obsługiwany przez
|
--- |
Liczba wyników
numberOfImages
|
Liczba wygenerowanych obrazów zwracanych w odpowiedzi na każde żądanie. | Domyślnie jest to 1 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 jest ustawiony na JPEG). |
Znak wodny
addWatermark
|
Czy do wygenerowanych obrazów ma być dodawany niewidoczny cyfrowy znak wodny (SynthID). | Domyślnie jest to true.
|
Generowanie osób
personGeneration
|
Czy model ma mieć możliwość generowania obrazów osób. | Domyślna wartość zależy od modelu. |
Uwzględnij atrybuty bezpieczeństwa
includeSafetyAttributes
|
Czy w odpowiedziach na niefiltrowane dane wejściowe i wyjściowe mają być włączone zaokrąglone wyniki odpowiedzialnej AI dla listy atrybutów bezpieczeństwa
. Kategorie atrybutów bezpieczeństwa:
|
Domyślnie jest to false. |
Inne opcje kontrolowania generowania 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 zostanie poddany dalszym instrukcjom od użytkownika.
- Przekaż wraz z promptem schemat odpowiedzi, aby określić konkretny schemat danych wyjściowych. Ta funkcja jest najczęściej używana podczas generowania danych wyjściowych JSON, ale można jej też używać do zadań klasyfikacji (np. gdy chcesz, aby model używał określonych etykiet lub tagów).