Mit der Gemini API können Sie Multi-Turn-Unterhaltungen im Freiformat führen. Das Firebase AI Logic-SDK vereinfacht den Prozess, da es den Status der Unterhaltung verwaltet. Im Gegensatz zu generateContent() (oder generateContentStream()) müssen Sie den Unterhaltungsverlauf also nicht selbst speichern.
Zum Code für reinen Text-Chat springen Zum Code für iterative Bildbearbeitung springen Zum Code für gestreamte Antworten springen
Hinweis
|
Klicken Sie auf Ihren Gemini API-Anbieter, um anbieterspezifische Inhalte und Code auf dieser Seite aufzurufen. |
Falls noch nicht geschehen, folgen Sie dem Startleitfaden. Dort wird beschrieben, wie Sie Ihr Firebase-Projekt einrichten, Ihre App mit Firebase verbinden, das SDK hinzufügen, den Backend-Dienst für den ausgewählten Gemini API-Anbieter initialisieren und eine GenerativeModel-Instanz erstellen.
Zum Testen und Iterieren von Prompts empfehlen wir die Verwendung von Google AI Studio.
Hilfreiche Ressourcen ansehen
Swift
Kurzanleitung-App ausprobieren
Mit der Kurzanleitungs-App können Sie das SDK schnell ausprobieren und eine vollständige Implementierung verschiedener Anwendungsfälle sehen. Sie können auch die Schnellstart-App verwenden, wenn Sie keine eigene App für Apple-Plattformen haben. Dazu müssen Sie die App mit einem Firebase-Projekt verbinden.
Videoanleitung ansehen
In diesem Video wird gezeigt, wie Sie den Chat mit Firebase AI Logic implementieren, indem Sie eine KI-basierte App zur Essensplanung erstellen, mit der Nutzer mit einem Koch über Rezepte chatten können, die sie zubereiten möchten.
Sie können auch die Codebasis für die App im Video herunterladen und erkunden.
Codebasis für die App des Videos ansehen
Kotlin
Kurzanleitung-App ausprobieren
Mit der Kurzanleitungs-App können Sie das SDK schnell ausprobieren und eine vollständige Implementierung verschiedener Anwendungsfälle sehen. Wenn Sie keine eigene Android-App haben, können Sie die Schnellstart-App verwenden. Dazu müssen Sie sie mit einem Firebase-Projekt verbinden.
Java
Kurzanleitung-App ausprobieren
Mit der Kurzanleitungs-App können Sie das SDK schnell ausprobieren und eine vollständige Implementierung verschiedener Anwendungsfälle sehen. Wenn Sie keine eigene Android-App haben, können Sie die Schnellstart-App verwenden. Dazu müssen Sie sie mit einem Firebase-Projekt verbinden.
Web
Kurzanleitung-App ausprobieren
Mit der Kurzanleitungs-App können Sie das SDK schnell ausprobieren und eine vollständige Implementierung verschiedener Anwendungsfälle sehen. Wenn Sie keine eigene Web-App haben, können Sie die Schnellstart-App verwenden. Dazu müssen Sie sie mit einem Firebase-Projekt verbinden.
Videoanleitung ansehen
In diesem Video wird gezeigt, wie Sie den Chat mit Firebase AI Logic implementieren, indem Sie eine KI-basierte App zur Essensplanung erstellen, mit der Nutzer mit einem Koch über Rezepte chatten können, die sie zubereiten möchten.
Sie können auch die Codebasis für die App im Video herunterladen und erkunden.
Codebasis für die App des Videos ansehen
Dart
Kurzanleitung-App ausprobieren
Mit der Kurzanleitungs-App können Sie das SDK schnell ausprobieren und eine vollständige Implementierung verschiedener Anwendungsfälle sehen. Wenn Sie keine eigene Flutter-App haben, können Sie die Schnellstart-App verwenden. Dazu müssen Sie sie mit einem Firebase-Projekt verbinden.
Einheit
Kurzanleitung-App ausprobieren
Mit der Kurzanleitungs-App können Sie das SDK schnell ausprobieren und eine vollständige Implementierung verschiedener Anwendungsfälle sehen. Oder verwenden Sie die Schnellstart-App, wenn Sie kein eigenes Unity-Spiel haben. Wenn Sie die Schnellstart-App verwenden möchten, müssen Sie eine Verbindung zu einem Firebase-Projekt herstellen.
Nur-Text-Chat erstellen
|
Bevor Sie dieses Beispiel ausprobieren, müssen Sie den Abschnitt Vorbereitung in diesem Leitfaden durcharbeiten, um Ihr Projekt und Ihre App einzurichten. In diesem Abschnitt klicken Sie auch auf eine Schaltfläche für den von Ihnen ausgewählten Gemini API-Anbieter, damit auf dieser Seite anbieterspezifische Inhalte angezeigt werden. |
Wenn Sie eine Multi-Turn-Unterhaltung (z. B. einen Chat) erstellen möchten, initialisieren Sie den Chat zuerst mit dem Aufruf von startChat(). Verwenden Sie dann sendMessage(), um eine neue Nutzernachricht zu senden. Die Nachricht und die Antwort werden dann auch dem Chatverlauf hinzugefügt.
Es gibt zwei mögliche Optionen für role, die mit den Inhalten in einem Gespräch verknüpft sind:
user: die Rolle, die die Prompts bereitstellt. Dieser Wert ist der Standardwert für Aufrufe vonsendMessage(). Die Funktion löst eine Ausnahme aus, wenn eine andere Rolle übergeben wird.model: die Rolle, die die Antworten liefert. Diese Rolle kann verwendet werden, wennstartChat()mit vorhandenenhistoryaufgerufen wird.
Swift
Sie können startChat() und sendMessage() aufrufen, um eine neue Nutzernachricht zu senden:
import FirebaseAILogic
// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case.
let model = ai.generativeModel(modelName: "gemini-3.8-flash")
// Optionally specify existing chat history
let history = [
ModelContent(role: "user", parts: "Hello, I have 2 dogs in my house."),
ModelContent(role: "model", parts: "Great to meet you. What would you like to know?"),
]
// Initialize the chat with optional chat history
let chat = model.startChat(history: history)
// To generate text output, call sendMessage and pass in the message
let response = try await chat.sendMessage("How many paws are in my house?")
print(response.text ?? "No text in response.")
Kotlin
Sie können startChat() und sendMessage() aufrufen, um eine neue Nutzernachricht zu senden:
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-3.8-flash")
// Initialize the chat
val chat = model.startChat(
history = listOf(
content(role = "user") { text("Hello, I have 2 dogs in my house.") },
content(role = "model") { text("Great to meet you. What would you like to know?") }
)
)
val response = chat.sendMessage("How many paws are in my house?")
print(response.text)
Java
Sie können startChat() und sendMessage() aufrufen, um eine neue Nutzernachricht zu senden:
ListenableFuture zurück.
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-3.8-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
// (optional) Create previous chat history for context
Content.Builder userContentBuilder = new Content.Builder();
userContentBuilder.setRole("user");
userContentBuilder.addText("Hello, I have 2 dogs in my house.");
Content userContent = userContentBuilder.build();
Content.Builder modelContentBuilder = new Content.Builder();
modelContentBuilder.setRole("model");
modelContentBuilder.addText("Great to meet you. What would you like to know?");
Content modelContent = userContentBuilder.build();
List<Content> history = Arrays.asList(userContent, modelContent);
// Initialize the chat
ChatFutures chat = model.startChat(history);
// Create a new user message
Content.Builder messageBuilder = new Content.Builder();
messageBuilder.setRole("user");
messageBuilder.addText("How many paws are in my house?");
Content message = messageBuilder.build();
// Send the message
ListenableFuture<GenerateContentResponse> response = chat.sendMessage(message);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Web
Sie können startChat() und sendMessage() aufrufen, um eine neue Nutzernachricht zu senden:
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer): Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case.
const model = getGenerativeModel(ai, { model: "gemini-3.8-flash" });
async function run() {
const chat = model.startChat({
history: [
{
role: "user",
parts: [{ text: "Hello, I have 2 dogs in my house." }],
},
{
role: "model",
parts: [{ text: "Great to meet you. What would you like to know?" }],
},
],
generationConfig: {
maxOutputTokens: 100,
},
});
const msg = "How many paws are in my house?";
const result = await chat.sendMessage(msg);
const text = result.response.text();
console.log(text);
}
run();
Dart
Sie können startChat() und sendMessage() aufrufen, um eine neue Nutzernachricht zu senden:
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a model that supports your use case.
final model =
FirebaseAI.googleAI().generativeModel(model: 'gemini-3.8-flash');
// Initialize the chat with history
final chat = model.startChat(
history: [
Content.text('Hello, I have 2 dogs in my house.'),
Content.model([const TextPart('Great to meet you. What would you like to know?')]),
],
);
// Send a message to the chat
final response = await chat.sendMessage(Content.text('How many paws are in my house?'));
print(response.text);
Einheit
Sie können StartChat() und SendMessageAsync() aufrufen, um eine neue Nutzernachricht zu senden:
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case.
var model = ai.GetGenerativeModel(modelName: "gemini-3.8-flash");
// Optionally specify existing chat history
var history = new [] {
ModelContent.Text("Hello, I have 2 dogs in my house."),
new ModelContent("model", new ModelContent.TextPart("Great to meet you. What would you like to know?")),
};
// Initialize the chat with optional chat history
var chat = model.StartChat(history);
// To generate text output, call SendMessageAsync and pass in the message
var response = await chat.SendMessageAsync("How many paws are in my house?");
UnityEngine.Debug.Log(response.Text ?? "No text in response.");
Hier erfahren Sie, wie Sie ein Modell auswählen, der für Ihren Anwendungsfall und Ihre App geeignet ist.
Bilder mithilfe von Multi-Turn-Unterhaltungen bearbeiten und iterieren
|
Bevor Sie dieses Beispiel ausprobieren, müssen Sie den Abschnitt Vorbereitung in diesem Leitfaden durcharbeiten, um Ihr Projekt und Ihre App einzurichten. In diesem Abschnitt klicken Sie auch auf eine Schaltfläche für den von Ihnen ausgewählten Gemini API-Anbieter, damit auf dieser Seite anbieterspezifische Inhalte angezeigt werden. |
Mit Multi-Turn-Unterhaltungen können Sie die von einem Gemini-Bildmodell generierten oder von Ihnen bereitgestellten Bilder iterieren.
Erstellen Sie eine GenerativeModel-Instanz, fügen Sie die Antwortmodalität IMAGE in Ihre Modellkonfiguration ein und rufen Sie startChat() und sendMessage() auf, um neue Nutzernachrichten zu senden.
Swift
import FirebaseAILogic
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a Gemini model that supports image output.
let generativeModel = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
modelName: "gemini-3.1-flash-image",
// Configure the model to respond with images only.
generationConfig: GenerationConfig(responseModalities: [.image])
)
// Initialize the chat
let chat = model.startChat()
guard let image = UIImage(named: "scones") else { fatalError("Image file not found.") }
// Provide an initial text prompt instructing the model to edit the image
let prompt = "Edit this image to make it look like a cartoon"
// To generate an initial response, send a user message with the image and text prompt
let response = try await chat.sendMessage(image, prompt)
// Inspect the generated image
guard let inlineDataPart = response.inlineDataParts.first else {
fatalError("No image data in response.")
}
guard let uiImage = UIImage(data: inlineDataPart.data) else {
fatalError("Failed to convert data to UIImage.")
}
// Follow up requests do not need to specify the image again
let followUpResponse = try await chat.sendMessage("But make it old-school line drawing style")
// Inspect the edited image after the follow up request
guard let followUpInlineDataPart = followUpResponse.inlineDataParts.first else {
fatalError("No image data in response.")
}
guard let followUpUIImage = UIImage(data: followUpInlineDataPart.data) else {
fatalError("Failed to convert data to UIImage.")
}
Kotlin
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a Gemini model that supports image output.
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
modelName = "gemini-3.1-flash-image",
// Configure the model to respond with images only.
generationConfig = generationConfig {
responseModalities = listOf(ResponseModality.IMAGE) }
)
// Provide an image for the model to edit
val bitmap = BitmapFactory.decodeResource(context.resources, R.drawable.scones)
// Create the initial prompt instructing the model to edit the image
val prompt = content {
image(bitmap)
text("Edit this image to make it look like a cartoon")
}
// Initialize the chat
val chat = model.startChat()
// To generate an initial response, send a user message with the image and text prompt
var response = chat.sendMessage(prompt)
// Inspect the returned image
var generatedImageAsBitmap = response
.candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image
// Follow up requests do not need to specify the image again
response = chat.sendMessage("But make it old-school line drawing style")
generatedImageAsBitmap = response
.candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image
Java
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a Gemini model that supports image output.
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI()).generativeModel(
"gemini-3.1-flash-image",
// Configure the model to respond with images only.
new GenerationConfig.Builder()
.setResponseModalities(Arrays.asList(ResponseModality.IMAGE))
.build()
);
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
// Provide an image for the model to edit
Bitmap bitmap = BitmapFactory.decodeResource(resources, R.drawable.scones);
// Initialize the chat
ChatFutures chat = model.startChat();
// Create the initial prompt instructing the model to edit the image
Content prompt = new Content.Builder()
.setRole("user")
.addImage(bitmap)
.addText("Edit this image to make it look like a cartoon")
.build();
// To generate an initial response, send a user message with the image and text prompt
ListenableFuture<GenerateContentResponse> response = chat.sendMessage(prompt);
// Extract the image from the initial response
ListenableFuture<@Nullable Bitmap> initialRequest = Futures.transform(response, result -> {
for (Part part : result.getCandidates().get(0).getContent().getParts()) {
if (part instanceof ImagePart) {
ImagePart imagePart = (ImagePart) part;
return imagePart.getImage();
}
}
return null;
}, executor);
// Follow up requests do not need to specify the image again
ListenableFuture<GenerateContentResponse> modelResponseFuture = Futures.transformAsync(
initialRequest,
generatedImage -> {
Content followUpPrompt = new Content.Builder()
.addText("But make it old-school line drawing style")
.build();
return chat.sendMessage(followUpPrompt);
},
executor);
// Add a final callback to check the reworked image
Futures.addCallback(modelResponseFuture, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
for (Part part : result.getCandidates().get(0).getContent().getParts()) {
if (part instanceof ImagePart) {
ImagePart imagePart = (ImagePart) part;
Bitmap generatedImageAsBitmap = imagePart.getImage();
break;
}
}
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend, ResponseModality } from "firebase/ai";
// TODO(developer): Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service.
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, {
model: "gemini-3.1-flash-image",
// Configure the model to respond with images only.
generationConfig: {
responseModalities: [ResponseModality.IMAGE],
},
});
// Prepare an image for the model to edit
async function fileToGenerativePart(file) {
const base64EncodedDataPromise = new Promise((resolve) => {
const reader = new FileReader();
reader.onloadend = () => resolve(reader.result.split(',')[1]);
reader.readAsDataURL(file);
});
return {
inlineData: { data: await base64EncodedDataPromise, mimeType: file.type },
};
}
const fileInputEl = document.querySelector("input[type=file]");
const imagePart = await fileToGenerativePart(fileInputEl.files[0]);
// Provide an initial text prompt instructing the model to edit the image
const prompt = "Edit this image to make it look like a cartoon";
// Initialize the chat
const chat = model.startChat();
// To generate an initial response, send a user message with the image and text prompt
const result = await chat.sendMessage([prompt, imagePart]);
// Request and inspect the generated image
try {
const inlineDataParts = result.response.inlineDataParts();
if (inlineDataParts?.[0]) {
// Inspect the generated image
const image = inlineDataParts[0].inlineData;
console.log(image.mimeType, image.data);
}
} catch (err) {
console.error('Prompt or candidate was blocked:', err);
}
// Follow up requests do not need to specify the image again
const followUpResult = await chat.sendMessage("But make it old-school line drawing style");
// Request and inspect the returned image
try {
const followUpInlineDataParts = followUpResult.response.inlineDataParts();
if (followUpInlineDataParts?.[0]) {
// Inspect the generated image
const followUpImage = followUpInlineDataParts[0].inlineData;
console.log(followUpImage.mimeType, followUpImage.data);
}
} catch (err) {
console.error('Prompt or candidate was blocked:', err);
}
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a Gemini model that supports image output.
final model = FirebaseAI.googleAI().generativeModel(
model: 'gemini-3.1-flash-image',
// Configure the model to respond with images only.
generationConfig: GenerationConfig(responseModalities: [ResponseModalities.image]),
);
// Prepare an image for the model to edit
final image = await File('scones.jpg').readAsBytes();
final imagePart = InlineDataPart('image/jpeg', image);
// Provide an initial text prompt instructing the model to edit the image
final prompt = TextPart("Edit this image to make it look like a cartoon");
// Initialize the chat
final chat = model.startChat();
// To generate an initial response, send a user message with the image and text prompt
final response = await chat.sendMessage([
Content.multi([prompt,imagePart])
]);
// Inspect the returned image
if (response.inlineDataParts.isNotEmpty) {
final imageBytes = response.inlineDataParts[0].bytes;
// Process the image
} else {
// Handle the case where no images were generated
print('Error: No images were generated.');
}
// Follow up requests do not need to specify the image again
final followUpResponse = await chat.sendMessage([
Content.text("But make it old-school line drawing style")
]);
// Inspect the returned image
if (followUpResponse.inlineDataParts.isNotEmpty) {
final followUpImageBytes = response.inlineDataParts[0].bytes;
// Process the image
} else {
// Handle the case where no images were generated
print('Error: No images were generated.');
}
Einheit
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service.
// Create a `GenerativeModel` instance with a Gemini model that supports image output.
var model = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetGenerativeModel(
modelName: "gemini-3.1-flash-image",
// Configure the model to respond with images only.
generationConfig: new GenerationConfig(
responseModalities: new[] { ResponseModality.Image })
);
// Prepare an image for the model to edit
var imageFile = System.IO.File.ReadAllBytes(System.IO.Path.Combine(
UnityEngine.Application.streamingAssetsPath, "scones.jpg"));
var image = ModelContent.InlineData("image/jpeg", imageFile);
// Provide an initial text prompt instructing the model to edit the image
var prompt = ModelContent.Text("Edit this image to make it look like a cartoon.");
// Initialize the chat
var chat = model.StartChat();
// To generate an initial response, send a user message with the image and text prompt
var response = await chat.SendMessageAsync(new [] { prompt, image });
// Inspect the returned image
var imageParts = response.Candidates.First().Content.Parts
.OfType<ModelContent.InlineDataPart>()
.Where(part => part.MimeType == "image/png");
// Load the image into a Unity Texture2D object
UnityEngine.Texture2D texture2D = new(2, 2);
if (texture2D.LoadImage(imageParts.First().Data.ToArray())) {
// Do something with the image
}
// Follow up requests do not need to specify the image again
var followUpResponse = await chat.SendMessageAsync("But make it old-school line drawing style");
// Inspect the returned image
var followUpImageParts = followUpResponse.Candidates.First().Content.Parts
.OfType<ModelContent.InlineDataPart>()
.Where(part => part.MimeType == "image/png");
// Load the image into a Unity Texture2D object
UnityEngine.Texture2D followUpTexture2D = new(2, 2);
if (followUpTexture2D.LoadImage(followUpImageParts.First().Data.ToArray())) {
// Do something with the image
}
Antwort streamen
|
Bevor Sie dieses Beispiel ausprobieren, müssen Sie den Abschnitt Vorbereitung in diesem Leitfaden durcharbeiten, um Ihr Projekt und Ihre App einzurichten. In diesem Abschnitt klicken Sie auch auf eine Schaltfläche für den von Ihnen ausgewählten Gemini API-Anbieter, damit auf dieser Seite anbieterspezifische Inhalte angezeigt werden. |
Sie können schnellere Interaktionen erzielen, indem Sie nicht auf das gesamte Ergebnis der Modellgenerierung warten, sondern stattdessen Streaming verwenden, um Teilergebnisse zu verarbeiten.
Rufen Sie sendMessageStream() auf, um die Antwort zu streamen.
Was kannst du sonst noch tun?
- Tokens zählen, bevor Sie lange Prompts an das Modell senden.
- Cloud Storage for Firebase einrichten: So können Sie große Dateien in Ihre multimodalen Anfragen einfügen und haben eine besser verwaltete Lösung für die Bereitstellung von Dateien in Prompts. Dateien können Bilder, PDFs, Videos und Audioinhalte enthalten.
-
Beginnen Sie mit der Vorbereitung auf die Produktion (siehe Checkliste für die Produktion):
- Erzwingen Sie Firebase App Check so früh wie möglich,Gemini API vor Missbrauch durch nicht autorisierte Clients zu schützen.
- Verwenden Sie Firebase Remote Config oder Server-Promptvorlagen, damit Sie Konfigurationen für Ihr KI-Feature (z. B. Modellname) bei Bedarf ändern können, ohne eine neue Version Ihrer App zu veröffentlichen.
Andere Funktionen ausprobieren
- Text aus reinen Text-Prompts generieren.
- Sie können Text generieren lassen, indem Sie Prompts mit verschiedenen Dateitypen wie Bildern, PDFs, Videos und Audiodateien erstellen.
- Strukturierte Ausgaben (z. B. JSON) generieren – sowohl aus Text- als auch aus multimodalen Prompts.
- Bilder aus Text- und multimodalen Prompts generieren und bearbeiten
-
Verwenden Sie Tools wie Funktionsaufrufe und Fundierung mit
Google Search oderGoogle Maps , um ein Gemini-Modell mit anderen Teilen Ihrer App sowie mit externen Systemen und Informationen zu verbinden.
Informationen zum Steuern der Inhaltserstellung
- Informationen zum Prompt-Design, einschließlich Best Practices, Strategien und Beispiel-Prompts.
- Modellparameter konfigurieren, z. B. maximale Anzahl von Ausgabetokens oder Wahrscheinlichkeit von wiederholten Ausgabetokens.
- Mit den Sicherheitseinstellungen können Sie die Wahrscheinlichkeit anpassen, Antworten zu erhalten, die als schädlich eingestuft werden könnten.
Weitere Informationen zu den unterstützten Modellen
Verfügbare Modelle für verschiedene Anwendungsfälle, Kontingente und PreiseFeedback zu Firebase AI Logic geben